public abstract class Statistics
extends java.lang.Object
getInstance()
will return a mock object whose methods don't do anything and therefore should not contribute
significantly to overall performance characteristics. If the system property is set, however, statistics will be
gathered and can obtained at the end of a test / measurement run by using methods on the result of
getInstance()
such as getAverage(String)
passing in any of the groupId
s
returned by getGroupIds()
. All individual records of a group can be obtained by getRecords(String)
.Modifier and Type | Class and Description |
---|---|
static class |
Statistics.Record |
Constructor and Description |
---|
Statistics() |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
asCSV() |
java.util.Map<java.lang.String,java.lang.String> |
asCSVMapByGroupId()
Keys are the group IDs, values are the CSV lists for the group whose ID is the entry's key
|
java.lang.String |
asSV(java.lang.String columnSeparator) |
java.util.Map<java.lang.String,java.lang.String> |
asSVMapByGroupId(java.lang.String columnSeparator) |
java.lang.String |
averageAsCVS() |
java.lang.String |
averageAsSV(java.lang.String columnSeparator) |
abstract void |
begin(java.lang.String groupId,
java.lang.Object key)
|
abstract void |
clear() |
abstract void |
end(java.lang.String groupId,
java.lang.Object key) |
double |
getAverage(java.lang.String groupId) |
abstract java.util.Set<java.lang.String> |
getGroupIds() |
static Statistics |
getInstance() |
abstract java.util.List<Statistics.Record> |
getRecords(java.lang.String groupId) |
abstract void |
record(java.lang.String groupId,
java.lang.Object key,
long value)
Records a single value (could be a time measured other than with
begin(String, Object) and
end(String, Object) , but could also be any other quantity over which later aggregation may
be performed. |
public static Statistics getInstance()
public abstract void begin(java.lang.String groupId, java.lang.Object key)
end(String, Object)
is called with equal groupId
and key
. Averages can be computed later for different keys with equal groupId
.public abstract void end(java.lang.String groupId, java.lang.Object key)
public abstract void record(java.lang.String groupId, java.lang.Object key, long value)
begin(String, Object)
and
end(String, Object)
, but could also be any other quantity over which later aggregation may
be performed.public abstract java.util.List<Statistics.Record> getRecords(java.lang.String groupId)
public abstract java.util.Set<java.lang.String> getGroupIds()
public abstract void clear()
public double getAverage(java.lang.String groupId)
public java.lang.String averageAsSV(java.lang.String columnSeparator)
public java.lang.String averageAsCVS()
public java.util.Map<java.lang.String,java.lang.String> asCSVMapByGroupId()
public java.util.Map<java.lang.String,java.lang.String> asSVMapByGroupId(java.lang.String columnSeparator)
public java.lang.String asSV(java.lang.String columnSeparator)
public java.lang.String asCSV()