All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.netflix.stats.distribution.package.html Maven / Gradle / Ivy

The newest version!


This package contains a number of classes that produce statistics about on-the-fly accumulated data. Their primary use-case is collecting information about the distribution of API call response times. There are a few variations, with differing capabilities and memory and run-time costs. These classes all implement the {@link com.netflix.stats.distribution.DataCollector} interface for adding new data, so that code that generates data need not know about the particular data collection implementation.

  • The {@link com.netflix.stats.distribution.Distribution} class is the lightest weight {@code DataCollector}. It reports basic information about the collected data, but gives no view into the shape of the distribution of that data. The reported information is updated and is available immediately.
  • The {@link com.netflix.stats.distribution.Histogram} class is slightly more expensive: It maintains counts of values in pre-defined ranges. This gives more information, but requires the user to have some idea of the proper ranges. Like the {@code Distribution}, reported information is updated and is available immediately.
  • The class {@link com.netflix.stats.distribution.DataDistribution} implements a double buffering scheme to support simultaneous accumulation of new data and analysis of the previous buffered data. This provides accurate percentile data without prior knowledge of the distribution of data, but requires more memory than the other collection types. Also, reports are generated when the buffers are swapped, and so are not immediately available. The class {@link com.netflix.stats.distribution.DataPublisher} manages a background task that periodically swaps the data buffers and publishes the now "previous" data into a {@link com.netflix.stats.distribution.DataDistribution} object.

These classes all implement MBean interfaces, and so can be viewed via JMX.





© 2015 - 2024 Weber Informatics LLC | Privacy Policy