0.9.8.10
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Private Attributes | List of all members
Hypertable::FsBroker::Lib::MetricsHandler Class Reference

Collects and publishes FsBroker metrics. More...

#include <MetricsHandler.h>

Inheritance diagram for Hypertable::FsBroker::Lib::MetricsHandler:
Inheritance graph
[legend]
Collaboration diagram for Hypertable::FsBroker::Lib::MetricsHandler:
Collaboration graph
[legend]

Public Member Functions

 MetricsHandler (PropertiesPtr &props, const std::string &type)
 Constructor. More...
 
virtual ~MetricsHandler ()
 Destructor. More...
 
void start_collecting ()
 Starts metrics collection. More...
 
void stop_collecting ()
 Stops metrics collection. More...
 
virtual void handle (EventPtr &event)
 Collects and publishes metrics. More...
 
void add_bytes_read (int64_t count)
 Adds bytes read. More...
 
void add_bytes_written (int64_t count)
 Adds bytes written. More...
 
void add_sync (int64_t latency_nsec)
 Adds sync information. More...
 
void increment_error_count ()
 Increments error count. More...
 
- Public Member Functions inherited from Hypertable::DispatchHandler
virtual ~DispatchHandler ()
 Destructor. More...
 

Private Attributes

std::mutex m_mutex
 Mutex for serializing access to members More...
 
Commm_comm
 Comm layer pointer. More...
 
MetricsCollectorGangliaPtr m_ganglia_collector
 Ganglia metrics collector. More...
 
MetricsProcess m_metrics_process
 General process metrics tracker. More...
 
std::string m_type
 FsBroker type (e.g. "local", "qfs", etc.) More...
 
int32_t m_collection_interval
 Metrics collection interval More...
 
int64_t m_last_timestamp
 Timestamp of last metrics collection More...
 
int64_t m_bytes_written {}
 Bytes written since last metrics collection. More...
 
int64_t m_bytes_read {}
 Bytes read since last metrics collection. More...
 
int32_t m_sync_latency {}
 Cumulative sync latency since last metrics collection. More...
 
int32_t m_syncs {}
 Syncs since last metrics collection. More...
 
int32_t m_errors {}
 Error count since last metrics collection. More...
 

Detailed Description

Collects and publishes FsBroker metrics.

This class acts as the timer dispatch handler for periodic metrics collection for FsBroker.

Definition at line 51 of file MetricsHandler.h.

Constructor & Destructor Documentation

MetricsHandler::MetricsHandler ( PropertiesPtr props,
const std::string &  type 
)

Constructor.

Initializes m_collection_interval to the property Hypertable.Monitoring.Interval and allocates a Ganglia collector object, initializing it with "hyperspace" and Hypertable.Metrics.Ganglia.Port. Lastly, calls Comm::set_timer() to register a timer for m_collection_interval milliseconds in the future and passes this as the timer handler.

Parameters
propsProperties object
typeType of broker (e.g. "local", "qfs", etc.)

Definition at line 44 of file MetricsHandler.cc.

virtual Hypertable::FsBroker::Lib::MetricsHandler::~MetricsHandler ( )
inlinevirtual

Destructor.

Cancels the timer.

Definition at line 68 of file MetricsHandler.h.

Member Function Documentation

void Hypertable::FsBroker::Lib::MetricsHandler::add_bytes_read ( int64_t  count)
inline

Adds bytes read.

Adds count to m_bytes_read.

Parameters
countCount of bytes read

Definition at line 87 of file MetricsHandler.h.

void Hypertable::FsBroker::Lib::MetricsHandler::add_bytes_written ( int64_t  count)
inline

Adds bytes written.

Adds count to m_bytes_written.

Parameters
countCount of bytes written

Definition at line 95 of file MetricsHandler.h.

void Hypertable::FsBroker::Lib::MetricsHandler::add_sync ( int64_t  latency_nsec)
inline

Adds sync information.

Adds latency_nsec to m_sync_latency and increments m_syncs.

Parameters
latency_nsecLatency of sync in nanoseconds

Definition at line 104 of file MetricsHandler.h.

void MetricsHandler::handle ( Hypertable::EventPtr event)
virtual

Collects and publishes metrics.

This method updates the requests/s and general process metrics and publishes them via m_ganglia_collector. After metrics have been collected, the timer is re-registered for m_collection_interval milliseconds in the future.

Parameters
eventComm layer timer event

Implements Hypertable::DispatchHandler.

Definition at line 62 of file MetricsHandler.cc.

void Hypertable::FsBroker::Lib::MetricsHandler::increment_error_count ( )
inline

Increments error count.

Increments m_errors.

Definition at line 112 of file MetricsHandler.h.

void MetricsHandler::start_collecting ( )

Starts metrics collection.

Definition at line 52 of file MetricsHandler.cc.

void MetricsHandler::stop_collecting ( )

Stops metrics collection.

Definition at line 58 of file MetricsHandler.cc.

Member Data Documentation

int64_t Hypertable::FsBroker::Lib::MetricsHandler::m_bytes_read {}
private

Bytes read since last metrics collection.

Definition at line 143 of file MetricsHandler.h.

int64_t Hypertable::FsBroker::Lib::MetricsHandler::m_bytes_written {}
private

Bytes written since last metrics collection.

Definition at line 140 of file MetricsHandler.h.

int32_t Hypertable::FsBroker::Lib::MetricsHandler::m_collection_interval
private

Metrics collection interval

Definition at line 134 of file MetricsHandler.h.

Comm* Hypertable::FsBroker::Lib::MetricsHandler::m_comm
private

Comm layer pointer.

Definition at line 122 of file MetricsHandler.h.

int32_t Hypertable::FsBroker::Lib::MetricsHandler::m_errors {}
private

Error count since last metrics collection.

Definition at line 152 of file MetricsHandler.h.

MetricsCollectorGangliaPtr Hypertable::FsBroker::Lib::MetricsHandler::m_ganglia_collector
private

Ganglia metrics collector.

Definition at line 125 of file MetricsHandler.h.

int64_t Hypertable::FsBroker::Lib::MetricsHandler::m_last_timestamp
private

Timestamp of last metrics collection

Definition at line 137 of file MetricsHandler.h.

MetricsProcess Hypertable::FsBroker::Lib::MetricsHandler::m_metrics_process
private

General process metrics tracker.

Definition at line 128 of file MetricsHandler.h.

std::mutex Hypertable::FsBroker::Lib::MetricsHandler::m_mutex
private

Mutex for serializing access to members

Definition at line 119 of file MetricsHandler.h.

int32_t Hypertable::FsBroker::Lib::MetricsHandler::m_sync_latency {}
private

Cumulative sync latency since last metrics collection.

Definition at line 146 of file MetricsHandler.h.

int32_t Hypertable::FsBroker::Lib::MetricsHandler::m_syncs {}
private

Syncs since last metrics collection.

Definition at line 149 of file MetricsHandler.h.

std::string Hypertable::FsBroker::Lib::MetricsHandler::m_type
private

FsBroker type (e.g. "local", "qfs", etc.)

Definition at line 131 of file MetricsHandler.h.


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