Files
android/libwvdrmengine/cdm/metrics/src/timer_metric.cpp
Alex Dale f5759c5149 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
2021-11-05 15:12:09 -07:00

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