Expand description
Kinesis Data Firehose HTTP Endpoint Delivery route for OTLP metrics (CloudWatch Metric
Streams)
Kinesis Data Firehose HTTP Endpoint Delivery route for telemetry-ingestion-srv.
Exposes POST /ingestion/otlp/v1/metrics/firehose so a CloudWatch Metric Stream can
push metrics into micromegas as Metric Stream → Firehose → micromegas, with no
Lambda, no Kinesis Data Stream, and no collector process in between. Firehose is a
dumb managed pipe: it wraps each delivered record (in OpenTelemetry 1.0.0 output mode,
one-or-more length-delimited OTLP ExportMetricsServiceRequest protobuf messages) in
a small JSON envelope and expects a fixed ack shape back.
Shared Firehose transport plumbing (auth, ack shape, request-id parsing) lives in
firehose_common — this module only knows about the metrics-specific decode/ingest
calls.
Once a record’s bytes are extracted from the envelope, handler::ingest_firehose_metrics
decodes each length-delimited message in turn, runs it through
micromegas_otel_ingestion::cloudwatch_metrics::rewrite_cloudwatch_metric_streams (a
CloudWatch-specific resource rewrite that partitions a matching degenerate resource into
one process per CloudWatch namespace — see that module’s docs), and reuses the existing
split/write logic per message.
Functions§
- firehose_
router - Builds the Firehose sub-router: route + service extension + optional Firehose-auth layer + shared ingestion body limits (gzip + 20 MiB wire / 300 MiB decompressed).