metric.cpp (3a1c297a36bcd78d33ee45c603cb1b46e4619f49) | metric.cpp (cff70c14ef8cadb7fffd0cd41e06b972fa240e56) |
---|---|
1#include "metric.hpp" 2 3#include "metrics/collection_data.hpp" 4#include "types/report_types.hpp" 5#include "types/sensor_types.hpp" 6#include "utils/labeled_tuple.hpp" 7#include "utils/transform.hpp" 8 9#include <sdbusplus/exception.hpp> 10 11#include <algorithm> 12 13Metric::Metric(Sensors sensorsIn, OperationType operationTypeIn, | 1#include "metric.hpp" 2 3#include "metrics/collection_data.hpp" 4#include "types/report_types.hpp" 5#include "types/sensor_types.hpp" 6#include "utils/labeled_tuple.hpp" 7#include "utils/transform.hpp" 8 9#include <sdbusplus/exception.hpp> 10 11#include <algorithm> 12 13Metric::Metric(Sensors sensorsIn, OperationType operationTypeIn, |
14 std::string idIn, CollectionTimeScope timeScopeIn, | 14 CollectionTimeScope timeScopeIn, |
15 CollectionDuration collectionDurationIn, 16 std::unique_ptr<interfaces::Clock> clockIn) : | 15 CollectionDuration collectionDurationIn, 16 std::unique_ptr<interfaces::Clock> clockIn) : |
17 id(std::move(idIn)), 18 sensors(std::move(sensorsIn)), operationType(operationTypeIn), 19 collectionTimeScope(timeScopeIn), collectionDuration(collectionDurationIn), | 17 sensors(std::move(sensorsIn)), 18 operationType(operationTypeIn), collectionTimeScope(timeScopeIn), 19 collectionDuration(collectionDurationIn), |
20 collectionAlgorithms( 21 metrics::makeCollectionData(sensors.size(), operationType, 22 collectionTimeScope, collectionDuration)), 23 clock(std::move(clockIn)) 24{} 25 26void Metric::registerForUpdates(interfaces::MetricListener& listener) 27{ --- 48 unchanged lines hidden (view full) --- 76 { 77 const auto idx = readings.size(); 78 std::swap(collectionAlgorithms[i], 79 collectionAlgorithms[idx]); 80 std::swap(sensors[i], sensors[idx]); 81 i = idx; 82 } 83 | 20 collectionAlgorithms( 21 metrics::makeCollectionData(sensors.size(), operationType, 22 collectionTimeScope, collectionDuration)), 23 clock(std::move(clockIn)) 24{} 25 26void Metric::registerForUpdates(interfaces::MetricListener& listener) 27{ --- 48 unchanged lines hidden (view full) --- 76 { 77 const auto idx = readings.size(); 78 std::swap(collectionAlgorithms[i], 79 collectionAlgorithms[idx]); 80 std::swap(sensors[i], sensors[idx]); 81 i = idx; 82 } 83 |
84 readings.emplace_back(id, sensors[i]->metadata(), *value, | 84 readings.emplace_back(sensors[i]->metadata(), *value, |
85 systemTimestamp); 86 } 87 } 88 } 89 90 return readings; 91} 92 --- 25 unchanged lines hidden (view full) --- 118 119LabeledMetricParameters Metric::dumpConfiguration() const 120{ 121 auto sensorPath = utils::transform(sensors, [this](const auto& sensor) { 122 return LabeledSensorInfo(sensor->id().service, sensor->id().path, 123 sensor->metadata()); 124 }); 125 | 85 systemTimestamp); 86 } 87 } 88 } 89 90 return readings; 91} 92 --- 25 unchanged lines hidden (view full) --- 118 119LabeledMetricParameters Metric::dumpConfiguration() const 120{ 121 auto sensorPath = utils::transform(sensors, [this](const auto& sensor) { 122 return LabeledSensorInfo(sensor->id().service, sensor->id().path, 123 sensor->metadata()); 124 }); 125 |
126 return LabeledMetricParameters(std::move(sensorPath), operationType, id, | 126 return LabeledMetricParameters(std::move(sensorPath), operationType, |
127 collectionTimeScope, collectionDuration); 128} 129 130uint64_t Metric::metricCount() const 131{ 132 return sensors.size(); 133} 134 --- 34 unchanged lines hidden --- | 127 collectionTimeScope, collectionDuration); 128} 129 130uint64_t Metric::metricCount() const 131{ 132 return sensors.size(); 133} 134 --- 34 unchanged lines hidden --- |