org.apache.storm.metric.internal

## Class MultiCountStatAndMetric<T>

- java.lang.Object
- - org.apache.storm.metric.internal.MultiCountStatAndMetric<T>

- All Implemented Interfaces:
    IMetric

      public class MultiCountStatAndMetric<T>
      extends Object
      implements IMetric

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

- - ### Constructor Summary

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

  - ### Method Summary

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

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

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

- - ### Constructor Detail

    - #### MultiCountStatAndMetric

          public MultiCountStatAndMetric(int numBuckets)

      Constructor.

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

  - ### Method Detail

    - #### incBy

          public void incBy(T key,
                            long count)

      Increase the count by the given value.

      Parameters:
        `count` - number to count

    - #### keyToString

          protected String keyToString(T key)

    - #### 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,Map<T,Long>> getTimeCounts()

    - #### close

          public void close()

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