public class StatisticsAccumulator extends Object
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.
Modifier and Type | Field and Description |
---|---|
protected double |
max |
protected double |
min |
protected String |
unit |
Constructor and Description |
---|
StatisticsAccumulator(String unit)
Construct the Statistics Accumulator by providing the unit as a String.
|
Modifier and Type | Method and Description |
---|---|
protected double |
computeAverage()
If users choose to custom format the stats.
|
protected double |
computeStandardDeviation()
We use a derived Standard Deviation formula to compute SD.
|
String |
getValue()
Computes the Standard Statistic Results based on the samples collected
so far and provides the complete value as a formatted String
|
void |
sample(double value)
User will use this method to just register a sample with the
StatisticsAccumulator.
|
String |
toString()
Users can extend StatisticsAccumulator to provide the complete
Stats in the format they prefer, if the default format doesn't suffice.
|
void |
unitTestValidate(String expectedUnit,
double expectedMin,
double expectedMax,
long expectedSampleCount,
double expectedAverage,
double expectedStandardDeviation)
This is an internal API to test StatisticsAccumulator...
|
protected double max
protected double min
protected String unit
public StatisticsAccumulator(String unit)
Construct the Statistics Accumulator by providing the unit as a String. The examples of units are "Hours", "Minutes", "Seconds", "MilliSeconds", "Micro Seconds" etc.,
unit
- a String representing the units for the samples collected
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.
value
- a double value to make it more precise
public String getValue()
public String toString()
protected double computeAverage()
protected double computeStandardDeviation()
public void unitTestValidate(String expectedUnit, double expectedMin, double expectedMax, long expectedSampleCount, double expectedAverage, double expectedStandardDeviation)
Copyright © 2017 JBoss by Red Hat. All rights reserved.