# app → this Collector → grafana/otel-lgtm (which runs its own Collector, Tempo, Prometheus and Loki)
receivers:
  otlp:
    protocols:
      grpc: { endpoint: 0.0.0.0:4317 }
      http: { endpoint: 0.0.0.0:4318 }

processors:
  memory_limiter: { check_interval: 1s, limit_percentage: 80 }
  batch: {}
  attributes/redact:                         # defence in depth: never store prompt or response text
    actions:
      - { key: gen_ai.input.messages, action: delete }
      - { key: gen_ai.output.messages, action: delete }
      - { key: gen_ai.system_instructions, action: delete }

exporters:
  otlp/lgtm:
    endpoint: lgtm:4317
    tls: { insecure: true }

service:
  pipelines:
    traces:  { receivers: [otlp], processors: [memory_limiter, attributes/redact, batch], exporters: [otlp/lgtm] }
    metrics: { receivers: [otlp], processors: [memory_limiter, batch], exporters: [otlp/lgtm] }
    logs:    { receivers: [otlp], processors: [memory_limiter, batch], exporters: [otlp/lgtm] }
