Update EventCounter spec (#22852)
authorNoah Falk <noahfalk@users.noreply.github.com>
Wed, 27 Feb 2019 03:32:34 +0000 (19:32 -0800)
committerGitHub <noreply@github.com>
Wed, 27 Feb 2019 03:32:34 +0000 (19:32 -0800)
commit417f87ccaa75e45ece97835cb46fe7658ef86543
treeda0a262c9d78e14b0ca3f3b126b37f5abb2cc2fc
parent6b088eea28220094f2d0023165d30b5e676c20ef
Update EventCounter spec (#22852)

* Update EventCounter spec

We made a flurry of decisions in our meeting last wednesday.
Partly this fills in areas of the design we didn't adequately decide on and
partly this suggests a few changes after having had time to think on it.

1) My suggestion to use IntervalSec as an identifier for a series doesn't
work. I proposed a new field 'Series' that is used for that same purpose.

2) I am proposing we no longer standardize on the five-tuple of stats.
Although it made sense to me at the time, decisions we made later in the
meeting invalidated the basis for that choice IMO.

3) Aggregating seems like an overly generic name that all counters do, so
I propose 'Incrementing' as a more specific term.

4) I am proposing we stop accepting fractional time intervals because
probably nobody would have used them anyways and now we don't have to worry
about floating point rounding and canonicalization issues when determining
if two clients share the same time series or in round tripping the identifier
back to them.

5) I defined specific fields for 'DisplayName' and 'CounterType' in our
wire protocol. Although not opposed to a generic metadata field for other
purposes, it seemed unnecessary for our current purposes.

6) I switched Incrementing coutner to float, because it it
would be a shame if we had to make a whole new counter in the future
that did exactly the same thing just with floating point values. For example
'GC Seconds Paused'
Documentation/design-docs/event-counter.md