metric.hpp (18e7101cf3283c32fa52ed8b00697e1e1f59015a) | metric.hpp (cff70c14ef8cadb7fffd0cd41e06b972fa240e56) |
---|---|
1#pragma once 2 3#include "interfaces/clock.hpp" 4#include "interfaces/metric.hpp" 5#include "interfaces/metric_listener.hpp" 6#include "interfaces/sensor.hpp" 7#include "interfaces/sensor_listener.hpp" 8#include "metrics/collection_data.hpp" 9#include "types/collection_duration.hpp" 10 11class Metric : 12 public interfaces::Metric, 13 public interfaces::SensorListener, 14 public std::enable_shared_from_this<Metric> 15{ 16 public: | 1#pragma once 2 3#include "interfaces/clock.hpp" 4#include "interfaces/metric.hpp" 5#include "interfaces/metric_listener.hpp" 6#include "interfaces/sensor.hpp" 7#include "interfaces/sensor_listener.hpp" 8#include "metrics/collection_data.hpp" 9#include "types/collection_duration.hpp" 10 11class Metric : 12 public interfaces::Metric, 13 public interfaces::SensorListener, 14 public std::enable_shared_from_this<Metric> 15{ 16 public: |
17 Metric(Sensors sensors, OperationType operationType, std::string id, 18 CollectionTimeScope, CollectionDuration, 19 std::unique_ptr<interfaces::Clock>); | 17 Metric(Sensors sensors, OperationType operationType, CollectionTimeScope, 18 CollectionDuration, std::unique_ptr<interfaces::Clock>); |
20 21 void initialize() override; 22 void deinitialize() override; 23 const std::vector<MetricValue>& getUpdatedReadings() override; 24 void sensorUpdated(interfaces::Sensor&, Milliseconds, 25 double value) override; 26 LabeledMetricParameters dumpConfiguration() const override; 27 uint64_t metricCount() const override; 28 void registerForUpdates(interfaces::MetricListener& listener) override; 29 void unregisterFromUpdates(interfaces::MetricListener& listener) override; 30 void updateReadings(Milliseconds) override; 31 bool isTimerRequired() const override; 32 33 private: 34 metrics::CollectionData& 35 findAssociatedData(const interfaces::Sensor& notifier); 36 | 19 20 void initialize() override; 21 void deinitialize() override; 22 const std::vector<MetricValue>& getUpdatedReadings() override; 23 void sensorUpdated(interfaces::Sensor&, Milliseconds, 24 double value) override; 25 LabeledMetricParameters dumpConfiguration() const override; 26 uint64_t metricCount() const override; 27 void registerForUpdates(interfaces::MetricListener& listener) override; 28 void unregisterFromUpdates(interfaces::MetricListener& listener) override; 29 void updateReadings(Milliseconds) override; 30 bool isTimerRequired() const override; 31 32 private: 33 metrics::CollectionData& 34 findAssociatedData(const interfaces::Sensor& notifier); 35 |
37 std::string id; | |
38 std::vector<MetricValue> readings; 39 Sensors sensors; 40 OperationType operationType; 41 CollectionTimeScope collectionTimeScope; 42 CollectionDuration collectionDuration; 43 std::vector<std::unique_ptr<metrics::CollectionData>> collectionAlgorithms; 44 std::unique_ptr<interfaces::Clock> clock; 45 std::vector<std::reference_wrapper<interfaces::MetricListener>> listeners; 46}; | 36 std::vector<MetricValue> readings; 37 Sensors sensors; 38 OperationType operationType; 39 CollectionTimeScope collectionTimeScope; 40 CollectionDuration collectionDuration; 41 std::vector<std::unique_ptr<metrics::CollectionData>> collectionAlgorithms; 42 std::unique_ptr<interfaces::Clock> clock; 43 std::vector<std::reference_wrapper<interfaces::MetricListener>> listeners; 44}; |