- Docker Compose v2.0.0+
- 4 GB of RAM for the application
Get and run the demo
Clone the Demo repository:
git clone https://github.com/open-telemetry/opentelemetry-demo.git
Change to the demo folder:
Run docker compose1 to start the demo:
docker compose up --no-build
--no-buildflag is used to fetch released docker images from ghcr instead of building from source. Removing the
--no-buildcommand line option will rebuild all images from source. It may take more than 20 minutes to build if the flag is omitted.
- If you’re running on Apple Silicon, run
docker compose build1 in order to create local images vs. pulling them from the repository.
Verify the web store and Telemetry
Once the images are built and containers are started you can access:
- Web store: http://localhost:8080/
- Grafana: http://localhost:8080/grafana/
- Feature Flags UI: http://localhost:8080/feature/
- Load Generator UI: http://localhost:8080/loadgen/
- Jaeger UI: http://localhost:8080/jaeger/ui/
Bring your own backend
Likely you want to use the web store as a demo application for an observability backend you already have (e.g., an existing instance of Jaeger, Zipkin, or one of the vendor of your choice.
OpenTelemetry Collector can be used to export telemetry data to multiple backends. By default, the collector in the demo application will merge the configuration from two files:
To add your backend, open the file src/otelcollector/otelcol-config-extras.yml with an editor.
Start by adding a new exporter. For example, if your backend supports OTLP over HTTP, add the following:
exporters: otlphttp/example: endpoint: <your-endpoint-url>
Then add a new pipeline with your new exporter:
service: pipelines: traces: receivers: [otlp] processors: [batch] exporters: [otlphttp/example]
Vendor backends might require you to add additional parameters for authentication, please check their documentation. Some backends require different exporters, you may find them and their documentation available at opentelemetry-collector-contrib/exporter.
After updating the
otelcol-config-extras.yml, start the demo by running
docker compose up1. After a while, you should see the traces flowing into
your backend as well.