Pivotal GemFire Native Client Cache Reference  9.0.6
StatisticsFactory.hpp
Go to the documentation of this file.
1 #ifndef _GEMFIRE_STATISTICS_STATISTICSFACTORY_HPP_
2 #define _GEMFIRE_STATISTICS_STATISTICSFACTORY_HPP_
3 /*=========================================================================
4  * Copyright (c) 2004-2014 Pivotal Software, Inc. All Rights Reserved.
5  * This product is protected by U.S. and international copyright
6  * and intellectual property laws. Pivotal products are covered by
7  * more patents listed at http://www.pivotal.io/patents.
8  *=========================================================================
9  */
10 #include "../gfcpp_globals.hpp"
11 #include "StatisticDescriptor.hpp"
12 #include "StatisticsType.hpp"
13 #include "../ExceptionTypes.hpp"
14 #include "Statistics.hpp"
15 
19 namespace gemfire_statistics {
20 
42 protected:
45 
46 public:
47 
52  static StatisticsFactory* getExistingInstance();
53 
54  virtual ~StatisticsFactory() {}
55 
62  virtual StatisticDescriptor* createIntCounter(const char* name, const char* description,const char* units, int8 largerBetter = true) =0;
63 
64 
71  virtual StatisticDescriptor* createLongCounter(const char* name, const char* description,const char* units, int8 largerBetter = true)=0;
72 
73 
80  virtual StatisticDescriptor* createDoubleCounter(const char* name, const char* description, const char* units, int8 largerBetter = true)=0;
81 
82 
88  virtual StatisticDescriptor* createIntGauge(const char* name, const char* description, const char* units,int8 largerBetter= false)=0;
89 
90 
96  virtual StatisticDescriptor* createLongGauge(const char* name, const char* description,const char* units,int8 largerBetter= false)=0;
97 
98 
104  virtual StatisticDescriptor* createDoubleGauge(const char* name, const char* description, const char* units, int8 largerBetter= false)=0;
105 
106 
114  virtual StatisticsType* createType(const char* name, const char* description,
115  StatisticDescriptor** stats, int32 statsLength)=0;
116 
117 
123  virtual StatisticsType* findType(const char* name)=0;
124 
130  virtual Statistics* createStatistics(StatisticsType* type)=0;
131 
137  virtual Statistics* createStatistics(StatisticsType* type, const char* textId)=0;
138 
144  virtual Statistics* createStatistics(StatisticsType* type, const char* textId, int64 numericId)=0;
145 
151  virtual Statistics* createAtomicStatistics(StatisticsType* type)=0;
152 
158  virtual Statistics* createAtomicStatistics(StatisticsType* type, const char* textId)=0;
159 
160 
166  virtual Statistics* createAtomicStatistics(StatisticsType* type, const char* textId, int64 numericId)=0;
167 
169  virtual Statistics* findFirstStatisticsByType( StatisticsType* type ) = 0;
170 
174  virtual const char* getName()=0;
175 
176 
180  virtual int64 getId()=0;
181 
182 private:
183  const StatisticsFactory& operator=( const StatisticsFactory& );
184 
185  };//class
186 }; //namespace
187 
188 #endif // _GEMFIRE__STATISTICS_STATISTICSFACTORY_HPP_
This namespace contains all the GemFire C++ statistics API classes.
int64_t int64
signed 64 bit integer
Definition: gf_base.hpp:180
int8_t int8
single byte, character or boolean field
Definition: gf_base.hpp:174
int32_t int32
signed 32 bit integer
Definition: gf_base.hpp:178
An instantiation of an existing StatisticsType object with methods for setting, incrementing and gett...
Definition: Statistics.hpp:23
Instances of this interface provide methods that create instances of StatisticDescriptor and Statisti...
Definition: StatisticsFactory.hpp:41
#define CPPCACHE_EXPORT
Defines a GemFire CPPCACHE export.
Definition: gf_base.hpp:51
Describes an individual statistic whose value is updated by an application and may be archived by Gem...
Definition: StatisticDescriptor.hpp:34
Used to describe a logical collection of StatisticDescriptors.
Definition: StatisticsType.hpp:31

GemFire C++ Cache API Documentation