Compute Metric Statistics
Computes statistics over incoming metrics across a fixed time interval and emits the results as new metrics. Matching metrics are held for the interval instead of passing through, then released with a suffix naming the statistic (for example system.cpu.utilization.avg). Use it to reduce metric throughput or to resample high-frequency, push-based sources. Operates on metrics only.
Supported Telemetry
✓
Configuration

Metrics
Interval
Integer
Yes
60
The duration, in seconds, over which the metric statistics are calculated. Computed metrics are emitted after each interval passes.
Include Pattern
String
Yes
.*
A regex pattern the metric's name must match to be considered for statistics computation. The default matches all metrics.
Statistics Type
Enum (multi-select): min, max, avg, first, last
No
["min", "max", "avg"]
The statistics to compute on matching metrics. Each selected statistic is emitted as a separate metric suffixed with the statistic name.
Matching metrics must be a gauge or a cumulative sum. Each computed result is emitted as a new metric named ${metric_name}.${statistic_type}, for example http.server.duration.max.
Examples
Compute average, minimum, and maximum
Reduce throughput by replacing each matching metric with its average, minimum, and maximum over a 60 second interval. The original metric is held during the interval and the computed metrics are emitted as <name>.avg, <name>.min, and <name>.max.
Keep only the most recent value of CPU metrics
Match metrics whose name starts with system.cpu and emit only the last value seen in each 60 second interval, suffixed with .last. This downsamples a noisy, high-frequency source to one point per interval.
Configuration Tips
Matching metrics are buffered for the full interval and do not pass through the pipeline until it expires. A longer interval reduces throughput more but increases the delay before computed metrics appear and the memory held during the window.
Memory use scales with the number of distinct matching metric series (unique name plus attribute combinations) buffered within an interval. A broad Include Pattern over a high-cardinality source holds more series in memory; narrow the pattern to bound it.
Only gauges and cumulative sums are aggregated. Other metric types that match the pattern are not affected.
Each selected statistic emits a separate metric, so selecting all five multiplies the emitted series count per matched metric.
Troubleshooting
No computed metrics are emitted
Symptoms: matching metrics disappear from the pipeline but no .min, .max, .avg, .first, or .last metrics appear downstream.
Solutions:
Confirm at least one full interval has elapsed. Computed metrics are emitted only after each interval passes, so nothing is released during the first interval.
Verify the Include Pattern matches the metric name and that the metric is a gauge or cumulative sum. Other types are not aggregated.
Original metrics are missing downstream
Symptoms: metrics that previously flowed through are no longer present in their raw form.
Solution: this is expected. Matching metrics are held and replaced by the computed statistics. If you need the raw metrics too, route them through a separate pipeline that does not include this processor, or narrow the Include Pattern so only the intended metrics are aggregated.
Computed metrics arrive late or in bursts
Symptoms: downstream sees metrics arriving only at interval boundaries.
Solution: this is inherent to interval aggregation. Lower the Interval value to emit more frequently at the cost of less reduction, or accept the batching if throughput reduction is the goal.
Standalone Processor
Related Resources
Last updated
Was this helpful?