Docs, ticks, working app
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# 023 — Duration-type parameter
|
||||
|
||||
## Summary
|
||||
|
||||
Support a `Duration` parameter kind: its value is the time elapsed since the
|
||||
previous trigger of the *same* metric with the *same* labels/params, measured
|
||||
using whichever timestamp field the user has configured (ingestion time by
|
||||
default, or a param-derived timestamp).
|
||||
|
||||
## Scope
|
||||
|
||||
- New `MetricPrimitive`/param-kind variant for durations (e.g. milliseconds as an
|
||||
`i64`, consistent with how `Timestamp` is already stored).
|
||||
- Derivation rule: for a metric match with a given label set, look up that same
|
||||
label set's previous counter event ([022](022-metrics-counters-rethink.md)) and
|
||||
compute `this_event_time - previous_event_time` using the configured time
|
||||
source (ingestion timestamp, or a declared timestamp param per the README's
|
||||
"deriving a timestamp different from the ingested timestamp" note).
|
||||
- First occurrence of a given label set has no previous event — define and
|
||||
document the behavior (e.g. omit the duration value, or emit `null`/zero;
|
||||
omitting is likely correct so it doesn't pollute histograms with a bogus zero).
|
||||
- Expose duration values the same way other derived/counter data is queried
|
||||
(bucket lookup, PromQL, Metrics UI) so it composes with existing dashboards.
|
||||
|
||||
## Acceptance criteria
|
||||
|
||||
- Two log lines matching the same metric+labels, seconds apart, produce a
|
||||
duration value equal to that elapsed time on the second occurrence.
|
||||
- The first occurrence of a given label set produces no duration value (not a
|
||||
zero or garbage value).
|
||||
- Duration values are queryable via the same bucket/PromQL surface as other
|
||||
metric data.
|
||||
|
||||
## Depends on
|
||||
|
||||
- [022 — Metrics rethink](022-metrics-counters-rethink.md) (durations are computed
|
||||
between successive counter events of the same metric).
|
||||
Reference in New Issue
Block a user