Skip to content

open-o11y/aws-otel-go

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AWS Distro for OpenTelemetry Go SDK

Introduction

This repo hosts documentation and sample apps for the ADOT Go library which provides the AWS service integrations for traces and metrics for the OpenTelemetry Go library. The library can be configured to support trace applications with the AWS X-Ray service.

Please note all source code for the Go library is upstream on the OpenTelemetry project in the OpenTelemetry Go library repo. All features of the OpenTelemetry library are available along with its components beinbg configured to create traces which can be viewed in the AWS X-Ray console and 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.

ADOT is in preview for Go metrics.

Getting Started

Check out the getting started documentation

Sample Application

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.

Useful Links

License

This project is licensed under the Apache-2.0 License.

Releases

No releases published

Packages

No packages published

Languages

  • Python 82.3%
  • Go 13.5%
  • Dockerfile 4.2%