Monedula
monedula-metrics-reporter docs menu

Self-monitoring metrics

The monedula_reporter_* metrics the reporter emits about its own exports and client telemetry queue, and what each one means.

Reference 1 of 2

2 min read

Updated 5 October 2026

Markdown

On this page

The reporter emits metrics about its own health in every export batch, next to the Kafka metrics and with the same resource labels. The names below are as they appear in Prometheus.

Export metrics

Emitted by every reporter instance, on brokers and clients.

Metric Type Meaning
monedula_reporter_export_success_total counter Successful OTLP exports since the reporter started.
monedula_reporter_export_failure_total counter Failed exports since the reporter started: timeouts, refused connections, mapping errors.
monedula_reporter_export_duration_ms gauge Wall-clock duration of the previous export tick, in milliseconds. Spikes point to a slow collector.

The values in a batch describe the exports before it: an export’s own success or failure is counted after it is sent, so it shows up in the next batch.

Client telemetry metrics

Emitted while KIP-714 client telemetry is enabled, otlp.metric.reporter.client.telemetry.enabled=true, which is the default.

Metric Type Meaning
monedula_reporter_clienttelemetry_received_total counter Client telemetry payloads accepted, one per push.
monedula_reporter_clienttelemetry_forwarded_total counter Payloads forwarded to the collector.
monedula_reporter_clienttelemetry_dropped_total counter Payloads dropped because the queue was full or the export failed.
monedula_reporter_clienttelemetry_unsupported_metrics_dropped_total counter Individual data points dropped because their OTLP type is not supported.
monedula_reporter_clienttelemetry_queue_depth gauge Current number of payloads in the inbound queue.

The received, forwarded and dropped counters count whole payloads. The unsupported counter counts single data points within a payload and does not mark the payload as dropped.

Counters, labels and filtering

The counters are cumulative and start again from zero when the broker or client restarts. The metrics carry the reporter’s resource labels: kafka_cluster_id and kafka_node_id, or kafka_broker_id, on a broker, and service_instance_id everywhere. Metric names and labels covers querying counters with rate() and setting a stable service_instance_id.

The reporter adds these metrics to every batch itself, so otlp.metric.reporter.allowed.metrics does not apply to them.

Example alert

rate(monedula_reporter_export_failure_total[5m]) > 0

Alert on broker health covers the complete example rules, including an alert for when these metrics stop arriving altogether.

Before 0.10.0

In 0.9.0, the duration metric reached Prometheus as monedula_reporter_export_duration_ms_milliseconds. Dashboards, recording rules and alerts built against that name need the documented name, monedula_reporter_export_duration_ms, after an upgrade.