in cmd/cni-metrics-helper/metrics/metrics.go [153:182]
func postProcessingCounter(convert metricsConvert, log logger.Logger) bool {
resetDetected := false
noPreviousDataPoint := true
noCurrentDataPoint := true
for _, action := range convert.actions {
currentTotal := action.data.curSingleDataPoint
// Only do delta if metric target did NOT restart
if action.data.curSingleDataPoint < action.data.lastSingleDataPoint {
resetDetected = true
} else {
action.data.curSingleDataPoint -= action.data.lastSingleDataPoint
}
if action.data.lastSingleDataPoint != 0 {
noPreviousDataPoint = false
}
if action.data.curSingleDataPoint != 0 {
noCurrentDataPoint = false
}
action.data.lastSingleDataPoint = currentTotal
}
if resetDetected || (noPreviousDataPoint && !noCurrentDataPoint) {
log.Debugf("Reset detected resetDetected: %v, noPreviousDataPoint: %v, noCurrentDataPoint: %v",
resetDetected, noPreviousDataPoint, noCurrentDataPoint)
}
return resetDetected || (noPreviousDataPoint && !noCurrentDataPoint)
}