You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As of now, there is no way to properly trace events that happens asynchronously in set of services that communicate using SQS messages. Every lambda invocation will create a new trace context (new trace id) for the SQS Event. If we have xray sampling enabled, that means that each hop in this set of services will have the probability of emitting a new trace or not emitting it. This creates a problem because you will not have the full path of events.
Customers could work around this limitation by using specific xray sampling rules for each hop in the chain of services, but this is not ideal and represents a mismatch with the behavior observed in synchronous http lambda invocations.
What did you expect to see?
We should provide alternatives for customers to use the parent context propagated in the message instead of creating a new trace context on every lambda invocation for an SQS Event.
The text was updated successfully, but these errors were encountered:
rapphil
changed the title
AWS Lambda spec does not provide mechanism for properly propagating context using SQS
AWS Lambda Semantic conventions spec does not provide mechanism for properly propagating context using SQS
Dec 7, 2022
Right now we don't have a good solution that is originated from the spec/standardized. In fact, there is also this upstream issue open-telemetry/semantic-conventions#1187
This issue is stale because it has been open 90 days with no activity. If you want to keep this issue open, please just leave a comment below and auto-close will be canceled
Describe the bug
There exists OTel semantic conventions that define how to represent information related to spans representing the processing of SQS events in AWS Lambda.
As of now, there is no way to properly trace events that happens asynchronously in set of services that communicate using SQS messages. Every lambda invocation will create a new trace context (new trace id) for the SQS Event. If we have xray sampling enabled, that means that each hop in this set of services will have the probability of emitting a new trace or not emitting it. This creates a problem because you will not have the full path of events.
Customers could work around this limitation by using specific xray sampling rules for each hop in the chain of services, but this is not ideal and represents a mismatch with the behavior observed in synchronous http lambda invocations.
What did you expect to see?
We should provide alternatives for customers to use the parent context propagated in the message instead of creating a new trace context on every lambda invocation for an SQS Event.
Additional context
The text was updated successfully, but these errors were encountered: