Counter Reset Segmenter
Segment a nonnegative sampled counter at decreases interpreted as reset candidates; resets and wraps cannot be distinguished from values alone.
Description
Segment a nonnegative sampled counter at decreases interpreted as reset candidates; resets and wraps cannot be distinguished from values alone.
A decrease in a cumulative counter can mark a restart or reset. Segmenting at those decreases preserves the original observations for later analysis.
When to use this tool
Segment a nonnegative sampled counter at decreases interpreted as reset candidates; resets and wraps cannot be distinguished from values alone.
- Prepare the supplied counts fields for this operation.
- Compare the complete example with the representation used by your own input before carrying the result into another step.
How to use the tool and how it works
- Enter counts. Use the exact text syntax, units and index conventions explained below.
- Run the tool. If input validation fails, correct the supplied fields before interpreting any result.
- Read result.segments, result.resetIndexes. Interpret false, null and empty lists using the distinctions below; they can be valid outputs.
Validate nonnegative integer counts and start a new segment whenever the next count is strictly smaller. Return half-open segments and resetIndexes identifying the first sample after each decrease.1
| Input field | Meaning and representation | Accepted input |
|---|---|---|
| counts | counts. | List of finite numbers; bounded by the operation |
| Output field | Interpretation |
|---|---|
| result | Object containing the named outputs below. |
| result.segments | The segments list in the ordering and representation described above. |
| result.resetIndexes | The reset indexes list in the ordering and representation described above. |
{
"input": {
"counts": [
1,
2,
0,
3
]
},
"output": {
"result": {
"segments": [
{
"start": 0,
"end": 2
},
{
"start": 2,
"end": 4
}
],
"resetIndexes": [
2
]
}
}
} Limitations and assumptions
- A decrease can also reflect wraparound or bad data. The tool labels candidate boundaries; it does not repair counts, infer reset values or accumulate corrected increments.
- Every declared top-level field is required and unexpected fields are rejected. Numeric inputs must be finite; ordinary text fields are bounded to 8,192 UTF-16 code units, with tighter operation-specific limits where stated.
- Ordinary string lists have at most 128 entries of at most 128 code units each; numeric lists and matrices have separate bounded size checks. Nonfinite results and excessively large serialized outputs are rejected.
- Indexes are zero-based and spans have an exclusive end unless explicitly stated otherwise. A valid false, null or empty-list result is distinct from malformed input.
Alternative or Complementary methods
Choose a sampling model before combining results. Earlier-sample hold, linear interpolation and index-only differences answer different questions; event cooldown, debounce and rolling limits also use different acceptance rules.
References
Similar or alternative tools
- Counter Wrap Increment Decoder
Decode modular sampled counter increments under explicit at-most-one-wrap/no-reset assumptions; hidden multiple wraps are not recoverable.
- Consecutive Threshold Streaks
Tabulate sampled consecutive threshold streaks with explicit at-or-above versus strictly-below convention; no between-sample duration inference.