receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317

processors:
  memory_limiter:
    check_interval: 1s
    limit_percentage: 80
    spike_limit_percentage: 25
  batch:
    timeout: 1s

connectors:
  spanmetrics:
    # RED metrics per service, span name, kind and status - plus these.
    # Every dimension multiplies the series count: never a user id or full URL.
    dimensions:
      - name: http.request.method
      - name: http.response.status_code
    histogram:
      explicit:
        buckets: [10ms, 50ms, 100ms, 250ms, 500ms, 1s, 2.5s]
    metrics_flush_interval: 15s

exporters:
  otlp/traces:
    endpoint: tempo.example.internal:4317
  prometheusremotewrite:
    endpoint: https://prometheus.example.internal/api/v1/write

service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [memory_limiter, batch]
      exporters: [otlp/traces, spanmetrics]
    metrics:
      receivers: [spanmetrics]
      processors: [batch]
      exporters: [prometheusremotewrite]
