fix monotonic counter implementations #100
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change is a companion to the fix for monotonic counter implementations in spectatord.
Netflix-Skunkworks/spectatord#90
The original monotonic counter (
C
) was always intended to be used for the case where a monotonic data source needs to be transformed into base units for recording data. For example, transforming nanoseconds into seconds. This requires division, which results in floats.There is a valid use case for handling uints in monotonic counters, if the data source is already in a base unit, such as bytes. Thus, a new meter type
U
is added to spectatord which supports this use case.