[x] Create trace from synthetics and passing it via traceparent header to configured backends, includes HTTP and Browser based monitors. Sampling decision is controlled from Synthetics trace.
[x] Annotate requests to APM in the Synthetics step waterfall.
[x] Ability to annotate requests coming from Synthetics in the APM via UA or tracestate header.
[x] Implement a behaviour where linking back from APM to Synthetics monitor + step trace would be seamless.
Might require individual trace.id for each steps in an journey as there can be N number of steps and each step could contain multiple APM backend calls.
These changes ensures we maintain full compatbility with the OTEL agents and does not require any modifications on the APM server.
Related issue - https://github.com/elastic/apm-dev/issues/1024
Proposal
traceparent
header to configured backends, includes HTTP and Browser based monitors. Sampling decision is controlled from Synthetics trace.tracestate
header.trace.id
for each steps in an journey as there can be N number of steps and each step could contain multiple APM backend calls.More details on the proposal can be seen in this thread - https://github.com/elastic/apm-dev/issues/1024#issuecomment-1670150114