File Information
Library: Prometheus
Package: Core
Header: Poco/Prometheus/Registry.h
Description
The metric registry is a collection of all active Collector instances.
The Registry internally stores plain pointers to Collector objects. Collector objects automatically register themselves with the default Registry (unless a nullptr is passed to the constructor's pRegistry parameter), but do not automatically unregister. This brings the danger of dangling pointers if Collector instances are destroyed without being explicitly unregistered first. In most practical cases this is not an issue as Collector instances will be alive for the entire run time of the process. However, it can be an issue if Collector instances are created and destroyed dynamically during the run time of the process.
Member Summary
Member Functions: clear, defaultRegistry, exportTo, findCollector, registerCollector, unregisterCollector
Constructors
Registry
Registry() = default;
Creates the Registry.
Destructor
~Registry
~Registry() = default;
Destroys the Registry.
Member Functions
clear
void clear();
defaultRegistry
static Registry & defaultRegistry();
Returns the default Registry.
exportTo
void exportTo(
Exporter & exporter
) const;
Exports all registered collector's metrics through the given Exporter.
findCollector
Collector * findCollector(
const std::string & collectorName
) const;
Looks up the Collector with the given name.
Returns a pointer to the collector instance if found, otherwise returns a nullptr.
registerCollector
void registerCollector(
Collector * pCollector
);
Registers a Collector with the Registry.
An attempt to register a collector with the name of an already registered collector will fail with a Poco::ExistsException.
unregisterCollector
void unregisterCollector(
Collector * pCollector
);
unregisterCollector
void unregisterCollector(
const std::string & collectorName
);