public interface StatisticsTypeFactory
StatisticDescriptor and StatisticsType.
Every StatisticsFactory is also a type factory.
A StatisticsTypeFactory can create a statistic of three numeric types:
int, long, and double. A
statistic (StatisticDescriptor) can either be a
gauge meaning that its value can increase and decrease or a
counter meaning that its value is strictly increasing.
Marking a statistic as a counter allows statistic display tools
to properly display a statistics whose value "wraps around" (that
is, exceeds its maximum value).
The following code is an example of how to create a type using XML. In this example the type has two stats whose values always increase:
StatisticsTypeFactory f = ...;
StatisticsType t = f.createType(
"StatSampler",
"Stats on the statistic sampler.",
new StatisticDescriptor[] {
f.createIntCounter("sampleCount",
"Total number of samples taken by this sampler.",
"samples"),
f.createLongCounter("sampleTime",
"Total amount of time spent taking samples.",
"milliseconds"),
}
);
The following is an example of how to create the same type using XML. The XML data:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE statistics PUBLIC
"-//GemStone Systems, Inc.//GemFire Statistics Type//EN"
"http://www.gemstone.com/dtd/statisticsType.dtd">
<statistics>
<type name="StatSampler">
<description>Stats on the statistic sampler.</description>
<stat name="sampleCount" storage="int" counter="true">
<description>Total number of samples taken by this sampler.</description>
<unit>samples</unit>
</stat>
<stat name="sampleTime" storage="long" counter="true">
<description>Total amount of time spent taking samples.</description>
<unit>milliseconds</unit>
</stat>
</type>
</statistics>
The code to create the type:
StatisticsTypeFactory f = ...;
Reader r = new InputStreamReader("fileContainingXmlData"));
StatisticsType type = f.createTypesFromXml(r)[0];
| Modifier and Type | Field and Description |
|---|---|
static int |
MAX_DESCRIPTORS_PER_TYPE
The maximum number of descriptors a single statistics type can have.
|
| Modifier and Type | Method and Description |
|---|---|
StatisticDescriptor |
createDoubleCounter(java.lang.String name,
java.lang.String description,
java.lang.String units)
Creates and returns a double counter
StatisticDescriptor with the given name, description, units,
and with larger values indicating better performance. |
StatisticDescriptor |
createDoubleCounter(java.lang.String name,
java.lang.String description,
java.lang.String units,
boolean largerBetter)
Creates and returns a double counter
StatisticDescriptor with the given name, description, largerBetter, and units. |
StatisticDescriptor |
createDoubleGauge(java.lang.String name,
java.lang.String description,
java.lang.String units)
Creates and returns a double gauge
StatisticDescriptor with the given name, description, units,
and with smaller values indicating better performance. |
StatisticDescriptor |
createDoubleGauge(java.lang.String name,
java.lang.String description,
java.lang.String units,
boolean largerBetter)
Creates and returns a double gauge
StatisticDescriptor with the given name, description, largerBetter, and units. |
StatisticDescriptor |
createIntCounter(java.lang.String name,
java.lang.String description,
java.lang.String units)
Creates and returns an int counter
StatisticDescriptor with the given name, description, units,
and with larger values indicating better performance. |
StatisticDescriptor |
createIntCounter(java.lang.String name,
java.lang.String description,
java.lang.String units,
boolean largerBetter)
Creates and returns an int counter
StatisticDescriptor with the given name, description, largerBetter, and units. |
StatisticDescriptor |
createIntGauge(java.lang.String name,
java.lang.String description,
java.lang.String units)
Creates and returns an int gauge
StatisticDescriptor with the given name, description, units,
and with smaller values indicating better performance. |
StatisticDescriptor |
createIntGauge(java.lang.String name,
java.lang.String description,
java.lang.String units,
boolean largerBetter)
Creates and returns an int gauge
StatisticDescriptor with the given name, description, largerBetter, and units. |
StatisticDescriptor |
createLongCounter(java.lang.String name,
java.lang.String description,
java.lang.String units)
Creates and returns a long counter
StatisticDescriptor with the given name, description, units,
and with larger values indicating better performance. |
StatisticDescriptor |
createLongCounter(java.lang.String name,
java.lang.String description,
java.lang.String units,
boolean largerBetter)
Creates and returns a long counter
StatisticDescriptor with the given name, description, largerBetter, and units. |
StatisticDescriptor |
createLongGauge(java.lang.String name,
java.lang.String description,
java.lang.String units)
Creates and returns a long gauge
StatisticDescriptor with the given name, description, units,
and with smaller values indicating better performance. |
StatisticDescriptor |
createLongGauge(java.lang.String name,
java.lang.String description,
java.lang.String units,
boolean largerBetter)
Creates and returns a long gauge
StatisticDescriptor with the given name, description, largerBetter, and units. |
StatisticsType |
createType(java.lang.String name,
java.lang.String description,
StatisticDescriptor[] stats)
Creates or finds and returns a
StatisticsType with the given name, description, and statistic descriptions. |
StatisticsType[] |
createTypesFromXml(java.io.Reader reader)
Creates one or more
StatisticsType from the contents of the
given reader. |
StatisticsType |
findType(java.lang.String name)
Finds and returns an already created
StatisticsType with the given name. |
static final int MAX_DESCRIPTORS_PER_TYPE
Current value is: 254
StatisticDescriptor createIntCounter(java.lang.String name, java.lang.String description, java.lang.String units)
StatisticDescriptor with the given name, description, units,
and with larger values indicating better performance.StatisticDescriptor createLongCounter(java.lang.String name, java.lang.String description, java.lang.String units)
StatisticDescriptor with the given name, description, units,
and with larger values indicating better performance.StatisticDescriptor createDoubleCounter(java.lang.String name, java.lang.String description, java.lang.String units)
StatisticDescriptor with the given name, description, units,
and with larger values indicating better performance.StatisticDescriptor createIntGauge(java.lang.String name, java.lang.String description, java.lang.String units)
StatisticDescriptor with the given name, description, units,
and with smaller values indicating better performance.StatisticDescriptor createLongGauge(java.lang.String name, java.lang.String description, java.lang.String units)
StatisticDescriptor with the given name, description, units,
and with smaller values indicating better performance.StatisticDescriptor createDoubleGauge(java.lang.String name, java.lang.String description, java.lang.String units)
StatisticDescriptor with the given name, description, units,
and with smaller values indicating better performance.StatisticDescriptor createIntCounter(java.lang.String name, java.lang.String description, java.lang.String units, boolean largerBetter)
StatisticDescriptor with the given name, description, largerBetter, and units.StatisticDescriptor createLongCounter(java.lang.String name, java.lang.String description, java.lang.String units, boolean largerBetter)
StatisticDescriptor with the given name, description, largerBetter, and units.StatisticDescriptor createDoubleCounter(java.lang.String name, java.lang.String description, java.lang.String units, boolean largerBetter)
StatisticDescriptor with the given name, description, largerBetter, and units.StatisticDescriptor createIntGauge(java.lang.String name, java.lang.String description, java.lang.String units, boolean largerBetter)
StatisticDescriptor with the given name, description, largerBetter, and units.StatisticDescriptor createLongGauge(java.lang.String name, java.lang.String description, java.lang.String units, boolean largerBetter)
StatisticDescriptor with the given name, description, largerBetter, and units.StatisticDescriptor createDoubleGauge(java.lang.String name, java.lang.String description, java.lang.String units, boolean largerBetter)
StatisticDescriptor with the given name, description, largerBetter, and units.StatisticsType createType(java.lang.String name, java.lang.String description, StatisticDescriptor[] stats)
StatisticsType with the given name, description, and statistic descriptions.java.lang.IllegalArgumentException - if a type with the given name already exists and it differs from the given parameters.StatisticsType findType(java.lang.String name)
StatisticsType with the given name. Returns null if the type does not exist.StatisticsType[] createTypesFromXml(java.io.Reader reader) throws java.io.IOException
StatisticsType from the contents of the
given reader. The created types can be found by calling
findType(java.lang.String).reader - The source of the XML data which must comply with the
statisticsType.dtd.java.lang.IllegalArgumentException - if a type defined in the reader
already existsjava.io.IOException - Something went wrong while reading from
reader