in cmd/cni-metrics-helper/metrics/metrics.go [241:279]
func processMetric(family *dto.MetricFamily, convert metricsConvert, log logger.Logger) (bool, error) {
resetDetected := false
metricType := family.GetType()
for _, metric := range family.GetMetric() {
for _, act := range convert.actions {
if act.matchFunc(metric) {
switch metricType {
case dto.MetricType_GAUGE:
processGauge(metric, &act)
case dto.MetricType_HISTOGRAM:
processHistogram(metric, &act, log)
case dto.MetricType_COUNTER:
processCounter(metric, &act)
case dto.MetricType_SUMMARY:
processPercentile(metric, &act)
}
}
}
}
switch metricType {
case dto.MetricType_COUNTER:
curResetDetected := postProcessingCounter(convert, log)
if curResetDetected {
resetDetected = true
}
case dto.MetricType_GAUGE:
// no addition work needs for GAUGE
case dto.MetricType_SUMMARY:
// no addition work needs for PERCENTILE
case dto.MetricType_HISTOGRAM:
curResetDetected := postProcessingHistogram(convert, log)
if curResetDetected {
resetDetected = true
}
}
return resetDetected, nil
}