Description
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.
- Slow start-up? opentelemetry-lambda#263 - issue summarizes the performance impact in Lambda
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 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 to an OTel JS repository (either contrib or non-contrib).
Additional context
- At first glance, while the intent of this solution is for Lambda+XRay specificly, the exporter seems generic. Should this be named as a
Lambda/XRay OTLP/UDP Exporter
or justOTLP/UDP Exporter
? - There is no specification for this OTLP/UDP Exporter
- Issue moved from non-contrib otel-js repo