Package org.apache.geode
Interface StatisticsFactory
- All Superinterfaces:
StatisticsTypeFactory
- All Known Implementing Classes:
DistributedSystem
Instances of this interface provide methods that create instances of
Statistics. It can
also be used to create instances of StatisticDescriptor and StatisticsType
because it implements StatisticsTypeFactory.
DistributedSystem is the only instance of this interface.
A StatisticsFactory can create a statistic of two
numeric types: 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.
The following code is an example of how to create a type using the api. In this example the type has two stats whose values always increase:
StatisticsFactory f = ...;
StatisticsType t = f.createType(
"StatSampler",
"Stats on the statistic sampler.",
new StatisticDescriptor[] {
f.createLongCounter("sampleCount",
"Total number of samples taken by this sampler.",
"samples"),
f.createLongCounter("sampleTime",
"Total amount of time spent taking samples.",
"milliseconds"),
}
);
this.samplerStats = f.createStatistics(t, "statSampler");
this.sampleCountId = this.samplerStats.nameToId("sampleCount");
this.sampleTimeId = this.samplerStats.nameToId("sampleTime");
Later on the stat ids can be used to increment the stats:
this.samplerStats.incLong(this.sampleCountId, 1); this.samplerStats.incLong(this.sampleTimeId, nanosSpentWorking / 1000000);
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="long" 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:
StatisticsFactory f = ...;
Reader r = new InputStreamReader("fileContainingXmlData"));
StatisticsType type = f.createTypesFromXml(r)[0];
- Since:
- GemFire 3.0
- See Also:
-
Field Summary
Fields inherited from interface org.apache.geode.StatisticsTypeFactory
MAX_DESCRIPTORS_PER_TYPE -
Method Summary
Modifier and TypeMethodDescriptionCreates and returns aStatisticsinstance of the giventypewith default ids.createAtomicStatistics(StatisticsType type, String textId) createAtomicStatistics(StatisticsType type, String textId, long numericId) Creates and returns aStatisticsinstance of the giventypewith default ids.createStatistics(StatisticsType type, String textId) createStatistics(StatisticsType type, String textId, long numericId) findStatisticsByNumericId(long numericId) Returns an array of all the existing statistics with the given numericId.findStatisticsByTextId(String textId) Returns an array of all the existing statistics with the given textId.Returns an array of all the existing statistics of the given type.Methods inherited from interface org.apache.geode.StatisticsTypeFactory
createDoubleCounter, createDoubleCounter, createDoubleGauge, createDoubleGauge, createIntCounter, createIntCounter, createIntGauge, createIntGauge, createLongCounter, createLongCounter, createLongGauge, createLongGauge, createType, createTypesFromXml, findType
-
Method Details
-
createStatistics
Creates and returns aStatisticsinstance of the giventypewith default ids.The created instance may not be
atomic.- Parameters:
type- thetypeofStatisticsinstance- Returns:
- a newly created
Statisticsinstance
-
createStatistics
Creates and returns aStatisticsinstance of the giventype,textId, and with a default numeric id.The created instance may not be
atomic.- Parameters:
type- thetypeofStatisticsinstancetextId- thetextIdof theStatisticsinstance- Returns:
- a newly created
Statisticsinstance
-
createStatistics
Creates and returns aStatisticsinstance of the giventype,textId, andnumericId.The created instance may not be
atomic.- Parameters:
type- thetypeofStatisticsinstancetextId- thetextIdof theStatisticsinstancenumericId- thenumericIdof theStatisticsinstance- Returns:
- a newly created
Statisticsinstance
-
createAtomicStatistics
Creates and returns aStatisticsinstance of the giventypewith default ids.The created instance will be
atomic.- Parameters:
type- thetypeofStatisticsinstance- Returns:
- a newly created
Statisticsinstance
-
createAtomicStatistics
Creates and returns aStatisticsinstance of the giventype,textId, and with a default numeric id.The created instance will be
atomic.- Parameters:
type- thetypeofStatisticsinstancetextId- thetextIdof theStatisticsinstance- Returns:
- a newly created
Statisticsinstance
-
createAtomicStatistics
Creates and returns aStatisticsinstance of the giventype,textId, andnumericId.The created instance will be
atomic.- Parameters:
type- thetypeofStatisticsinstancetextId- thetextIdof theStatisticsinstancenumericId- thenumericIdof theStatisticsinstance- Returns:
- a newly created
Statisticsinstance
-
findStatisticsByType
Returns an array of all the existing statistics of the given type.- Parameters:
type- thetypeof statistics to find- Returns:
- an array of all the existing statistics of the given type
-
findStatisticsByTextId
Returns an array of all the existing statistics with the given textId.- Parameters:
textId- the textId of statistics to find- Returns:
- an array of all the existing statistics with the given textId
-
findStatisticsByNumericId
Returns an array of all the existing statistics with the given numericId.- Parameters:
numericId- the numericId of statistics to find- Returns:
- an array of all the existing statistics with the given numericId
-