Skip to content

Distributed traces across AWS services are not connected #1787

Open
@gkaskonas

Description

@gkaskonas

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?

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions