22#ifndef _PLUGINS_METRICS_ASPECT_METRICS_MANAGER_H_
23#define _PLUGINS_METRICS_ASPECT_METRICS_MANAGER_H_
25#include <core/utils/lock_list.h>
26#include <plugins/metrics/aspect/metrics_supplier.h>
27#include <plugins/metrics/protobuf/metrics.pb.h>
36 virtual std::list<io::prometheus::client::MetricFamily>
all_metrics() = 0;
Base class for metrics managers.
virtual void add_supplier(MetricsSupplier *supplier)=0
Add metrics supplier.
virtual ~MetricsManager()
Virtual empty destructor.
virtual const fawkes::LockList< MetricsSupplier * > & metrics_suppliers() const =0
Get list of current metrics suppliers.
virtual std::list< io::prometheus::client::MetricFamily > all_metrics()=0
Get combination of all metrics.
virtual void remove_supplier(MetricsSupplier *supplier)=0
Remove metrics supplier.
Fawkes library namespace.