Skip to content

Collector ​

Existing OpenTelemetry Collector? Add our endpoint as an exporter and everything flowing through the Collector lands in Telemetry. Apps keep sending to the Collector as they do today.

A Collector is optional

Every OpenTelemetry SDK can send directly. A Collector fits when one already runs, or for sources outside OpenTelemetry, like StatsD.

Prerequisites

An OpenTelemetry Stream and an ingest key for that Stream. See OpenTelemetry → Prerequisites.

1. Add the exporter ​

One exporter carries traces, metrics and logs:

yaml
exporters:
  otlphttp/latency:
    endpoint: https://ws.latency.app/v1/ingest
    headers:
      authorization: Bearer ${env:LATENCY_KEY}

2. Add the exporter to the pipelines ​

yaml
service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp/latency]
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp/latency]
    logs:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp/latency]

Already exporting elsewhere? List both exporters in exporters and send to both during comparison.

3. Set the key and restart ​

bash
LATENCY_KEY=lit_XXXXXXXXXXX

The exporter compresses with gzip and retries 429 and 503 responses automatically.

StatsD metrics ​

Apps using a StatsD client can keep the client. The Collector's StatsD receiver (in the otelcol-contrib distribution) listens where the StatsD daemon did, totals up every interval, and forwards to Telemetry:

yaml
receivers:
  statsd:
    endpoint: localhost:8125
    aggregation_interval: 10s
    timer_histogram_mapping:
      - statsd_type: timing
        observer_type: histogram
      - statsd_type: histogram
        observer_type: histogram
      - statsd_type: distribution
        observer_type: histogram

service:
  pipelines:
    metrics:
      receivers: [statsd]
      processors: [batch]
      exporters: [otlphttp/latency]

Mapping timers to histogram keeps real percentiles.

Prometheus metrics ​

The Prometheus receiver (also in otelcol-contrib) scrapes /metrics endpoints with the same scrape_configs Prometheus uses:

yaml
receivers:
  prometheus:
    config:
      scrape_configs:
        - job_name: checkout-api
          scrape_interval: 15s
          static_configs:
            - targets: ['localhost:9464']

Add prometheus to the metrics pipeline's receivers.

© 2026 Latency Labs LLC