Kea 2.7.6
isc::perfmon Namespace Reference

Classes

class  Alarm
 Defines an alarm for a duration. More...
 
class  AlarmParser
 Parses configuration parameters for a single Alarm. More...
 
struct  AlarmPrimaryKeyTag
 Tag for index by primary key (DurationKey). More...
 
class  AlarmStore
 Maintains an in-memory store of alarms. More...
 
class  DuplicateAlarm
 Exception thrown when an attempt was made to add a duplicate key to either the duration or alarm stores. More...
 
class  DuplicateDurationKey
 Exception thrown when an attempt was made to add a duplicate duration to the store. More...
 
class  DurationDataInterval
 Embodies a span of time (i.e. More...
 
class  DurationKey
 Houses the composite key that uniquely identifies a duration: More...
 
class  DurationKeyParser
 Parses configuration parameters for a single DurationKey. More...
 
struct  DurationKeyTag
 Tag for index by primary key (DurationKey). More...
 
struct  IntervalStartTag
 Tag for index by interval start time. More...
 
class  MonitoredDuration
 
class  MonitoredDurationStore
 Maintains an in-memory store of durations. More...
 
class  PerfMonConfig
 Houses the PerfMon configuration parameters for a single scope (e.g. More...
 
class  PerfMonMgr
 Singleton which provides overall configuration, control, and state of the PerfMon hook library. More...
 

Typedefs

typedef std::vector< AlarmPtrAlarmCollection
 Type for a collection of AlarmPtrs.
 
typedef boost::shared_ptr< AlarmCollectionAlarmCollectionPtr
 Type for a pointer to a collection of AlarmPtrs.
 
typedef boost::multi_index_container< AlarmPtr, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag< AlarmPrimaryKeyTag >, boost::multi_index::identity< DurationKey > > > > AlarmContainer
 A multi index container holding pointers to alarms.
 
typedef boost::shared_ptr< AlarmAlarmPtr
 Defines a pointer to an Alarm instance.
 
typedef boost::shared_ptr< AlarmStoreAlarmStorePtr
 
typedef boost::posix_time::time_duration Duration
 
typedef boost::shared_ptr< DurationDataIntervalDurationDataIntervalPtr
 Defines a pointer to a DurationDataInterval instance.
 
typedef boost::shared_ptr< DurationKeyDurationKeyPtr
 Defines a pointer to a DurationKey instance.
 
typedef std::vector< MonitoredDurationPtrMonitoredDurationCollection
 Type for a collection of MonitoredDurationPtrs.
 
typedef boost::shared_ptr< MonitoredDurationCollectionMonitoredDurationCollectionPtr
 Type for a pointer to a collection of MonitoredDurationPtrs.
 
typedef boost::multi_index_container< MonitoredDurationPtr, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag< DurationKeyTag >, boost::multi_index::composite_key< MonitoredDuration, boost::multi_index::const_mem_fun< DurationKey, uint8_t, &DurationKey::getQueryType >, boost::multi_index::const_mem_fun< DurationKey, uint8_t, &DurationKey::getResponseType >, boost::multi_index::const_mem_fun< DurationKey, std::string, &DurationKey::getStartEventLabel >, boost::multi_index::const_mem_fun< DurationKey, std::string, &DurationKey::getStopEventLabel >, boost::multi_index::const_mem_fun< DurationKey, dhcp::SubnetID, &DurationKey::getSubnetId > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< IntervalStartTag >, boost::multi_index::const_mem_fun< MonitoredDuration, Timestamp, &MonitoredDuration::getCurrentIntervalStart > > > > MonitoredDurationContainer
 A multi index container holding pointers to durations.
 
typedef boost::shared_ptr< MonitoredDurationMonitoredDurationPtr
 
typedef boost::shared_ptr< MonitoredDurationStoreMonitoredDurationStorePtr
 
typedef boost::shared_ptr< PerfMonConfigPerfMonConfigPtr
 Defines a shared pointer to a PerfMonConfig.
 
typedef boost::shared_ptr< PerfMonMgrPerfMonMgrPtr
 Defines a shared pointer to a PerfMonMgr.
 
typedef boost::posix_time::ptime Timestamp
 

Functions

std::ostream & operator<< (std::ostream &os, const DurationKey &key)
 

Variables

PerfMonMgrPtr mgr
 PerfMonMgr singleton.
 
isc::log::Logger perfmon_logger ("perfmon-hooks")
 

Typedef Documentation

◆ AlarmCollection

Type for a collection of AlarmPtrs.

Definition at line 62 of file alarm_store.h.

◆ AlarmCollectionPtr

Type for a pointer to a collection of AlarmPtrs.

Definition at line 65 of file alarm_store.h.

◆ AlarmContainer

typedef boost::multi_index_container< AlarmPtr, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag<AlarmPrimaryKeyTag>, boost::multi_index::identity<DurationKey> > >> isc::perfmon::AlarmContainer

A multi index container holding pointers to alarms.

The alarms in the container may be accessed using different indexes:

Indexes can be accessed using the index number (from 0 to n) or a name tag. It is recommended to use the tags to access indexes as they do not depend on the order of indexes in the container.

Definition at line 59 of file alarm_store.h.

◆ AlarmPtr

typedef boost::shared_ptr<Alarm> isc::perfmon::AlarmPtr

Defines a pointer to an Alarm instance.

Definition at line 168 of file alarm.h.

◆ AlarmStorePtr

typedef boost::shared_ptr<AlarmStore> isc::perfmon::AlarmStorePtr

Definition at line 181 of file alarm_store.h.

◆ Duration

typedef boost::posix_time::time_duration isc::perfmon::Duration

Definition at line 21 of file monitored_duration.h.

◆ DurationDataIntervalPtr

Defines a pointer to a DurationDataInterval instance.

Definition at line 126 of file monitored_duration.h.

◆ DurationKeyPtr

typedef boost::shared_ptr<DurationKey> isc::perfmon::DurationKeyPtr

Defines a pointer to a DurationKey instance.

Definition at line 321 of file monitored_duration.h.

◆ MonitoredDurationCollection

Type for a collection of MonitoredDurationPtrs.

Definition at line 90 of file monitored_duration_store.h.

◆ MonitoredDurationCollectionPtr

Type for a pointer to a collection of MonitoredDurationPtrs.

Definition at line 93 of file monitored_duration_store.h.

◆ MonitoredDurationContainer

typedef boost::multi_index_container< MonitoredDurationPtr, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag<DurationKeyTag>, boost::multi_index::composite_key< MonitoredDuration, boost::multi_index::const_mem_fun<DurationKey, uint8_t, &DurationKey::getQueryType>, boost::multi_index::const_mem_fun<DurationKey, uint8_t, &DurationKey::getResponseType>, boost::multi_index::const_mem_fun<DurationKey, std::string, &DurationKey::getStartEventLabel>, boost::multi_index::const_mem_fun<DurationKey, std::string, &DurationKey::getStopEventLabel>, boost::multi_index::const_mem_fun<DurationKey, dhcp::SubnetID, &DurationKey::getSubnetId> > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag<IntervalStartTag>, boost::multi_index::const_mem_fun<MonitoredDuration, Timestamp, &MonitoredDuration::getCurrentIntervalStart> > >> isc::perfmon::MonitoredDurationContainer

A multi index container holding pointers to durations.

The durations in the container may be accessed using different indexes:

Indexes can be accessed using the index number (from 0 to n) or a name tag. It is recommended to use the tags to access indexes as they do not depend on the order of indexes in the container.

Definition at line 87 of file monitored_duration_store.h.

◆ MonitoredDurationPtr

Definition at line 503 of file monitored_duration.h.

◆ MonitoredDurationStorePtr

Definition at line 217 of file monitored_duration_store.h.

◆ PerfMonConfigPtr

typedef boost::shared_ptr<PerfMonConfig> isc::perfmon::PerfMonConfigPtr

Defines a shared pointer to a PerfMonConfig.

Definition at line 262 of file perfmon_config.h.

◆ PerfMonMgrPtr

typedef boost::shared_ptr<PerfMonMgr> isc::perfmon::PerfMonMgrPtr

Defines a shared pointer to a PerfMonMgr.

Definition at line 314 of file perfmon_mgr.h.

◆ Timestamp

typedef boost::posix_time::ptime isc::perfmon::Timestamp

Definition at line 20 of file monitored_duration.h.

Function Documentation

◆ operator<<()

std::ostream & isc::perfmon::operator<< ( std::ostream & os,
const DurationKey & key )

Definition at line 236 of file monitored_duration.cc.

References isc::perfmon::DurationKey::getLabel().

+ Here is the call graph for this function:

Variable Documentation

◆ mgr

PerfMonMgrPtr isc::perfmon::mgr

PerfMonMgr singleton.

Definition at line 24 of file perfmon_callouts.cc.

Referenced by load(), perfmon_control(), perfmon_get_all_durations(), pkt4_send(), and pkt6_send().

◆ perfmon_logger