#pragma once #include #include #include #include #include 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 make(IP::Endpoint const& address, std::string const& prefix, Journal journal); }; } // namespace beast::insight