Description
Describe the bug
We are using SQS and EventBridge to call services on AWS. However, when a service on lambda sends a message to another service on Lambda using SQS the spans are not connected. Trace on lambda becomes the parent.
Steps to reproduce
Run service 1 on lambda and send SQS message that is consumed by service 2.
What did you expect to see?
Service 1 should show up in the trace.
What did you see instead?
Only service 2 shows up
What version of collector/language SDK version did you use?
Version: latest collector and otel layers on lambda.
What language layer did you use?
Nodejs
Additional context
OTEL_PROPAGATORS are set to tracecontext,baggage,xray. Backend is Tempo.
Is there something I am missing?
I can see traceheader in the message attributes
"attributes": {
"ApproximateReceiveCount": "1",
"AWSTraceHeader": "Root=1-6808be41-c7d04735710d987017e5ec88;Parent=371ec507158784ee;Sampled=0;Lineage=240:e7ff9e16:238",
"SentTimestamp": "1745403457578",
"SenderId": "id",
"ApproximateFirstReceiveTimestamp": "1745403457579"
},
Is it because I need sqsExtractContextPropagationFromPayload enabled? How could I do that without creating my own custom instrumentation layer?