docs(logging): document request trace scopes

This commit is contained in:
Vincent Koc
2026-04-26 13:59:32 -07:00
parent 410783c126
commit 2194a8c64c
3 changed files with 12 additions and 0 deletions

View File

@@ -154,6 +154,10 @@ When any subkey is enabled, model and tool spans get bounded, redacted
`spanId`, `parentSpanId`, and `traceFlags` when the log call carries a valid
diagnostic trace context, which lets log processors join local log lines with
exported spans.
- **Request correlation:** Gateway HTTP requests and WebSocket frames create an
internal request trace scope. Logs and diagnostic events inside that scope
inherit the request trace by default, while agent run and model-call spans are
created as children so provider `traceparent` headers stay on the same trace.
## Exported metrics

View File

@@ -164,6 +164,13 @@ OpenClaw writes the trace fields as top-level JSON keys (`traceId`, `spanId`,
`parentSpanId`, `traceFlags`) so external log processors can correlate the line
with OTEL spans and provider `traceparent` propagation.
Gateway HTTP requests and Gateway WebSocket frames establish an internal request
trace scope. Logs and diagnostic events emitted inside that async scope inherit
the request trace when they do not pass an explicit trace context. Agent run and
model-call traces become children of the active request trace, so local logs,
diagnostic snapshots, OTEL spans, and trusted provider `traceparent` headers can
be joined by `traceId` without logging raw request or model content.
### Model call size and timing
Model-call diagnostics record bounded request/response measurements without