This CL also adds IncrementableMetric#reset() methods to allow resetting the
value and start timestamp of IncrementableMetrics.
This is necessary because some backends, like Stackdriver, use non-monotonic
changes in cumulative metric values to detect timeseries restarts. Tracking and
re-setting the start timestamp allows users to track mostly monotonic metrics
which may have non-monotonic discontinuities.
See https://cloud.google.com/monitoring/api/ref_v3/rest/v3/TimeSeries#Point for
more details.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=130795229
This change enforces that IncrementableMetrics should only monotonically
increase in value, and adds a new increment() method to increment by one, which is slightly faster than incrementBy (due to a lack of non-negative checking) in the common case that the counter should only be incremented by one.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=130578421