xrpld
Loading...
Searching...
No Matches
beast::insight::Collector Class Referenceabstract

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

#include <Collector.h>

Inheritance diagram for beast::insight::Collector:

Public Types

using ptr = std::shared_ptr<Collector>

Public Member Functions

virtual ~Collector ()=0
template<class Handler>
Hook makeHook (Handler handler)
 Create a hook.
virtual Hook makeHook (HookImpl::HandlerType const &handler)=0
virtual Counter makeCounter (std::string const &name)=0
 Create a counter with the specified name.
Counter makeCounter (std::string const &prefix, std::string const &name)
virtual Event makeEvent (std::string const &name)=0
 Create an event with the specified name.
Event makeEvent (std::string const &prefix, std::string const &name)
virtual Gauge makeGauge (std::string const &name)=0
 Create a gauge with the specified name.
Gauge makeGauge (std::string const &prefix, std::string const &name)
virtual Meter makeMeter (std::string const &name)=0
 Create a meter with the specified name.
Meter makeMeter (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 23 of file Collector.h.

Member Typedef Documentation

◆ ptr

Constructor & Destructor Documentation

◆ ~Collector()

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

Member Function Documentation

◆ makeHook() [1/2]

template<class Handler>
Hook beast::insight::Collector::makeHook ( 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 45 of file Collector.h.

◆ makeHook() [2/2]

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

◆ makeCounter() [1/2]

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

◆ makeCounter() [2/2]

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

Definition at line 62 of file Collector.h.

◆ makeEvent() [1/2]

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

◆ makeEvent() [2/2]

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

Definition at line 78 of file Collector.h.

◆ makeGauge() [1/2]

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

◆ makeGauge() [2/2]

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

Definition at line 94 of file Collector.h.

◆ makeMeter() [1/2]

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

◆ makeMeter() [2/2]

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

Definition at line 110 of file Collector.h.