Skip to main content

Incremental mismatch anomaly

Reading time: 0 minute(s) (0 words)

The Incremental mismatch anomaly applies to ratio SLO objectives whose data count method is Incremental. Incremental metrics are expected to be cumulative, so each value should be greater than or equal to the preceding value between explicit resets.

How detection works

Nobl9 compares each value with the preceding value:

  • An increase or unchanged value is valid.
  • A decrease to zero is treated as an explicit counter reset and does not trigger the anomaly.
  • A decrease to a non-zero value triggers the anomaly immediately.
Non-zero counter decreaseA cumulative counter rises normally, then decreases from 120 to 115 without reaching zero.
130112.595Mismatch detected00:0000:0100:0200:0300:04
Incremental count

The default cooldown is one day. Another non-zero decrease while the anomaly is open restarts that cooldown. The anomaly resolves after the full cooldown passes without another violation.

Counter reset examples

ValuesResultReason
100, 120, 140No anomalyThe counter is monotonic
100, 120, 0, 5No anomalyZero makes the reset explicit
100, 120, 5, 10Anomaly at 5The reset occurred, but the zero point was not received
100, 120, 115Anomaly at 115A non-zero decrease violates incremental behavior
Reset ambiguity

If a data source resets a counter but Nobl9 does not receive the zero point, the next non-zero value is indistinguishable from a non-incremental decrease. Nobl9 reports it as an Incremental mismatch.

What to investigate

  1. Confirm that the source metric is cumulative and normally monotonic.
  2. Check whether a source restart or query gap omitted a zero-valued reset point.
  3. Verify that the SLO's data count method matches the metric behavior.
  4. If the metric can increase and decrease normally, create an SLO that uses the non-incremental count method. The count method cannot be changed on an existing SLO.

Use SLI Analyzer to compare count methods before creating the replacement SLO.

API access

Query Incremental mismatch anomalies with the Anomalies API and anomalyTypes: ["IncrementalViolation"]. Retrieve continuously detected annotations with the Annotations API and category=IncrementalMismatchAnomaly.