PMDA++  0.4.4
Header-only C++ library for writing PCP PMDAs
Public Member Functions | List of all members
pcp::instance_domain Class Reference

Performance metric instance domain. More...

#include <instance_domain.hpp>

Inheritance diagram for pcp::instance_domain:
Inheritance graph
[legend]
Collaboration diagram for pcp::instance_domain:
Collaboration graph
[legend]

Public Member Functions

 instance_domain (domain_id_type domain_id=PM_INDOM_NULL)
 [Default] Constructor More...
 
domain_id_type get_domain_id () const
 Get this instance domain's user-defined ID. More...
 
pmInDom get_pm_instance_domain () const
 Get this instance domain's PCP-modifed ID. More...
 
void set_domain_id (const domain_id_type id)
 Set this instance domain's user-defined ID. More...
 
void set_pm_instance_domain (const pmInDom domain)
 Set this instance domain's PCP-modified ID. More...
 
instance_domainoperator() (const domain_id_type domain_id)
 Functor for setting this instance's domain ID. More...
 
instance_domainoperator() (const instance_id_type instance_id, const instance_info &info)
 Instance insertion functor. More...
 
instance_domainoperator() (const instance_id_type instance_id, const std::string &instance_name, const std::string &short_description=std::string(), const std::string &verbose_description=std::string())
 Instance insertion functor. More...
 
 operator pmInDom () const
 Operator for implicit cast to pmInDom. More...
 

Detailed Description

Performance metric instance domain.

Definition at line 35 of file instance_domain.hpp.

Constructor & Destructor Documentation

◆ instance_domain()

pcp::instance_domain::instance_domain ( domain_id_type  domain_id = PM_INDOM_NULL)
inlineexplicit

[Default] Constructor

Parameters
domain_idUser-defined ID for this instance domain.
See also
set_domain_id

Definition at line 46 of file instance_domain.hpp.

Member Function Documentation

◆ get_domain_id()

domain_id_type pcp::instance_domain::get_domain_id ( ) const
inline

Get this instance domain's user-defined ID.

Returns
This instance domain's user-defined ID.
See also
set_domain_id

Definition at line 60 of file instance_domain.hpp.

Referenced by pcp::pmda::initialize_pmda(), and pcp::pmda::set_callbacks().

◆ get_pm_instance_domain()

pmInDom pcp::instance_domain::get_pm_instance_domain ( ) const
inline

Get this instance domain's PCP-modifed ID.

This function is used to track the instance ID as modifed by PCP's pmdaInit function. This is essentially the same as the ID returned by get_domain_id, with a number of higher bits set to PCP-internal values.

This can be necessary for passing this instance domain's ID to some other PCP built-in functions.

Returns
This instance domain's PCP-modified ID.
See also
set_pm_instance_domain
pmdaInit

Definition at line 80 of file instance_domain.hpp.

Referenced by pcp::pmda::initialize_pmda().

◆ operator pmInDom()

pcp::instance_domain::operator pmInDom ( ) const
inline

Operator for implicit cast to pmInDom.

This operator allows this object to be used wherever PCP functions require a pmInDom instance. It is equivalent to calling the get_pm_instance_domain function.

Returns
This instance's PCP-modified ID.

Definition at line 178 of file instance_domain.hpp.

◆ operator()() [1/3]

instance_domain& pcp::instance_domain::operator() ( const domain_id_type  domain_id)
inline

Functor for setting this instance's domain ID.

This functor is equivalent to the set_domain_id function, but allows for convenient functor chaining.

Parameters
domain_idID for the instance domain.
Returns
A reference to this instance domain.

Definition at line 118 of file instance_domain.hpp.

◆ operator()() [2/3]

instance_domain& pcp::instance_domain::operator() ( const instance_id_type  instance_id,
const instance_info info 
)
inline

Instance insertion functor.

This functor allows for convenient insertion of instances into this domain.

Parameters
instance_idID for the instance to insert.
infoBasic instance information.
Returns
A reference to this instance domain.

Definition at line 136 of file instance_domain.hpp.

◆ operator()() [3/3]

instance_domain& pcp::instance_domain::operator() ( const instance_id_type  instance_id,
const std::string &  instance_name,
const std::string &  short_description = std::string(),
const std::string &  verbose_description = std::string() 
)
inline

Instance insertion functor.

This functor allows for convenient insertion of instances into this domain.

Parameters
instance_idID for the instance to insert.
instance_nameName of the instance to insert.
short_descriptionShort description of the instance to insert.
verbose_descriptionVerbose description of the instance to insert.
Returns
A reference to this instance domain.

Definition at line 156 of file instance_domain.hpp.

References pcp::instance_info::instance_name, pcp::instance_info::short_description, and pcp::instance_info::verbose_description.

◆ set_domain_id()

void pcp::instance_domain::set_domain_id ( const domain_id_type  id)
inline

Set this instance domain's user-defined ID.

Parameters
idThe domiain ID to set.

Definition at line 90 of file instance_domain.hpp.

◆ set_pm_instance_domain()

void pcp::instance_domain::set_pm_instance_domain ( const pmInDom  domain)
inline

Set this instance domain's PCP-modified ID.

This function is normally used by the pcp::pmda class to update the domain ID after invoking pmdaInit.

Parameters
domainThe domiain ID to set.

Definition at line 103 of file instance_domain.hpp.

Referenced by pcp::pmda::initialize_pmda().


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