org.apache.storm.metric.internal

## Class CountStatAndMetric

- java.lang.Object
- - org.apache.storm.metric.internal.CountStatAndMetric

- All Implemented Interfaces:
    IMetric

      public class CountStatAndMetric
      extends Object
      implements IMetric

  Acts as a Count Metric, but also keeps track of approximate counts for the last 10 mins, 3 hours, 1 day, and all time.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `CountStatAndMetric(int numBuckets)` Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()`
    `Map<String,Long>` | `getTimeCounts()` Get time counts.
    `Object` | `getValueAndReset()` Get value and reset.
    `void` | `incBy(long count)` Increase the count by the given value.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CountStatAndMetric

          public CountStatAndMetric(int numBuckets)

      Constructor.

      Parameters:
        `numBuckets` - the number of buckets to divide the time periods into.

  - ### Method Detail

    - #### incBy

          public void incBy(long count)

      Increase the count by the given value.

      Parameters:
        `count` - number to count

    - #### getValueAndReset

          public Object getValueAndReset()

      Description copied from interface: `IMetric`

      Get value and reset.

      Specified by:
        `getValueAndReset` in interface `IMetric`
      Returns:
        an object that will be sent sent to `IMetricsConsumer#handleDataPoints(org.apache.storm.metric.api.IMetricsConsumer .TaskInfo, java.util.Collection)`. If null is returned nothing will be sent. If this value can be reset, like with a counter, a side effect of calling this should be that the value is reset.

    - #### getTimeCounts

          public Map<String,Long> getTimeCounts()

      Get time counts.

      Returns:
        a map of time window to count. Keys are “600” for last 10 mins “10800” for the last 3 hours “86400” for the last day “:all-time” for all time

    - #### close

          public void close()

Copyright © 2019 The Apache Software Foundation. All rights reserved.