I use Jaeger as a tracing tool for microservices, such as my AI agent, which uses individual services.
docker-compose.yml
services: jaeger: image: jaegertracing/all-in-one:latest env_file: .env ports: - "4317:4317" # OLTP gRPC - "4318:4318" # OLTP HTTP - "5775:5775/udp" # Agent (Compact) - "6831:6831/udp" # Agent (Thrift UDP) - "6832:6832/udp" # Agent (Thrift UDP) - "5778:5778" # Config REST API - "16686:16686" # Query UI - "14268:14268" # Collector HTTP - "14250:14250" # GRPC - "9411:9411" # Zipkin volumes: - "./badger:/badger"
.env File
SPAN_STORAGE_TYPE=badger BADGER_EPHEMERAL=false BADGER_DIRECTORY_VALUE=/badger/data BADGER_DIRECTORY_KEY=/badger/key COLLECTOR_OTLP_ENABLED=true