Appearance
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_XXXXXXXXXXXThe 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.