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

#include <BalanceAlgorithmLoad.h>

Inheritance diagram for Hypertable::BalanceAlgorithmLoad:
Inheritance graph
[legend]
Collaboration diagram for Hypertable::BalanceAlgorithmLoad:
Collaboration graph
[legend]

Classes

struct  GtRangeMetricSummary
 
struct  GtServerMetricSummary
 
class  RangeMetricSummary
 
class  ServerMetricSummary
 

Public Types

typedef std::multiset
< ServerMetricSummary,
GtServerMetricSummary
ServerSetDescLoad
 
typedef std::multiset
< RangeMetricSummary,
GtRangeMetricSummary
RangeSetDescLoad
 

Public Member Functions

 BalanceAlgorithmLoad (ContextPtr &context, std::vector< RangeServerStatistics > &statistics)
 
virtual void compute_plan (BalancePlanPtr &plan, std::vector< RangeServerConnectionPtr > &balanced)
 

Private Types

typedef std::map< String,
RangeServerStatistics
StatisticsSet
 

Private Member Functions

void calculate_server_summary (const Lib::RS_METRICS::ServerMetrics &metrics, ServerMetricSummary &summary)
 
void calculate_range_summary (const Lib::RS_METRICS::RangeMetrics &metrics, RangeMetricSummary &summary)
 
void populate_range_load_set (const Lib::RS_METRICS::RangeMetricsMap &range_metrics, RangeSetDescLoad &ranges_desc_load)
 
bool check_move (const ServerMetricSummary &source, const ServerMetricSummary &destination, double range_loadestimate, double mean_loadavg)
 

Private Attributes

StatisticsSet m_rsstats
 
double m_loadavg_deviation_threshold
 
ContextPtr m_context
 

Detailed Description

Definition at line 41 of file BalanceAlgorithmLoad.h.

Member Typedef Documentation

Definition at line 92 of file BalanceAlgorithmLoad.h.

Definition at line 74 of file BalanceAlgorithmLoad.h.

Definition at line 110 of file BalanceAlgorithmLoad.h.

Constructor & Destructor Documentation

BalanceAlgorithmLoad::BalanceAlgorithmLoad ( ContextPtr context,
std::vector< RangeServerStatistics > &  statistics 
)

Definition at line 33 of file BalanceAlgorithmLoad.cc.

Member Function Documentation

void BalanceAlgorithmLoad::calculate_range_summary ( const Lib::RS_METRICS::RangeMetrics metrics,
RangeMetricSummary summary 
)
private

Definition at line 189 of file BalanceAlgorithmLoad.cc.

void BalanceAlgorithmLoad::calculate_server_summary ( const Lib::RS_METRICS::ServerMetrics metrics,
ServerMetricSummary summary 
)
private

Definition at line 166 of file BalanceAlgorithmLoad.cc.

bool BalanceAlgorithmLoad::check_move ( const ServerMetricSummary source,
const ServerMetricSummary destination,
double  range_loadestimate,
double  mean_loadavg 
)
private

Definition at line 220 of file BalanceAlgorithmLoad.cc.

void BalanceAlgorithmLoad::compute_plan ( BalancePlanPtr plan,
std::vector< RangeServerConnectionPtr > &  balanced 
)
virtual

Implements Hypertable::BalanceAlgorithm.

Definition at line 44 of file BalanceAlgorithmLoad.cc.

void BalanceAlgorithmLoad::populate_range_load_set ( const Lib::RS_METRICS::RangeMetricsMap range_metrics,
RangeSetDescLoad ranges_desc_load 
)
private

Definition at line 207 of file BalanceAlgorithmLoad.cc.

Member Data Documentation

ContextPtr Hypertable::BalanceAlgorithmLoad::m_context
private

Definition at line 113 of file BalanceAlgorithmLoad.h.

double Hypertable::BalanceAlgorithmLoad::m_loadavg_deviation_threshold
private

Definition at line 112 of file BalanceAlgorithmLoad.h.

StatisticsSet Hypertable::BalanceAlgorithmLoad::m_rsstats
private

Definition at line 111 of file BalanceAlgorithmLoad.h.


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