Updated metric Distribution and Timer utils.
[ Merge of http://go/wvgerrit/137811 ] Renamed TimerMetric to Timer. Timer is used to generate durations included in metrics, but is not a metric itself. The method of getting the current time did not require creating an instance of std::steady_clock. Updated Distribution and Timer to use default initializers instead of constructor initialization list. Bug: 204946540 Test: Metric unit tests Change-Id: I7ed291b586347dd0b7ab305960883bec04637315
This commit is contained in:
@@ -4,12 +4,12 @@
|
||||
//
|
||||
// This file contains the definition of a Distribution class which computes
|
||||
// the distribution values of a series of samples.
|
||||
|
||||
#ifndef WVCDM_METRICS_DISTRIBUTION_H_
|
||||
#define WVCDM_METRICS_DISTRIBUTION_H_
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <limits>
|
||||
|
||||
namespace wvcdm {
|
||||
namespace metrics {
|
||||
// The Distribution class holds statistics about a series of values that the
|
||||
@@ -25,7 +25,7 @@ namespace metrics {
|
||||
// dist.Count(); // Returns 2.
|
||||
class Distribution {
|
||||
public:
|
||||
Distribution();
|
||||
Distribution() {}
|
||||
|
||||
// Uses the provided sample value to update the computed statistics.
|
||||
void Record(float value);
|
||||
@@ -41,11 +41,11 @@ class Distribution {
|
||||
}
|
||||
|
||||
private:
|
||||
uint64_t count_;
|
||||
float min_;
|
||||
float max_;
|
||||
float mean_;
|
||||
double sum_squared_deviation_;
|
||||
uint64_t count_ = 0;
|
||||
float min_ = std::numeric_limits<float>::max();
|
||||
float max_ = std::numeric_limits<float>::lowest();
|
||||
float mean_ = 0.0f;
|
||||
double sum_squared_deviation_ = 0.0;
|
||||
};
|
||||
} // namespace metrics
|
||||
} // namespace wvcdm
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
// sts);
|
||||
#define M_TIME(CALL, GROUP, METRIC, ...) \
|
||||
if (GROUP) { \
|
||||
wvcdm::metrics::TimerMetric timer; \
|
||||
wvcdm::metrics::Timer timer; \
|
||||
timer.Start(); \
|
||||
CALL; \
|
||||
(GROUP)->METRIC.Record(timer.AsUs(), ##__VA_ARGS__); \
|
||||
@@ -488,7 +488,7 @@ class EngineMetrics {
|
||||
std::vector<std::shared_ptr<metrics::SessionMetrics>>
|
||||
completed_session_metrics_list_;
|
||||
// This is used to populate the engine lifespan metric
|
||||
metrics::TimerMetric life_span_internal_;
|
||||
metrics::Timer life_span_internal_;
|
||||
CryptoMetrics crypto_metrics_;
|
||||
std::string app_package_name_;
|
||||
|
||||
|
||||
@@ -7,10 +7,9 @@
|
||||
|
||||
namespace wvcdm {
|
||||
namespace metrics {
|
||||
class TimerMetric {
|
||||
class Timer {
|
||||
public:
|
||||
// Constructs a new TimerMetric.
|
||||
explicit TimerMetric() : is_started_(false) {}
|
||||
Timer() {}
|
||||
// Starts the clock running. If the clock was previously set, this resets it.
|
||||
// IsStarted will return true after this call.
|
||||
void Start();
|
||||
@@ -25,9 +24,8 @@ class TimerMetric {
|
||||
double AsUs() const;
|
||||
|
||||
private:
|
||||
std::chrono::steady_clock clock_;
|
||||
std::chrono::time_point<std::chrono::steady_clock> start_;
|
||||
bool is_started_;
|
||||
bool is_started_ = false;
|
||||
};
|
||||
} // namespace metrics
|
||||
} // namespace wvcdm
|
||||
|
||||
Reference in New Issue
Block a user