MetricExporter
interface MetricExporter
Receives aggregated metrics and delivers them to a backend. Implementing this one interface is enough for a new backend; aggregation, cardinality guarding, temporality, and scheduling are inherited.
Implementations must not throw - a telemetry failure must never surface inside a user's s3.getObject() call - and must not block indefinitely, since export runs on the reader's collection coroutine. The reader does no batching, so chunk against backend limits internally. export is never called concurrently with itself.
Install one exporter into one reader. An exporter that owns a transport closes it in shutdown, so a shared instance is silenced for the remaining readers as soon as the first one closes.