1#include <xrpl/beast/insight/Groups.h>
3#include <xrpl/beast/hash/uhash.h>
4#include <xrpl/beast/insight/Collector.h>
5#include <xrpl/beast/insight/Counter.h>
6#include <xrpl/beast/insight/Event.h>
7#include <xrpl/beast/insight/Gauge.h>
8#include <xrpl/beast/insight/Group.h>
9#include <xrpl/beast/insight/Hook.h>
10#include <xrpl/beast/insight/HookImpl.h>
11#include <xrpl/beast/insight/Meter.h>
std::shared_ptr< Collector > ptr
A metric for measuring an integral value.
A metric for reporting event timing.
A metric for measuring an integral value.
A collector front-end that manages a group of metrics.
std::shared_ptr< Group > ptr
A container for managing a set of metric groups.
std::function< void(void)> HandlerType
A reference to a handler for performing polled collection.
A metric for measuring an integral value.
Hook makeHook(HookImpl::HandlerType const &handler) override
GroupImp & operator=(GroupImp const &)=delete
std::string const & name() const override
Returns the name of this group, for diagnostics.
Event makeEvent(std::string const &name) override
Create an event with the specified name.
Collector::ptr collector_
Meter makeMeter(std::string const &name) override
Create a meter with the specified name.
~GroupImp() override=default
Counter makeCounter(std::string const &name) override
Create a counter with the specified name.
Gauge makeGauge(std::string const &name) override
Create a gauge with the specified name.
std::string makeName(std::string const &name)
GroupImp(std::string name, Collector::ptr collector)
std::unordered_map< std::string, std::shared_ptr< Group >, Uhash<> > Items
~GroupsImp() override=default
Group::ptr const & get(std::string const &name) override
Find or create a new collector with a given name.
GroupsImp(Collector::ptr collector)
std::unique_ptr< Groups > makeGroups(Collector::ptr const &collector)
Create a group container that uses the specified collector.