|
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). |
1.8.13