<mohammadrony>
stream_over_http_enabled: true
server:
  http_listen_port: 3200
  log_level: info

query_frontend:
  search:
    duration_slo: 5s
    throughput_bytes_slo: 1.073741824e+09
  trace_by_id:
    duration_slo: 5s

distributor:
  receivers: # this configuration will listen on all ports and protocols that tempo is capable of.
    # jaeger: # the receives all come from the OpenTelemetry collector.  more configuration information can
    #   protocols: # be found there: https://github.com/open-telemetry/opentelemetry-collector/tree/main/receiver
    #     thrift_http: #
    #     grpc: # for a production deployment you should only enable the receivers you need!
    #     thrift_binary:
    #     thrift_compact:
    # zipkin:
    otlp:
      protocols:
        http:
        grpc:
    opencensus:

# 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: 72h # 1h overall Tempo trace retention. set for demo purposes

metrics_generator:
  registry:
    external_labels:
      source: tempo
      cluster: docker-compose
  storage:
    path: /var/tempo/generator/wal
    remote_write:
      - url: http://prometheus:9090/api/v1/write
        send_exemplars: true
  traces_storage:
    path: /var/tempo/generator/traces

storage:
  trace:
    backend: local # backend configuration to use
    wal:
      path: /var/tempo/wal # where to store the wal locally
    local:
      path: /var/tempo/blocks

overrides:
  defaults:
    metrics_generator:
      processors: [service-graphs, span-metrics, local-blocks] # enables metrics generator
      generate_native_histograms: both