Skip to content

Evidence methods guide

Telemetry Counter Reset and Wraparound Review: Explain Every Drop Before Rate Math

Build a counter evidence table that distinguishes restart resets, numeric wraparound, overlapping writers, and missing samples.

A counter drop is an observation that needs a cause, not an automatic negative event. Prometheus describes a counter as a cumulative metric that increases or resets to zero on restart. OpenTelemetry uses start and end timestamps, temporality, and stream identity to reason about resets, gaps, and overlapping writers. Review the raw sequence, timestamp continuity, instrument width, writer identity, and collection status before calculating a rate or correcting a value.

Updated

On this page

Write the counter contract before inspecting drops

The source dates shown in this guide identify documentation checks on 22 October 2026, not original publication dates. Record metric name, unit, monotonic flag, aggregation temporality, expected writer identity, numeric width, and collection interval. A business total, process-local counter, and device register can all be called a count while having different reset and wrap rules. If the producer contract is unavailable, mark the cause unknown rather than inventing a restart policy.

Write the counter contract before inspecting drops (table)
FieldRecordWhy it matters
Metric identityName, resource, scope, attributesSeparates streams that look alike
TemporalityCumulative or deltaDefines what each value covers
Start timeExact field or unavailableCan reveal a new sequence
WriterProcess, device, or unknownOverlapping writers can mimic resets
WidthDeclared integer width or unknownWraparound depends on representation
CollectionExpected interval and loss notesA gap is not a zero

Do not infer a reset only from a lower value. First compare identity and timestamps. A changed resource label may be a new stream, while an unchanged label from two writers may create an overlap that looks like a reset.

Classify a drop with four competing explanations

Use a finding row for each decrease. A restart reset often has a new start time or a zero-like beginning, but the evidence may be unavailable. A wraparound occurs when a bounded representation returns to a low value after its maximum, and requires width and producer semantics. An overlap may show two writers or conflicting intervals. A lost sample can make a valid sequence appear to jump without exposing the cause.

Classify a drop with four competing explanations (table)
HypothesisEvidence to seekDo not claim
Restart resetNew process or start timestamp, low first valueEvery drop was a restart
WraparoundKnown width, maximum, and rollover conventionA low value proves rollover
OverlapWriter identity and interval intersectionDuplicate values are harmless
Lost dataGap in timestamps or collector statusInterpolated count is observed
Bad instrumentContract violation or impossible sequenceRate is meaningful without repair

The OpenTelemetry, (opens in a new tab) specification treats a gap, a reset, and overlapping writers as separate stream conditions. Preserve those categories even when the final dashboard groups them under one warning.

Calculate rates only after sequence boundaries are marked

For a cumulative counter, segment the series at each supported reset boundary. Within a segment, retain the original values and timestamps, then record the chosen rate window and handling for late or missing points. For a delta stream, record interval start and end and check for overlaps before summing. If a reset cause is unknown, publish the segment boundary and an uncertainty note rather than silently adding an offset.

  1. Sort by timestamp only after preserving the source order and sequence number.
  2. Group by the complete metric identity and expected writer.
  3. Mark decreases, timestamp gaps, overlaps, and missing start fields.
  4. Split the stream at supported reset boundaries.
  5. Compute a derived rate with its window, unit, and excluded intervals.
  6. Keep the raw sequence beside every derived value.

Use a synthetic sequence to test the worksheet

Synthetic counter findings

Use a synthetic sequence to test the worksheet code example, Plain text
stream=fixture.requests; width=8-bit; temporality=cumulative
time | value | writer | start | finding
00:00Z | 250 | A | 00:00Z | baseline
00:10Z | 254 | A | 00:00Z | increase
00:20Z | 2 | A | 00:20Z | reset-or-wrap
00:30Z | 5 | B | unknown | writer-change
00:40Z | 8 | A | 00:20Z | overlap-check
review: do not compute one continuous rate until each finding is resolved
Use a synthetic sequence to test the worksheet (table)
Fixture testExpected worksheet resultHold condition
Reset candidateNew start time recordedReset assumed from value only
Wrap candidateWidth and maximum requestedWidth missing
Writer changeA and B treated as separate identitiesLabels merged
OverlapIntervals compared before summingRows deduplicated silently
Missing pointGap flagged as unknown contributionGap filled as zero

This fixture is intentionally synthetic and has no operational meaning. Add a reset with no start timestamp, a delta interval that overlaps its predecessor, and a missing middle point. The worksheet should emit a stable finding class and a next evidence request for each case.

Keep telemetry findings separate from performance conclusions

Counter review can document sequence behavior and the limits of a derived rate. It cannot establish service performance, incident cause, device health, or fitness for a downstream use. Preserve the metric identity, raw points, stream boundaries, and collection notes so an owner can make those decisions with the right context.

Pair this guide with event ordering and replay review for sequence evidence and export timestamps and timezones for clock context. After a supported non-health scope, authority to describe the collection, and a controlled telemetry packet are established, the qualified appraisal request path may be a preparation step. It does not read metrics, repair counters, create a quote, match a buyer, or grant a license.

Takeaways

  • Define counter identity, temporality, width, writer, and timestamp fields first.
  • Treat reset, wraparound, overlap, loss, and instrument error as separate hypotheses.
  • Segment streams before deriving rates and keep corrections as new artifacts.
  • Use synthetic sequences to exercise unknown starts and missing samples.
  • Do not turn a lower value into a causal story without producer evidence.

Sources

  1. Prometheus: Metric types: Counter (opens in a new tab)
  2. OpenTelemetry: Metrics Data Model: Resets and Gaps (opens in a new tab)

Use the appraisal path after the telemetry evidence is organized.

It does not read metrics, repair counters, create a quote, match a buyer, or grant a license.