metric.hpp (8069771c0db62887b72aa2b8c51cd64eb5f99b2d) metric.hpp (7e098e93ef0974739459d296f99ddfab54722c23)
1#pragma once
2
3#include "metric_value.hpp"
4#include "types/report_types.hpp"
5
6#include <nlohmann/json.hpp>
7
8#include <vector>
9
10namespace interfaces
11{
12
13class Metric
14{
15 public:
16 virtual ~Metric() = default;
17
18 virtual void initialize() = 0;
1#pragma once
2
3#include "metric_value.hpp"
4#include "types/report_types.hpp"
5
6#include <nlohmann/json.hpp>
7
8#include <vector>
9
10namespace interfaces
11{
12
13class Metric
14{
15 public:
16 virtual ~Metric() = default;
17
18 virtual void initialize() = 0;
19 virtual void deinitialize() = 0;
19 virtual std::vector<MetricValue> getReadings() const = 0;
20 virtual LabeledMetricParameters dumpConfiguration() const = 0;
21};
22
23} // namespace interfaces
20 virtual std::vector<MetricValue> getReadings() const = 0;
21 virtual LabeledMetricParameters dumpConfiguration() const = 0;
22};
23
24} // namespace interfaces