Trace and span fields
A root span starts a trace and has no parent. Child spans have the same trace
ID, their own span IDs, and a parent ID. Only these IDs connect operations.
Timestamps alone do not.
A request across services
- The web service starts a server span for the checkout route.
- A payment client creates a child span for its outbound HTTP request.
- The payment service continues the trace with its own server span.
- A database helper records a child span for the write.
- The app sends a safe error log inside the active payment span.
Propagate context
LogBrew SDKs use W3C trace context. For example, the Node.js SDK continues a valid incomingtraceparent header with a new request span. If the header is
missing or invalid, it starts a new root. Logs, issues, actions, and metrics
captured inside that request scope carry the request trace.
Outbound instrumentation writes a traceparent header only to the targets
that you configure, such as tracePropagationTargets. Send trace context only
to trusted, instrumented services. A trace ID correlates operations. It is not
authentication.
The SDKs do not record request or response bodies, query strings, arbitrary
headers, or the raw traceparent value in spans. Name spans after route
templates, not concrete URLs. For the integrations of your runtime, read the
SDK ingestion guide.
Read a trace
Use an exact trace ID from a log, an issue, or a trace list:Missing trace context
Not every event has a trace. Read the trace state:not_linked is not an error. Background work outside a request scope is often
not_linked. To find a missing relationship:
- Read the event’s project, service, environment, release, and time.
- Check that the work ran inside an instrumented request or operation.
- Check that the client and server integrations propagate context across that boundary.
- After you correct the instrumentation, capture a new event and read it.
Plan tracing for one project
Start with one important request or job, such as checkout. Instrument one boundary at a time:- Create a span for the incoming request or the background operation.
- Add child spans for important outbound calls.
- Continue W3C trace context across trusted service boundaries.
- Send a safe log inside the active span.
- Read that log, open its trace ID, and check the root, children, service, environment, release, status, and duration.
