Today’s release of the AWS Distro for OpenTelemetry (ADOT) now brings support for Prometheus and AWS Lambda and adds AWS X-Ray support in Go and Python. The release also adds an OpenTelemetry Protocol (OTLP) HTTP exporter, an AWS EMF exporter, and an X-Ray exporter.

Prometheus support: Prometheus support includes an out-of-process remote write exporter for the recently announced AWS Managed Service for Prometheus (AMP). This exporter uses a push-based implementation that supports Cortex and other Prometheus protocol compliant frameworks. Prometheus receiver improvements and OTLP support for quantiles and summary metrics are also included.

OTLP HTTP and gRPC support: This release now comes with OTLP exporters supporting both HTTP and gRPC protocols handling traces, metrics, and logs. The OTLP gRPC exporter requires TLS authentication and provides queued retries support. The OTLP HTTP exporter supports both traces and metrics. Note that metrics and logs support is in alpha status upstream in the OpenTelemetry project and is considered work in progress.

Expanded language support: As part of this release, we have launched trace and metric support for two additional languages: Go and Python. Customers can use the open source OpenTelemetry APIs and SDKs to instrument their applications and send correlated metrics and traces to AWS monitoring solutions, including AWS X-Ray and Amazon CloudWatch.

Lambda support: Developers will be able to use the AWS Distro for OpenTelemetry to instrument their AWS Lambda functions. Python developers can build OpenTelemetry-compatible Lambda layers using CLI commands from the AWS Serverless Application Model (SAM). This layer also includes auto-instrumentation capabilities that automatically include dependent libraries, such as support for HTTP clients, the AWS SDK to invoke downstream services, and libraries to support calls made to MySQL, Redis, and others. Additionally, we automatically collect resource-specific information as part of the trace spans. This resource-specific metadata enables correlation of application performance data with underlying function performance metrics for better triaging and debugging. Metadata collected automatically includes function name, version, and resource ARN.

Predictable performance

The AWS Distro for OpenTelemetry distribution comes fully tested using an open source framework for integration, performance, and benchmark testing to ensure predictable resource utilization and performance. All components are also security tested to provide users the risk mitigation they expect from AWS products and services.

OpenTelemetry collaboration

AWS is proud to be a key contributor to the OpenTelemetry project fueling innovation and enhancing project infrastructure. All code we have developed for the ADOT distribution has been merged into the OpenTelemetry project. Recent contributions we are working on include C++ Logging API and SDK prototype implementation to drive the logging specification further, .NET X-Ray support, and CI/CD infrastructure improvements. As members of the OpenTelemetry community, we’ve been working closely with other industry collaborators on enhancing Prometheus support in OpenTelemetry, discussing dynamic sampling and participating in Lambda development.

We’re also working with partners such as Dynatrace, DataDog, Grafana, Honeycomb, LightStep, New Relic, Splunk, SumoLogic, and others to do performance and security testing of components in the AWS Distro for OpenTelemetry.

Download now

You can read about AWS Distro for OpenTelemetry on the AWS Open Source Blog, where we announced its availability for public preview back in October. Find extensive technical documentation at the ADOT developer site, and download the distribution releases from GitHub. We also welcome you to participate in the OpenTelemetry project.

Learn more