[!NOTE]
All spans are in the same trace when the client has not sent a trace ID in the request.
Linked traces
When a client sends trace information, we can pick that up and use the trace context from there. Notice the traceparent send is the same one as what is received. The webhook is using the clients trace context from thereon.
[!NOTE]
Unfortunately trace ids cannot be updated on spans, so once we are able to extract the trace-id from the headers of a client request, we can only use it from that point forward.
But, we are able to add links to spans to make life easier.
Client makes a request, and injects the trace-id into headers.
A link appears on the span where the parent context was updated.
Clicking on the link will take you to the trace with the spans that existed before the trace-id was extracted from the headers.
This trace also has a span with a link back to the other.
Similarly in Jaeger
Definition of Done Checklist
Not all of these items are applicable to all PRs, the author should update this template to only leave the boxes in that are relevant
Please make sure all these things are done and tick the boxes
# Reviewer
- [x] Code contains useful comments
- [x] Documentation added or updated
- [x] Changelog updated
- [x] Cargo.toml only contains references to git tags (not specific commits or branches)
Description
Full chain
Linked traces
When a client sends trace information, we can pick that up and use the trace context from there. Notice the traceparent send is the same one as what is received. The webhook is using the clients trace context from thereon.
Client makes a request, and injects the trace-id into headers. A link appears on the span where the parent context was updated.
Clicking on the link will take you to the trace with the spans that existed before the trace-id was extracted from the headers.
This trace also has a span with a link back to the other.
Similarly in Jaeger
Definition of Done Checklist