[ 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
31 lines
822 B
C++
31 lines
822 B
C++
// Copyright 2017 Google LLC. All Rights Reserved. This file and proprietary
|
|
// source code may only be used and distributed under the Widevine License
|
|
// Agreement.
|
|
#include "timer_metric.h"
|
|
|
|
namespace wvcdm {
|
|
namespace metrics {
|
|
using ClockType = std::chrono::steady_clock;
|
|
using TimePoint = std::chrono::time_point<ClockType>;
|
|
|
|
void Timer::Start() {
|
|
start_ = ClockType::now();
|
|
is_started_ = true;
|
|
}
|
|
|
|
void Timer::Clear() { is_started_ = false; }
|
|
|
|
double Timer::AsMs() const {
|
|
if (!is_started_) return 0.0;
|
|
const TimePoint end = ClockType::now();
|
|
return (end - start_) / std::chrono::milliseconds(1);
|
|
}
|
|
|
|
double Timer::AsUs() const {
|
|
if (!is_started_) return 0.0;
|
|
const TimePoint end = ClockType::now();
|
|
return (end - start_) / std::chrono::microseconds(1);
|
|
}
|
|
} // namespace metrics
|
|
} // namespace wvcdm
|