PMDA++
0.4.4
Header-only C++ library for writing PCP PMDAs
|
Namespaces | |
cache | |
Classes | |
class | exception |
Base class for all PMDA++ exceptions. More... | |
class | instance_domain |
Performance metric instance domain. More... | |
struct | instance_info |
Basic instance domain information. More... | |
class | metric_cluster |
A cluster of metric descriptions. More... | |
struct | metric_description |
Individual metric description. More... | |
class | metrics_description |
Collection of clusters of metric descriptions. More... | |
class | pmda |
Abstract base class for implementing PCP PMDAs. More... | |
Typedefs | |
typedef uint_fast8_t | atom_type_type |
PM_TYPE_* (0 - 9) More... | |
typedef uint_fast16_t | cluster_id_type |
__pmID_int::cluster (12-bits) More... | |
typedef uint_fast16_t | domain_id_type |
__pmID_int::cluster (9-bits); pmdaIndom::it_indom More... | |
typedef unsigned int | instance_id_type |
https://github.com/pcolby/pcp-pmda-cpp/issues/11 More... | |
typedef uint_fast16_t | item_id_type |
__pmID_int::item (10-bits) More... | |
typedef uint_fast8_t | semantic_type |
PM_SEM_* (0 - 4) More... | |
Enumerations | |
enum | metric_flags { storable_metric = 0x1 } |
Flags that may be applied to metric descriptions. More... | |
Functions | |
template<typename ValueType > | |
pmAtomValue | atom (const atom_type_type type, ValueType value) |
Caset a value to a PCP pmAtomValue. More... | |
template<> | |
pmAtomValue | atom< char * > (const atom_type_type type, char *value) |
Caset a value to a PCP pmAtomValue. More... | |
template<> | |
pmAtomValue | atom< pmValueBlock * > (const atom_type_type type, pmValueBlock *value) |
Caset a value to a PCP pmAtomValue. More... | |
template<typename Type > | |
Type | get_pcp_runtime_version () |
Get the PCP runtime version as a numeric value. More... | |
template<> | |
char * | get_pcp_runtime_version () |
Get the PCP runtime version as a string. More... | |
metric_flags | operator| (metric_flags a, metric_flags b) |
Pipe operator for combining metric_flags values. More... | |
template<typename Type > | |
atom_type_type | type () |
Get the PM_TYPE_* constant for a given C++ type. More... | |
template<> | |
atom_type_type | type< int8_t > () |
Template specialisation for int8_t. More... | |
template<> | |
atom_type_type | type< int16_t > () |
Template specialisation for int16_t. More... | |
template<> | |
atom_type_type | type< int32_t > () |
Template specialisation for int32_t. More... | |
template<> | |
atom_type_type | type< int64_t > () |
Template specialisation for int64_t. More... | |
template<> | |
atom_type_type | type< uint8_t > () |
Template specialisation for uint8_t. More... | |
template<> | |
atom_type_type | type< uint16_t > () |
Template specialisation for uint16_t. More... | |
template<> | |
atom_type_type | type< uint32_t > () |
Template specialisation for uint32_t. More... | |
template<> | |
atom_type_type | type< uint64_t > () |
Template specialisation for uint64_t. More... | |
template<> | |
atom_type_type | type< float > () |
Template specialisation for float. More... | |
template<> | |
atom_type_type | type< double > () |
Template specialisation for double. More... | |
template<> | |
atom_type_type | type< char * > () |
Template specialisation for char * . More... | |
template<> | |
atom_type_type | type< std::string > () |
Template specialisation for std::string. More... | |
pmUnits | units (int a, int b, int c, unsigned d, unsigned e, int f) |
Wrapper for PMDA_PMUNITS. More... | |
typedef uint_fast8_t pcp::atom_type_type |
typedef uint_fast16_t pcp::cluster_id_type |
typedef uint_fast16_t pcp::domain_id_type |
typedef unsigned int pcp::instance_id_type |
typedef uint_fast16_t pcp::item_id_type |
typedef uint_fast8_t pcp::semantic_type |
enum pcp::metric_flags |
Flags that may be applied to metric descriptions.
Enumerator | |
---|---|
storable_metric | Metric supports pmstore operations. |
Definition at line 30 of file metric_description.hpp.
pmAtomValue pcp::atom | ( | const atom_type_type | type, |
ValueType | value | ||
) |
Caset a value to a PCP pmAtomValue.
This base template definition handles most numeric types.
type | The atom type to set. |
value | The atom value to set. |
ValueType | Type of value to set. |
pmAtomValue
containing value
of type type
. Definition at line 35 of file atom.hpp.
Referenced by atom< char * >(), and atom< pmValueBlock * >().
|
inline |
Caset a value to a PCP pmAtomValue.
This template specialisation hanldes char *
strings.
const char *
template specialisation, since that would require us to const_cast
the value, which is something the caller ought to be very clear about / aware is happening. Hence, if you want to use a const char *
, use something like: pcp::atom(PM_TYPE_STRING, const_cast<char *>(value)
type | The atom type to set. |
value | The atom value to set. |
pmAtomValue
containing value
of type type
. Definition at line 73 of file atom.hpp.
References atom().
|
inline |
|
inline |
Get the PCP runtime version as a numeric value.
Definition at line 77 of file config.hpp.
|
inline |
Get the PCP runtime version as a string.
Definition at line 92 of file config.hpp.
|
inline |
Pipe operator for combining metric_flags values.
This function performs a logical OR of two metric_flags sets. This is a convenience function, allowing metric_flags enum values to be used both standalone, and in combination.
a | First set of flags. |
b | Second set of flags. |
Definition at line 46 of file metric_description.hpp.
|
inline |
Get the PM_TYPE_* constant for a given C++ type.
Referenced by pcp::pmda::set_callbacks().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Wrapper for PMDA_PMUNITS.
This allows C++11-style initialisation lists, while avoiding C++ "extended initializer lists" warnings.
a | The first argument to pass to the PMDA_PMUNITS macro (dimTime). |
b | The second argument to pass to the PMDA_PMUNITS macro (dimSpace). |
c | The third argument to pass to the PMDA_PMUNITS macro (dimCount). |
d | The fourth argument to pass to the PMDA_PMUNITS macro (scaleSpace). |
e | The fifth argument to pass to the PMDA_PMUNITS macro (scaleTime). |
f | The sixth argument to pass to the PMDA_PMUNITS macro (scaleCount). |