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

#include <Monitoring.h>

Collaboration diagram for Hypertable::Monitoring:
Collaboration graph
[legend]

Classes

struct  rangeserver_rrd_data
 
struct  table_rrd_data
 

Public Member Functions

 Monitoring (Context *context)
 Constructor. More...
 
void add_server (const String &location, const StatsSystem &system_info)
 
void drop_server (const String &location)
 
void add (std::vector< RangeServerStatistics > &stats)
 
void change_id_mapping (const String &table_id, const String &table_name)
 
void invalidate_id_mapping (const String &table_id)
 

Private Types

typedef std::map< String,
RangeServerStatistics * > 
RangeServerMap
 
typedef std::map< String,
table_rrd_data
TableStatMap
 
typedef std::map< String, StringTableNameMap
 

Private Member Functions

void create_dir (const String &dir)
 
void compute_clock_skew (int64_t server_timestamp, RangeServerStatistics *stats)
 
void create_rangeserver_rrd (const String &filename)
 
void update_rangeserver_rrd (const String &filename, struct rangeserver_rrd_data &rrd_data)
 
void run_rrdtool (std::vector< String > &command)
 
void dump_rangeserver_summary_json (std::vector< RangeServerStatistics > &stats)
 
void dump_master_summary_json ()
 
void create_table_rrd (const String &filename)
 
void update_table_rrd (const String &filename, struct table_rrd_data &rrd_data)
 
void add_table_stats (std::vector< StatsTable > &table_stats, int64_t fetch_timestamp)
 
void dump_table_summary_json ()
 
void dump_table_id_name_map ()
 

Private Attributes

Contextm_context
 
std::mutex m_mutex
 
RangeServerMap m_server_map
 
TableStatMap m_table_stat_map
 
TableStatMap m_prev_table_stat_map
 
TableNameMap m_table_name_map
 
String m_monitoring_dir
 
String m_monitoring_table_dir
 
String m_monitoring_rs_dir
 
int32_t m_monitoring_interval
 
int32_t m_allowable_skew
 
int32_t m_last_server_count
 
unsigned char m_last_server_set_digest [16]
 
uint64_t table_stats_timestamp
 
NameIdMapperPtr m_namemap_ptr
 
bool m_disable_rrdtool
 

Detailed Description

Definition at line 47 of file Monitoring.h.

Member Typedef Documentation

Definition at line 153 of file Monitoring.h.

Definition at line 155 of file Monitoring.h.

Definition at line 154 of file Monitoring.h.

Constructor & Destructor Documentation

Monitoring::Monitoring ( Context context)

Constructor.

Create directories for storing monitoring stats

Definition at line 47 of file Monitoring.cc.

Member Function Documentation

void Monitoring::add ( std::vector< RangeServerStatistics > &  stats)

Definition at line 118 of file Monitoring.cc.

void Monitoring::add_server ( const String location,
const StatsSystem system_info 
)

Definition at line 79 of file Monitoring.cc.

void Monitoring::add_table_stats ( std::vector< StatsTable > &  table_stats,
int64_t  fetch_timestamp 
)
private

Definition at line 350 of file Monitoring.cc.

void Monitoring::change_id_mapping ( const String table_id,
const String table_name 
)

Definition at line 795 of file Monitoring.cc.

void Monitoring::compute_clock_skew ( int64_t  server_timestamp,
RangeServerStatistics stats 
)
private

Definition at line 389 of file Monitoring.cc.

void Monitoring::create_dir ( const String dir)
private

Definition at line 68 of file Monitoring.cc.

void Monitoring::create_rangeserver_rrd ( const String filename)
private

Create rrd file read rrdcreate man page to understand what this does http://oss.oetiker.ch/rrdtool/doc/rrdcreate.en.html

Definition at line 415 of file Monitoring.cc.

void Monitoring::create_table_rrd ( const String filename)
private

Create rrd file read rrdcreate man page to understand what this does http://oss.oetiker.ch/rrdtool/doc/rrdcreate.en.html

Definition at line 479 of file Monitoring.cc.

void Monitoring::drop_server ( const String location)

Definition at line 95 of file Monitoring.cc.

void Monitoring::dump_master_summary_json ( )
private

Definition at line 634 of file Monitoring.cc.

void Monitoring::dump_rangeserver_summary_json ( std::vector< RangeServerStatistics > &  stats)
private

Definition at line 659 of file Monitoring.cc.

void Hypertable::Monitoring::dump_table_id_name_map ( )
private
void Monitoring::dump_table_summary_json ( )
private

Definition at line 746 of file Monitoring.cc.

void Monitoring::invalidate_id_mapping ( const String table_id)

Definition at line 802 of file Monitoring.cc.

void Monitoring::run_rrdtool ( std::vector< String > &  command)
private

Definition at line 806 of file Monitoring.cc.

void Monitoring::update_rangeserver_rrd ( const String filename,
struct rangeserver_rrd_data rrd_data 
)
private

Definition at line 563 of file Monitoring.cc.

void Monitoring::update_table_rrd ( const String filename,
struct table_rrd_data rrd_data 
)
private

Definition at line 528 of file Monitoring.cc.

Member Data Documentation

int32_t Hypertable::Monitoring::m_allowable_skew
private

Definition at line 167 of file Monitoring.h.

Context* Hypertable::Monitoring::m_context
private

Definition at line 157 of file Monitoring.h.

bool Hypertable::Monitoring::m_disable_rrdtool
private

Definition at line 172 of file Monitoring.h.

int32_t Hypertable::Monitoring::m_last_server_count
private

Definition at line 168 of file Monitoring.h.

unsigned char Hypertable::Monitoring::m_last_server_set_digest[16]
private

Definition at line 169 of file Monitoring.h.

String Hypertable::Monitoring::m_monitoring_dir
private

Definition at line 163 of file Monitoring.h.

int32_t Hypertable::Monitoring::m_monitoring_interval
private

Definition at line 166 of file Monitoring.h.

String Hypertable::Monitoring::m_monitoring_rs_dir
private

Definition at line 165 of file Monitoring.h.

String Hypertable::Monitoring::m_monitoring_table_dir
private

Definition at line 164 of file Monitoring.h.

std::mutex Hypertable::Monitoring::m_mutex
private

Definition at line 158 of file Monitoring.h.

NameIdMapperPtr Hypertable::Monitoring::m_namemap_ptr
private

Definition at line 171 of file Monitoring.h.

TableStatMap Hypertable::Monitoring::m_prev_table_stat_map
private

Definition at line 161 of file Monitoring.h.

RangeServerMap Hypertable::Monitoring::m_server_map
private

Definition at line 159 of file Monitoring.h.

TableNameMap Hypertable::Monitoring::m_table_name_map
private

Definition at line 162 of file Monitoring.h.

TableStatMap Hypertable::Monitoring::m_table_stat_map
private

Definition at line 160 of file Monitoring.h.

uint64_t Hypertable::Monitoring::table_stats_timestamp
private

Definition at line 170 of file Monitoring.h.


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