GemFire 6.6.2

com.gemstone.gemfire
Interface StatisticsFactory

All Superinterfaces:
StatisticsTypeFactory
All Known Implementing Classes:
DistributedSystem

public interface StatisticsFactory
extends StatisticsTypeFactory

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 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 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.createIntCounter("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.incInt(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="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:
      StatisticsFactory f = ...;
      Reader r = new InputStreamReader("fileContainingXmlData"));
      StatisticsType type = f.createTypesFromXml(r)[0];
 

Since:
3.0
See Also:
Package introduction

Field Summary
 
Fields inherited from interface com.gemstone.gemfire.StatisticsTypeFactory
MAX_DESCRIPTORS_PER_TYPE
 
Method Summary
 Statistics createAtomicStatistics(StatisticsType type)
          Creates and returns a Statistics instance of the given type with default ids.
 Statistics createAtomicStatistics(StatisticsType type, String textId)
          Creates and returns a Statistics instance of the given type, textId, and with a default numeric id.
 Statistics createAtomicStatistics(StatisticsType type, String textId, long numericId)
          Creates and returns a Statistics instance of the given type, textId, and numericId.
 Statistics createStatistics(StatisticsType type)
          Creates and returns a Statistics instance of the given type with default ids.
 Statistics createStatistics(StatisticsType type, String textId)
          Creates and returns a Statistics instance of the given type, textId, and with a default numeric id.
 Statistics createStatistics(StatisticsType type, String textId, long numericId)
          Creates and returns a Statistics instance of the given type, textId, and numericId.
 Statistics[] findStatisticsByNumericId(long numericId)
          Returns an array of all the existing statistics with the given numericId.
 Statistics[] findStatisticsByTextId(String textId)
          Returns an array of all the existing statistics with the given textId.
 Statistics[] findStatisticsByType(StatisticsType type)
          Returns an array of all the existing statistics of the given type.
 
Methods inherited from interface com.gemstone.gemfire.StatisticsTypeFactory
createDoubleCounter, createDoubleCounter, createDoubleGauge, createDoubleGauge, createIntCounter, createIntCounter, createIntGauge, createIntGauge, createLongCounter, createLongCounter, createLongGauge, createLongGauge, createType, createTypesFromXml, findType
 

Method Detail

createStatistics

Statistics createStatistics(StatisticsType type)
Creates and returns a Statistics instance of the given type with default ids.

The created instance may not be atomic.


createStatistics

Statistics createStatistics(StatisticsType type,
                            String textId)
Creates and returns a Statistics instance of the given type, textId, and with a default numeric id.

The created instance may not be atomic.


createStatistics

Statistics createStatistics(StatisticsType type,
                            String textId,
                            long numericId)
Creates and returns a Statistics instance of the given type, textId, and numericId.

The created instance may not be atomic.


createAtomicStatistics

Statistics createAtomicStatistics(StatisticsType type)
Creates and returns a Statistics instance of the given type with default ids.

The created instance will be atomic.


createAtomicStatistics

Statistics createAtomicStatistics(StatisticsType type,
                                  String textId)
Creates and returns a Statistics instance of the given type, textId, and with a default numeric id.

The created instance will be atomic.


createAtomicStatistics

Statistics createAtomicStatistics(StatisticsType type,
                                  String textId,
                                  long numericId)
Creates and returns a Statistics instance of the given type, textId, and numericId.

The created instance will be atomic.


findStatisticsByType

Statistics[] findStatisticsByType(StatisticsType type)
Returns an array of all the existing statistics of the given type.


findStatisticsByTextId

Statistics[] findStatisticsByTextId(String textId)
Returns an array of all the existing statistics with the given textId.


findStatisticsByNumericId

Statistics[] findStatisticsByNumericId(long numericId)
Returns an array of all the existing statistics with the given numericId.


GemFire 6.6.2

Copyright © 1997-2012 VMware, Inc. All rights reserved.