Class WavefrontHistogram

  • All Implemented Interfaces:
    com.yammer.metrics.core.Metric, com.yammer.metrics.core.Sampling, com.yammer.metrics.core.Summarizable

    public class WavefrontHistogram
    extends com.yammer.metrics.core.Histogram
    implements com.yammer.metrics.core.Metric
    Wavefront implementation of Histogram.
    Author:
    Tim Schmidt (tim@wavefront.com).
    • Method Detail

      • get

        public static WavefrontHistogram get​(com.yammer.metrics.core.MetricName metricName)
      • get

        public static WavefrontHistogram get​(com.yammer.metrics.core.MetricsRegistry registry,
                                             com.yammer.metrics.core.MetricName metricName)
      • get

        public static WavefrontHistogram get​(com.yammer.metrics.core.MetricsRegistry registry,
                                             com.yammer.metrics.core.MetricName metricName,
                                             int compression)
      • get

        public static WavefrontHistogram get​(com.yammer.metrics.core.MetricsRegistry registry,
                                             com.yammer.metrics.core.MetricName metricName,
                                             Supplier<Long> clock)
      • get

        public static WavefrontHistogram get​(com.yammer.metrics.core.MetricsRegistry registry,
                                             com.yammer.metrics.core.MetricName metricName,
                                             int accuracy,
                                             Supplier<Long> clock)
      • bins

        public List<WavefrontHistogram.MinuteBin> bins​(boolean clear)
        Aggregates all the bins prior to the current minute This is because threads might be updating the current minute bin while the bins() method is invoked
        Parameters:
        clear - if set to true, will clear the older bins
        Returns:
        returns aggregated collection of all the bins prior to the current minute
      • update

        public void update​(int value)
        Overrides:
        update in class com.yammer.metrics.core.Histogram
      • bulkUpdate

        public void bulkUpdate​(List<Double> means,
                               List<Integer> counts)
        Bulk-update this histogram with a set of centroids.
        Parameters:
        means - the centroid values
        counts - the centroid weights/sample counts
      • update

        public void update​(double value)
      • update

        public void update​(long value)
        Overrides:
        update in class com.yammer.metrics.core.Histogram
      • mean

        public double mean()
        Specified by:
        mean in interface com.yammer.metrics.core.Summarizable
        Overrides:
        mean in class com.yammer.metrics.core.Histogram
      • min

        public double min()
        Specified by:
        min in interface com.yammer.metrics.core.Summarizable
        Overrides:
        min in class com.yammer.metrics.core.Histogram
      • max

        public double max()
        Specified by:
        max in interface com.yammer.metrics.core.Summarizable
        Overrides:
        max in class com.yammer.metrics.core.Histogram
      • count

        public long count()
        Overrides:
        count in class com.yammer.metrics.core.Histogram
      • sum

        public double sum()
        Specified by:
        sum in interface com.yammer.metrics.core.Summarizable
        Overrides:
        sum in class com.yammer.metrics.core.Histogram
      • stdDev

        public double stdDev()
        Specified by:
        stdDev in interface com.yammer.metrics.core.Summarizable
        Overrides:
        stdDev in class com.yammer.metrics.core.Histogram
      • clear

        public void clear()
        Note - We override the behavior of the clear() method. In the super class, we would clear all the recorded values.
        Overrides:
        clear in class com.yammer.metrics.core.Histogram
      • getSnapshot

        public com.yammer.metrics.stats.Snapshot getSnapshot()
        Specified by:
        getSnapshot in interface com.yammer.metrics.core.Sampling
        Overrides:
        getSnapshot in class com.yammer.metrics.core.Histogram
      • processWith

        public <T> void processWith​(com.yammer.metrics.core.MetricProcessor<T> metricProcessor,
                                    com.yammer.metrics.core.MetricName metricName,
                                    T t)
                             throws Exception
        Specified by:
        processWith in interface com.yammer.metrics.core.Metric
        Overrides:
        processWith in class com.yammer.metrics.core.Histogram
        Throws:
        Exception