# Bảng năng lực theo runtime

> Từng runtime gửi được gì tới Belvador: tự động, bạn phải gọi, hay không thể — và cái nào đã có test chứng minh.

Từng runtime gửi được gì tới Belvador, sinh từ cùng danh sách mà test SDK kiểm tra. **Tự động** không cần thêm code ngoài phần cài đặt; **Bạn gọi** cần một lệnh gọi hàm trong code; **Không thể** là không chạy được trên runtime đó. **Đã kiểm** nghĩa là một test trong repo Belvador chạy nó; **đã chạy thật** kèm ngày đã xác nhận trên ứng dụng thật của khách; **chưa kiểm** nghĩa là cùng giao thức nhưng chưa ai chạy thử ở đây.

## Lỗi và kết nối

| Runtime | Lỗi chưa bắt | Lỗi tự gửi | Kiểm kết nối | Đếm dữ liệu bị bỏ |
|---|---|---|---|---|
| Trình duyệt (`@belvador/browser`) | Tự động · đã kiểm | Bạn gọi · đã kiểm | Bạn gọi · đã kiểm | Tự động · đã kiểm |
| React (`@belvador/react`) | Tự động · đã kiểm | Bạn gọi · đã kiểm | — | — |
| TanStack Start — trình duyệt | Tự động · đã kiểm | — | — | — |
| TanStack Start — máy chủ | Tự động · đã kiểm | Bạn gọi · đã kiểm | Bạn gọi · đã chạy thật 2026-10-19 | — |
| Cloudflare Workers | Tự động · đã kiểm | Bạn gọi · đã kiểm | Bạn gọi · đã kiểm | — |
| Node.js (`@sentry/node`) | Tự động · đã kiểm trên node thật 2026-10-27 | Bạn gọi · đã kiểm | — | — |
| Bun (`@sentry/bun`) | Tự động · đã kiểm trên node thật 2026-10-27 | Bạn gọi · đã kiểm trên node thật 2026-10-27 | — | — |
| Supabase Edge Functions (`@sentry/deno`) | Bạn gọi · đã kiểm trên node thật 2026-10-27 | Bạn gọi · đã kiểm trên node thật 2026-10-27 | — | — |
| Python (`sentry-sdk`) | Tự động · đã kiểm trên node thật 2026-10-27 | Bạn gọi · đã kiểm | — | — |
| SDK Sentry khác (Go, PHP, Ruby, Java, .NET) | — | Bạn gọi · chưa kiểm, thử nghiệm | — | — |

## Việc chạy ngầm, trace, source map

| Runtime | Check-in monitor | Header trace | Source map |
|---|---|---|---|
| Trình duyệt (`@belvador/browser`) | Không thể | Bạn gọi · đã kiểm, thử nghiệm | Bạn gọi · đã kiểm |
| React (`@belvador/react`) | Không thể | — | — |
| TanStack Start — trình duyệt | — | Bạn gọi · đã kiểm, thử nghiệm | — |
| TanStack Start — máy chủ | Bạn gọi · đã kiểm | — | — |
| Cloudflare Workers | Bạn gọi · đã kiểm | Bạn gọi · đã kiểm | — |
| Node.js (`@sentry/node`) | Bạn gọi · đã kiểm | Bạn gọi · đã kiểm | — |
| Python (`sentry-sdk`) | Bạn gọi · đã kiểm | Bạn gọi · đã kiểm | — |
| Go (`sentry-go`) | — | Bạn gọi · đã kiểm | — |
| Java (`sentry-java`) | — | Bạn gọi · đã kiểm | — |
| HTTP (`curl`) | Bạn gọi · đã kiểm | — | — |
| SDK Sentry khác (Go, PHP, Ruby, Java, .NET) | Bạn gọi · chưa kiểm, thử nghiệm | — | — |

## Traces và logs (OpenTelemetry)

