Class StatisticsAccumulator
- Author:
- Hemanth Puttaswamy
StatisticsAccumulator accumulates the samples provided by the user and computes the value of minimum, maximum, sum and sample square sum. When the StatisticMonitoredAttribute calls getValue(), it will compute all the statistics for the collected samples (Which are Minimum, Maximum, Average, StandardDeviation) and provides a nice printable record as a String. Users can easily extend this class and provide the implementation of toString() method to format the stats as desired. By default all the stats are printed in a single line.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionStatisticsAccumulator(String unit) Construct the Statistics Accumulator by providing the unit as a String. -
Method Summary
Modifier and TypeMethodDescriptionprotected doubleIf users choose to custom format the stats.protected doubleWe use a derived Standard Deviation formula to compute SD.getValue()Computes the Standard Statistic Results based on the samples collected so far and provides the complete value as a formatted Stringvoidsample(double value) User will use this method to just register a sample with the StatisticsAccumulator.toString()Users can extend StatisticsAccumulator to provide the complete Stats in the format they prefer, if the default format doesn't suffice.voidunitTestValidate(String expectedUnit, double expectedMin, double expectedMax, long expectedSampleCount, double expectedAverage, double expectedStandardDeviation) This is an internal API to test StatisticsAccumulator...
-
Field Details
-
max
protected double max -
min
protected double min -
unit
-
-
Constructor Details
-
StatisticsAccumulator
Construct the Statistics Accumulator by providing the unit as a String. The examples of units are "Hours", "Minutes", "Seconds", "MilliSeconds", "Micro Seconds" etc.,
- Parameters:
unit- a String representing the units for the samples collected
-
-
Method Details
-
sample
public void sample(double value) User will use this method to just register a sample with the StatisticsAccumulator. This is the only method that User will use to expose the statistics, internally the StatisticMonitoredAttribute will collect the information when requested from the ASAdmin.
- Parameters:
value- a double value to make it more precise
-
getValue
Computes the Standard Statistic Results based on the samples collected so far and provides the complete value as a formatted String -
toString
Users can extend StatisticsAccumulator to provide the complete Stats in the format they prefer, if the default format doesn't suffice. -
computeAverage
protected double computeAverage()If users choose to custom format the stats. -
computeStandardDeviation
protected double computeStandardDeviation()We use a derived Standard Deviation formula to compute SD. This way there is no need to hold on to all the samples provided. The method is protected to let users extend and format the results. -
unitTestValidate
public void unitTestValidate(String expectedUnit, double expectedMin, double expectedMax, long expectedSampleCount, double expectedAverage, double expectedStandardDeviation) This is an internal API to test StatisticsAccumulator...
-