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
Is your feature request related to a problem? Please describe.
X-Ray users who want to use OTel in AWS Lambda are recommended to use the OTel Lambda Layers that packages both the OTel Collector and OTel SDK components to instrument a Lambda Function. However, using OTel on Lambda may incur performance impact, partially due to using OTel Collector.
The approach to reduce the performance impact in Lambda by OTel involves avoid running the Collector in Lambda. Lambda supports their own endpoint to receive OTLP/UDP spans and send them to AWS X-Ray. It is re-using the existing UDP endpoint from Lambda's AWS_XRAY_DAEMON_ADDRESS env var that is currently used by the X-Ray tracing SDKs. It exists as an alternative to the Collector's OTLP Receiver.
Today, AWS Observability's auto-instrumentation is leveraging a UDP Exporter to export traces to Lambda's UDP endpoint to send traces to AWS X-Ray. I want to add this UDP Exporter (Java, Python, JS, .NET) to the respective OTel repositories (likely the contrib one unless this UDP exporter could be part of the otel spec).
Additional context
There is currently no OTel specification for this OTLP/UDP Exporter
This UDP endpoint (provided by Lambda's AWS_XRAY_DAEMON_ADDRESS env var) is specific to vending to X-Ray. This means this performance impact mitigation solution is not compatible with the vendor-agnostic principal; the existing collector-in-Lambda solution is still needed to vend to non-XRay. I think AWS Lambda still needs a new solution from their end to mitigate performance in this scenario.
The text was updated successfully, but these errors were encountered:
To clarify, I'm currently working on adding this UDP Exporter to the language-contrib repos, but I wanted to know if opentelemetry-lambda is open to allow this UDP Exporter to configurable in the Lambda Layer (possibly through environment variable to use UDP Exporter here in Nodejs layer's wrapper.ts for example).
If it's listed as a standard exporter in the specification with a well defined config setting and has use beyond sending to just x-ray, I'd be open to considering it.
Is your feature request related to a problem? Please describe.
X-Ray users who want to use OTel in AWS Lambda are recommended to use the OTel Lambda Layers that packages both the OTel Collector and OTel SDK components to instrument a Lambda Function. However, using OTel on Lambda may incur performance impact, partially due to using OTel Collector.
Describe the solution you'd like
The approach to reduce the performance impact in Lambda by OTel involves avoid running the Collector in Lambda. Lambda supports their own endpoint to receive OTLP/UDP spans and send them to AWS X-Ray. It is re-using the existing UDP endpoint from Lambda's
AWS_XRAY_DAEMON_ADDRESS
env var that is currently used by the X-Ray tracing SDKs. It exists as an alternative to the Collector's OTLP Receiver.Today, AWS Observability's auto-instrumentation is leveraging a UDP Exporter to export traces to Lambda's UDP endpoint to send traces to AWS X-Ray. I want to add this UDP Exporter (Java, Python, JS, .NET) to the respective OTel repositories (likely the contrib one unless this UDP exporter could be part of the otel spec).
Additional context
AWS_XRAY_DAEMON_ADDRESS
env var) is specific to vending to X-Ray. This means this performance impact mitigation solution is not compatible with the vendor-agnostic principal; the existing collector-in-Lambda solution is still needed to vend to non-XRay. I think AWS Lambda still needs a new solution from their end to mitigate performance in this scenario.The text was updated successfully, but these errors were encountered: