This repository contains example code and resources for configuring a variety of languages with OpenTelemetry. The directory structure for each language looks like this:
go
├── launcher - these applications are using the opentelemetry launcher, a config layer built
on top of opentelemetry
├── opentelemetry - these applications are configured and instrumented using opentelemetry
directly
└── opentracing - these applications are using the OpenTracing bridge available in
OpenTelemetry. The code is instrumented using OpenTracing.
All the applications in this repository can be launched using docker-compose. In order to send data to Lightstep, you can update the configuration using the steps below before starting docker-compose:
git clone https://github.com/lightstep/opentelemetry-examples && cd opentelemetry-examples
# copy the example environment variable file
# and update the access token
cp ./config/example.env .env
sed -i '' 's/<ACCESS TOKEN>/YOUR TOKEN HERE/' .env
# if using the AWS OpenTelemetry Distro, use `example-aws-collector-config.yaml`
cp ./config/example-collector-config.yaml ./config/collector-config.yaml
sed -i '' 's/<ACCESS TOKEN>/YOUR TOKEN HERE/' ./config/collector-config.yaml
docker-compose up
The following client/server applications use different mechanism for sending data to Lightstep. The following examples are configured in the docker-compose.yml
file:
name | description |
---|---|
go-opentracing | client/server example instrumented via lightstep-tracer-go |
go-opentelemetry | client/server example instrumented via OpenTelemetry and the OTLP exporter |
go-launcher | client/server example instrumented via OpenTelemetry and the Launcher for configuration |
py-collector | client/server example instrumented via OpenTelemetry and the OTLP exporter combined with the OpenTelemetry Collector |
py-opentelemetry | client/server example instrumented via OpenTelemetry and the OTLP exporter |
py-launcher | client/server example instrumented via OpenTelemetry and the Launcher for configuration |
js-lstrace | client/server example instrumented via ls-trace-js |
java | client/server example instrumented via special agent |
java-otlp | client/server example instrumented via OpenTelemetry and the OTLP exporter |
java-launcher | client/server example instrumented via OpenTelemetry and the Launcher for configuration |
js-ot-shim | client/server example instrumented via OpenTelemetry and JS Launcher with OpenTracing |