Exporter
The output component of a telemetry pipeline that ships traces, metrics, or logs onward to a backend such as Tempo or an OTLP endpoint.
See it
What it is
An exporter is the output component that hands telemetry to its next destination. In OpenTelemetry, an OTLP exporter sends standard OTLP to a Collector or compatible backend, while backend-specific exporters translate data into the protocol that system expects. Exporters exist inside language SDKs and at the end of Collector pipelines. Confusingly, a Prometheus exporter (node_exporter, blackbox_exporter) is the opposite shape: a process that exposes a /metrics endpoint for Prometheus to scrape.
Reach for an OTLP exporter in application code to keep the app neutral, then do vendor-specific routing in the Collector. That gives one place to change endpoints, credentials, compression, retries, and fan-out without redeploying every service. An exporter moves data; it is not the database that stores or queries it.
Gotcha: telemetry delivery is not magically exactly once. A full queue, expired retry window, crash, or unreachable backend can lose data, while retries can produce duplicates. Monitor exporter failures and queue size, batch small records, use persistent queues where the loss matters, and make sure credentials never appear in the exported attributes themselves.
Ask AI for it
Add an otlphttp/tempo exporter to this OpenTelemetry Collector and send traces to http://tempo:4318 with gzip compression. Put the exporter in the service.pipelines.traces exporters list after a batch processor, enable retry_on_failure with bounded exponential backoff, and enable a persistent sending_queue backed by the file_storage extension. Expose the Collector's internal metrics, then alert on exporter send failures, queue capacity, and refused spans. Include a smoke test that emits one OTLP trace and verifies its trace ID can be queried from Grafana Tempo.