rippled
Public Types | Public Member Functions | List of all members
beast::insight::Collector Class Referenceabstract

Interface for a manager that allows collection of metrics. More...

Inheritance diagram for beast::insight::Collector:
Inheritance graph
[legend]

Public Types

using ptr = std::shared_ptr< Collector >
 

Public Member Functions

virtual ~Collector ()=0
 
template<class Handler >
Hook make_hook (Handler handler)
 Create a hook. More...
 
virtual Hook make_hook (HookImpl::HandlerType const &handler)=0
 
virtual Counter make_counter (std::string const &name)=0
 Create a counter with the specified name. More...
 
Counter make_counter (std::string const &prefix, std::string const &name)
 
virtual Event make_event (std::string const &name)=0
 Create an event with the specified name. More...
 
Event make_event (std::string const &prefix, std::string const &name)
 
virtual Gauge make_gauge (std::string const &name)=0
 Create a gauge with the specified name. More...
 
Gauge make_gauge (std::string const &prefix, std::string const &name)
 
virtual Meter make_meter (std::string const &name)=0
 Create a meter with the specified name. More...
 
Meter make_meter (std::string const &prefix, std::string const &name)
 

Detailed Description

Interface for a manager that allows collection of metrics.

To export metrics from a class, pass and save a shared_ptr to this interface in the class constructor. Create the metric objects as desired (counters, events, gauges, meters, and an optional hook) using the interface.

See also
Counter, Event, Gauge, Hook, Meter
NullCollector, StatsDCollector

Definition at line 44 of file Collector.h.

Member Typedef Documentation

◆ ptr

Definition at line 47 of file Collector.h.

Constructor & Destructor Documentation

◆ ~Collector()

beast::insight::Collector::~Collector ( )
pure virtualdefault

Member Function Documentation

◆ make_hook() [1/2]

template<class Handler >
Hook beast::insight::Collector::make_hook ( Handler  handler)

Create a hook.

A hook is called at each collection interval, on an implementation defined thread. This is a convenience facility for gathering metrics in the polling style. The typical usage is to update all the metrics of interest in the handler.

Handler will be called with this signature: void handler (void)

See also
Hook

Definition at line 66 of file Collector.h.

◆ make_hook() [2/2]

virtual Hook beast::insight::Collector::make_hook ( HookImpl::HandlerType const &  handler)
pure virtual

◆ make_counter() [1/2]

virtual Counter beast::insight::Collector::make_counter ( std::string const &  name)
pure virtual

◆ make_counter() [2/2]

Counter beast::insight::Collector::make_counter ( std::string const &  prefix,
std::string const &  name 
)

Definition at line 83 of file Collector.h.

◆ make_event() [1/2]

virtual Event beast::insight::Collector::make_event ( std::string const &  name)
pure virtual

◆ make_event() [2/2]

Event beast::insight::Collector::make_event ( std::string const &  prefix,
std::string const &  name 
)

Definition at line 99 of file Collector.h.

◆ make_gauge() [1/2]

virtual Gauge beast::insight::Collector::make_gauge ( std::string const &  name)
pure virtual

◆ make_gauge() [2/2]

Gauge beast::insight::Collector::make_gauge ( std::string const &  prefix,
std::string const &  name 
)

Definition at line 115 of file Collector.h.

◆ make_meter() [1/2]

virtual Meter beast::insight::Collector::make_meter ( std::string const &  name)
pure virtual

◆ make_meter() [2/2]

Meter beast::insight::Collector::make_meter ( std::string const &  prefix,
std::string const &  name 
)

Definition at line 131 of file Collector.h.