Files
rippled/include/xrpl/beast/insight/StatsDCollector.h
2026-07-13 10:40:40 +00:00

33 lines
813 B
C++

#pragma once
#include <xrpl/beast/insight/Collector.h>
#include <xrpl/beast/net/IPEndpoint.h>
#include <xrpl/beast/utility/Journal.h>
#include <memory>
#include <string>
namespace beast::insight {
/**
* A Collector that reports metrics to a StatsD server.
* Reference:
* https://github.com/b/statsd_spec
*/
class StatsDCollector : public Collector
{
public:
explicit StatsDCollector() = default;
/**
* Create a StatsD collector.
* @param address The IP address and port of the StatsD server.
* @param prefix A string pre-pended before each metric name.
* @param journal Destination for logging output.
*/
static std::shared_ptr<StatsDCollector>
make(IP::Endpoint const& address, std::string const& prefix, Journal journal);
};
} // namespace beast::insight