Closed
Description
Problem statement:
Mis-match between transaction name set in DSC at beginning of trace and in transaction payloads later in trace. This is occurring at a high enough rate to indicate we cannot reliably sample based on trace.
Proposal:
Adjust the mutability of the DSC in an attempt to get a more accurate transaction name in the DSC of the overall trace, for sampling decisions to be more accurately reflect what users configure on product side.
To that end we would also like to gather metrics to further drive what types of changes, how often, and when they occur in the wild, so we can better determine when DSC should be "frozen"
Tasks:
Todo
In Progress
Done
- Experiment with metadata spec @AbhiPrasad draft: Add metadata around transaction name changes #5709
- Update transaction to record metadata around name changes feat(types): Add
TransactionNameChange
interface #5714 - Only record transaction name changes if data is different fix(tracing): Only record transaction name changes if data is different #5728
- Track name changes in transaction class ref(tracing): Record transaction name changes #5723
- Update tracing sdk to record propagations ref(tracing): Add propagations to tracing SDK #5719
- Update node sdk to record propagations ref(node): Add propagations to http integration #5720
- Update core event processing to record transaction name changes feat(core): Set custom transaction source for event processors #5722
- Update Relay to record new metadata measurements @jan-auer feat(protocol): Track transaction name changes relay#1466
- make DSC mutable (unfreeze) only in JS (@lforst) ref: Make dynamic sampling context mutable #5710
- Update
TransactionNameChange
interface to track prev source as per Relay changes ref(tracing): Use previous source when logging name changes #5733
Diagram for visual learners (courtesy of @jan-auer):
Metadata
Metadata
Assignees
Labels
No labels