Closed
Description
Component(s)
processor/deltatocumulative
What happened?
I expected the deltatocumulative
to ignore gauge metrics, however it is filtering them.
This was previously a latent issue, but with #34979 it is now impacting functionality.
metrics.Filter(md, func(m metrics.Metric) bool {
var n int
switch m.Type() {
case pmetric.MetricTypeSum:
sum := m.Sum()
if sum.AggregationTemporality() == pmetric.AggregationTemporalityDelta {
err := streams.Apply(metrics.Sum(m), p.sums.aggr.Aggregate)
errs = errors.Join(errs, err)
sum.SetAggregationTemporality(pmetric.AggregationTemporalityCumulative)
}
n = sum.DataPoints().Len()
case pmetric.MetricTypeHistogram:
hist := m.Histogram()
if hist.AggregationTemporality() == pmetric.AggregationTemporalityDelta {
err := streams.Apply(metrics.Histogram(m), p.hist.aggr.Aggregate)
errs = errors.Join(errs, err)
hist.SetAggregationTemporality(pmetric.AggregationTemporalityCumulative)
}
n = hist.DataPoints().Len()
case pmetric.MetricTypeExponentialHistogram:
expo := m.ExponentialHistogram()
if expo.AggregationTemporality() == pmetric.AggregationTemporalityDelta {
err := streams.Apply(metrics.ExpHistogram(m), p.expo.aggr.Aggregate)
errs = errors.Join(errs, err)
expo.SetAggregationTemporality(pmetric.AggregationTemporalityCumulative)
}
n = expo.DataPoints().Len()
}
return n > 0
})
Collector version
v0.109.0