Readiness
Trace & Observability Readiness
W3C trace-context propagation, correlation-id echo and log↔trace linkage across an API. A broken trace path — where some endpoints propagate context and some don't — leaves an un-debuggable hole in distributed traces.
Composite
Trace readiness
50/ 100 ready
Endpoints trace-ready0 / 4
With W3C traceparent0 / 4
Echo a correlation id0 / 4
Scenarios asserting trace0
Helper
Standard header set
One click declares the W3C Trace Context headers plus a correlation id as required headers on every gap endpoint of this API.
traceparenttracestatex-correlation-idPropagation
Endpoint × trace-signal matrix
4 endpoints
| Endpoint | traceparent | corr-id · req | corr-id · resp | Ready | |
|---|---|---|---|---|---|
POST/orders | |||||
GET/orders/{id} | |||||
PATCH/orders/{id} | |||||
POST/orders/{id}/fulfill |
Findings
Trace & observability findings
5 open
| Severity | Category | Finding | Remediation | Refs | |
|---|---|---|---|---|---|
| high | Trace | No trace-context header on request POST /orders accepts neither a W3C `traceparent` nor a correlation/request-id header. Calls to this endpoint cannot be stitched into a distributed trace — events here are orphaned from the wider flow. trace.context.missingPOST /orders | Declare a `traceparent` (W3C Trace Context) request header, or at minimum an `x-correlation-id`, as a required header on this endpoint. Use the one-click 'Add trace headers' helper on /trace-readiness. | #34, #49 | Fix |
| high | Trace | No trace-context header on request GET /orders/{id} accepts neither a W3C `traceparent` nor a correlation/request-id header. Calls to this endpoint cannot be stitched into a distributed trace — events here are orphaned from the wider flow. trace.context.missingGET /orders/{id} | Declare a `traceparent` (W3C Trace Context) request header, or at minimum an `x-correlation-id`, as a required header on this endpoint. Use the one-click 'Add trace headers' helper on /trace-readiness. | #34, #49 | Fix |
| high | Trace | No trace-context header on request PATCH /orders/{id} accepts neither a W3C `traceparent` nor a correlation/request-id header. Calls to this endpoint cannot be stitched into a distributed trace — events here are orphaned from the wider flow. trace.context.missingPATCH /orders/{id} | Declare a `traceparent` (W3C Trace Context) request header, or at minimum an `x-correlation-id`, as a required header on this endpoint. Use the one-click 'Add trace headers' helper on /trace-readiness. | #34, #49 | Fix |
| high | Trace | No trace-context header on request POST /orders/{id}/fulfill accepts neither a W3C `traceparent` nor a correlation/request-id header. Calls to this endpoint cannot be stitched into a distributed trace — events here are orphaned from the wider flow. trace.context.missingPOST /orders/{id}/fulfill | Declare a `traceparent` (W3C Trace Context) request header, or at minimum an `x-correlation-id`, as a required header on this endpoint. Use the one-click 'Add trace headers' helper on /trace-readiness. | #34, #49 | Fix |
| low | Trace | No scenario asserts trace headers This API has 2 scenario(s), but none set or assert a trace/correlation header. Observability isn't wired into the validation pipeline, so trace regressions ship undetected. trace.observability.no_scenario | Add a scenario that injects a `traceparent`/`x-correlation-id` header and asserts the id is echoed on the response, turning trace readiness into a pre-release gate. | #37 | Fix |
Why this matters
Observability provenance
Enterprise pain-points addressed
- #34 Trace context absence — endpoints that accept no
traceparentor correlation id can't be stitched into a flow. - #35 Inconsistent propagation — a partial path breaks the trace at the gap.
- #36 Log↔trace correlation — an id that's never echoed on responses can't join logs to the trace.
- #37 Observability in the pipeline — scenarios that assert trace headers turn readiness into a release gate.
- #49 Searchable traceability — runs carrying a trace id are searchable and actionable during incidents.