Sirikata
Public Member Functions | Private Member Functions | Private Attributes
Sirikata::Trace::GraphiteTimeSeries Class Reference

An implementation of TimeSeries which reports data to Graphite (actually to graphites underlying storage carbon + whisper). More...

#include <GraphiteTimeSeries.hpp>

Inheritance diagram for Sirikata::Trace::GraphiteTimeSeries:
Collaboration diagram for Sirikata::Trace::GraphiteTimeSeries:

List of all members.

Public Member Functions

 GraphiteTimeSeries (Context *ctx, const String &host, uint16 port)
virtual ~GraphiteTimeSeries ()
virtual void report (const String &name, float64 val)

Private Member Functions

void connect ()
void handleResolve (const boost::system::error_code &err, Network::TCPResolver::iterator endpoint_iterator)
void tryConnect (Network::TCPResolver::iterator endpoint_iterator)
void handleConnect (const boost::system::error_code &err, Network::TCPResolver::iterator endpoint_iterator)
void startSend ()
void handleSent (const boost::system::error_code &err)
void cleanup ()

Private Attributes

String mHost
uint16 mPort
Network::TCPResolvermResolver
Network::TCPSocketmSocket
bool mConnecting
bool mTransmitting
std::queue< String > mUpdates
String mCurrentUpdate

Detailed Description

An implementation of TimeSeries which reports data to Graphite (actually to graphites underlying storage carbon + whisper).

Graphite provides storage of numeric time-series data where resolution is reduced with age, allowing for fixed total storage. It also provides nice graphing utilities for exploring and inspecting the reported data. See http://graphite.wikidot.com.


Constructor & Destructor Documentation

Sirikata::Trace::GraphiteTimeSeries::GraphiteTimeSeries ( Context ctx,
const String &  host,
uint16  port 
)
Sirikata::Trace::GraphiteTimeSeries::~GraphiteTimeSeries ( ) [virtual]

References cleanup().


Member Function Documentation

void Sirikata::Trace::GraphiteTimeSeries::cleanup ( ) [private]
void Sirikata::Trace::GraphiteTimeSeries::connect ( ) [private]
void Sirikata::Trace::GraphiteTimeSeries::handleConnect ( const boost::system::error_code &  err,
Network::TCPResolver::iterator  endpoint_iterator 
) [private]
void Sirikata::Trace::GraphiteTimeSeries::handleResolve ( const boost::system::error_code &  err,
Network::TCPResolver::iterator  endpoint_iterator 
) [private]
void Sirikata::Trace::GraphiteTimeSeries::handleSent ( const boost::system::error_code &  err) [private]
void Sirikata::Trace::GraphiteTimeSeries::report ( const String &  name,
float64  val 
) [virtual]
void Sirikata::Trace::GraphiteTimeSeries::startSend ( ) [private]
void Sirikata::Trace::GraphiteTimeSeries::tryConnect ( Network::TCPResolver::iterator  endpoint_iterator) [private]

Member Data Documentation

Referenced by startSend().

Referenced by connect().

Referenced by cleanup(), and connect().

Referenced by cleanup(), handleSent(), and report().

std::queue<String> Sirikata::Trace::GraphiteTimeSeries::mUpdates [private]

Referenced by handleSent(), report(), and startSend().


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