Các dòng này lấy từ bộ kiểm chứng của Belvador: chạy một app thật trên từng runtime với bản sao đầy đủ của đường dữ liệu trên máy, rồi đọc lại từng span và log; ngày và phiên bản là của lần chạy đạt gần nhất. **Gắn trace** nghĩa là log mang trace ID và span ID của request. Cách cài cho từng runtime: [OpenTelemetry](https://belvador.dev/vi/docs/otel/overview).

| Runtime | Traces | Logs | Đã kiểm với |
|---|---|---|---|
| [Node.js (OpenTelemetry, CJS + ESM)](https://belvador.dev/vi/docs/otel/node) | Tự động · đã kiểm | Tự động · đã kiểm · gắn trace | node 22.23.4, @opentelemetry/sdk-node 0.300.0, @opentelemetry/auto-instrumentations-node 0.82.0, pino 10.4.0 (2026-10-24) |
| [Python (OpenTelemetry)](https://belvador.dev/vi/docs/otel/python) | Tự động · đã kiểm | Tự động · đã kiểm · gắn trace | python 3.12.15, opentelemetry-distro 0.66b1, opentelemetry-sdk 1.45.1, flask 3.1.3 (2026-10-25) |
| [Go (OpenTelemetry)](https://belvador.dev/vi/docs/otel/go) | Bạn gọi · đã kiểm | Bạn gọi · đã kiểm · gắn trace | go 1.27.3, go.opentelemetry.io/otel v1.47.0, otelhttp v0.72.0, otelslog v0.21.0 (2026-10-24) |
| [Java (OpenTelemetry Java agent)](https://belvador.dev/vi/docs/otel/java) | Tự động · đã kiểm | Tự động · đã kiểm · gắn trace | java 21.0.12.1, opentelemetry-javaagent 2.32.0 (2026-10-24) |
| [Deno (OpenTelemetry tích hợp sẵn)](https://belvador.dev/vi/docs/otel/deno) | Tự động · đã kiểm · không gửi lại khi 429/503 | Tự động · đã kiểm · gắn trace · không gửi lại khi 429/503 | deno 2.6.10 (2026-10-24) |
| [OpenTelemetry Collector](https://belvador.dev/vi/docs/otel/collector) | Bạn gọi · đã kiểm | Bạn gọi · đã kiểm | otelcol-contrib 0.163.1, telemetrygen v0.163.0 (2026-10-27) |
| [Cloudflare Workers (xuất OTLP có sẵn)](https://belvador.dev/vi/docs/otel/cloudflare-workers) | Tự động · chưa kiểm, dự kiến | Tự động · chưa kiểm, dự kiến | — |
| [Vercel (Trace Drains)](https://belvador.dev/vi/docs/otel/nextjs-vercel) | Tự động · chưa kiểm, dự kiến | Không thể | — |
| [Supabase (log drain OTLP)](https://belvador.dev/vi/docs/otel/supabase-log-drains) | Không thể | Tự động · chưa kiểm, dự kiến | — |

## Ghi chú

- **Check-in monitor** không bao giờ đến từ trình duyệt: Belvador từ chối, nên tab bị đóng không bao giờ thành job hỏng. Hãy dùng máy chủ, worker hoặc [check-in qua HTTP](https://belvador.dev/vi/docs/monitors/http).
- **Header trace** trên trình duyệt đang thử nghiệm: chạy được, nhưng chỉ bật cho từng API sau khi kiểm cài đặt CORS — xem [Liên kết lỗi qua nhiều tầng](https://belvador.dev/vi/docs/sdk/tracing).
- **Đếm dữ liệu bị bỏ** là client report của SDK: bao nhiêu event bị bỏ và vì sao (giới hạn tốc độ, mất mạng, hàng đợi đầy). Chúng cấp dữ liệu cho tab Kết nối của project.
- **Source map** được tải lên từ CI, không do SDK gửi — xem [Source map](https://belvador.dev/vi/docs/source-maps).
- Các dòng chưa kiểm là cố gắng tốt nhất. Nếu một dòng không chạy, báo chúng tôi qua hello@belvador.dev.

Dữ liệu từng gói Belvador gửi — và những gì bị bỏ trước khi rời app — xem [Chọn SDK phù hợp](https://belvador.dev/vi/docs/sdk/overview).
