AWS Distro for OpenTelemetry Go SDK (ADOT Go SDK) is a distribution of OpenTelemetry Go SDK, configured to trace applications in a format compatible with the AWS X-Ray service. This way, all the features of the OpenTelemetry project are available, but its components are configured to create traces which can be viewed in the AWS X-Ray console and are configured to allow propagation of those contexts across multiple downstream AWS services.
Once traces have been generated, they can be sent to a tracing service, like AWS X-Ray, to visualize and understand exactly what happened during the traced calls. For more information about the AWS X-Ray service, see the AWS X-Ray Developer Guide.
To send traces to AWS X-Ray, you can use the AWS Distro for OpenTelemetry (ADOT) Collector. OpenTelemetry Go exports traces from the application to the ADOT Collector. The ADOT Collector is configured with AWS credentials for the CLI, an AWS region, and which trace attributes to index so that it can send the traces to the AWS X-Ray console. Read more about the AWS X-Ray Tracing Exporter for OpenTelemetry Collector.
Check out the getting started documentation
See the example sample application for setup steps.
The OpenTelemetry Go SDK provides entry points for configuration through its API. This is can be used to configure the id_generator needed to support the X-Ray trace ID format. In addition, it also allows the use of a custom propagator, passed into the tracer provider, to generate and propagate the AWS X-Ray trace header.
- For more information on OpenTelemetry, visit their website
- OpenTelemetry Go core Repo
- OpenTelemetry Go Contrib Repo
- AWS Distro for OpenTelemetry
This project is licensed under the Apache-2.0 License.