Robust Distributed System Nucleus (rDSN)  ver 1.0.0
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
dsn::perf_counter Class Referenceabstract
Inheritance diagram for dsn::perf_counter:

Public Types

typedef perf_counter *(* factory) (const char *, const char *, const char *, dsn_perf_counter_type_t, const char *)
 
typedef std::vector< std::pair< uint64_t *, int > > samples_t
 

Public Member Functions

 perf_counter (const char *app, const char *section, const char *name, dsn_perf_counter_type_t type, const char *dsptr)
 
virtual void increment ()=0
 
virtual void decrement ()=0
 
virtual void add (uint64_t val)=0
 
virtual void set (uint64_t val)=0
 
virtual double get_value ()=0
 
virtual uint64_t get_integer_value ()=0
 
virtual double get_percentile (dsn_perf_counter_percentile_type_t type)=0
 
virtual int get_latest_samples (int required_sample_count, samples_t &samples) const
 
virtual uint64_t get_latest_sample () const
 
const char * full_name () const
 
const char * app () const
 
const char * section () const
 
const char * name () const
 
const char * dsptr () const
 
dsn_perf_counter_type_t type () const
 
uint64_t index () const
 

Static Public Member Functions

template<typename T >
static perf_countercreate (const char *app, const char *section, const char *name, dsn_perf_counter_type_t type, const char *dsptr)
 
static DSN_API perf_counter_ptr get_counter (const char *app, const char *section, const char *name, dsn_perf_counter_type_t flags, const char *dsptr, bool create_if_not_exist=false)
 
static DSN_API bool remove_counter (const char *full_name)
 
static void build_full_name (const char *app, const char *section, const char *name, std::string &counter_name)
 

Friends

class perf_counters
 

The documentation for this class was generated from the following file: