--- stream_over_http_enabled: true server: http_listen_port: 3200 log_level: "${TEMPO_SERVER_LOG_LEVEL}" query_frontend: search: duration_slo: 5s throughput_bytes_slo: 1.073741824e+09 trace_by_id: duration_slo: 5s # this configuration will listen on all ports and protocols that tempo is capable of. # the receives all come from the OpenTelemetry collector. more configuration information can # be found there: https://github.com/open-telemetry/opentelemetry-collector/tree/main/receiver # # for a production deployment you should only enable the receivers you need! distributor: receivers: otlp: protocols: http: endpoint: "0.0.0.0:4318" grpc: endpoint: "0.0.0.0:4317" ingester: max_block_duration: 5m # cut the headblock when this much time passes. this is being set for demo purposes and should probably be left alone normally compactor: compaction: block_retention: 1h # overall Tempo trace retention. set for demo purposes metrics_generator: registry: external_labels: source: tempo cluster: docker-compose storage: path: "${TEMPO_STORAGE_PATH}/generator/wal" remote_write: - url: http://${TEMPO_PROMETHEUS_URL}/api/v1/write send_exemplars: true storage: trace: backend: local # backend configuration to use wal: path: "${TEMPO_STORAGE_PATH}/wal" # where to store the the wal locally local: path: "${TEMPO_STORAGE_PATH}/blocks" overrides: defaults: metrics_generator: processors: [service-graphs, span-metrics] # enables metrics generator