# Traces và logs cho app TanStack Start

> Theo nơi app chạy: máy chủ Node.js của bạn, tài khoản Cloudflare của bạn, hoặc hosting của Lovable.

Traces và logs cài thế nào tuỳ vào nơi app TanStack Start của bạn chạy. Lỗi thì chạy ở mọi nơi với [`@belvador/tanstack-start`](https://belvador.dev/vi/docs/sdk/tanstack-start).

| Nơi chạy | Traces và logs |
|---|---|
| Máy chủ Node.js của bạn (`node .output/server/index.mjs` hoặc tương tự) | [Công thức Node.js](https://belvador.dev/vi/docs/otel/node) |
| Tài khoản Cloudflare của bạn | [Xuất có sẵn của Cloudflare](https://belvador.dev/vi/docs/otel/cloudflare-workers) |
| Hosting của Lovable | Chưa có — xem bên dưới |

## Trên máy chủ Node.js của bạn

Server đã build là ES module, nên dùng dòng khởi động cho ES modules — cả loader hook lẫn file register:

```bash
export OTEL_SEMCONV_STABILITY_OPT_IN=http
export OTEL_NODE_RESOURCE_DETECTORS=env,host,os
node --experimental-loader=@opentelemetry/instrumentation/hook.mjs --import @opentelemetry/auto-instrumentations-node/register app.mjs
```

Thay `app.mjs` bằng file vào của server. Auto-instrumentations tạo một span server cho mỗi request và span client cho lệnh `fetch` và truy vấn cơ sở dữ liệu đi ra; server function hiện là request tới URL `/_serverFn/…` của nó, không phải span có tên riêng. Muốn có span đặt tên quanh code của bạn, dùng `@opentelemetry/api` (`tracer.startActiveSpan`).

Truyền cùng API đó cho tuỳ chọn `otel` của SDK Belvador để lỗi phía máy chủ mang ID của span đang chạy — xem [Liên kết request](https://belvador.dev/vi/docs/sdk/tracing#khi-da-dung-opentelemetry).

## Trên tài khoản Cloudflare của bạn

Thêm hai đích và khối `observability` ở trang [Cloudflare Workers](https://belvador.dev/vi/docs/otel/cloudflare-workers) vào `wrangler.jsonc` của app. Khi đó Cloudflare trace mọi request, lệnh `fetch` và lệnh gọi binding mà không cần code.

## Trên hosting của Lovable

Lovable xuất bản app của bạn lên Cloudflare bằng tài khoản của Lovable, nên bạn không thêm được đích xuất của Cloudflare, và không khởi động được SDK Node.js trong Worker. Hãy dùng SDK Belvador cho lỗi và [header trace](https://belvador.dev/vi/docs/sdk/tracing) của nó để liên kết lỗi trình duyệt với lỗi máy chủ. Có thư viện cộng đồng chạy OpenTelemetry ngay trong Worker, nhưng Belvador chưa kiểm thư viện nào.

## Trạng thái

Dòng khởi động Node.js là công thức Node.js đã chứng nhận; Belvador chưa chạy riêng trên một bản build TanStack Start. Cách qua Cloudflare làm theo tài liệu của Cloudflare và chưa kiểm.
