This repository is based on Symfony's demo application and integrates opentelemetry-bundle.
To make things works with OpenTelemetry, this branch includes a Docker Composer file to configure and execute a functional OpenTelemetry environnement which includes:
- Tempo, to receive and store OpenTelemetry Traces
- Prometheus, to receive OpenTelemetry Metrics
- Loki, to receive OpenTelemetry Logs
- Grafana, to visualize everything with all data sources configured
Any issues regarding OpenTelemetry integration should be reported on the opentelemetry-bundle repository issues.
- Docker
Follow ReadMe to configure the application first.
The custom OpenTelemetry Collector is built automatically by Docker Compose using the manifest in otel-collector-builder.yaml. Launch all services with:
docker compose up -dDocker Compose will build the collector image on first run (or when the Dockerfile/manifest changes).
You can also build the collector binary outside of Docker using the OpenTelemetry Collector Builder (OCB) directly:
go install go.opentelemetry.io/collector/cmd/builder@v0.150.0
builder --config=otel-collector-builder.yamlAll services should be up and running. If not inspect logs of exited services.
Now you can browse any application pages and open Grafana (http://localhost:3000).
The default data sources is Tempo, so you should see traces by search any traces.
Here is a little video to show how it should look like: