diff options
Diffstat (limited to 'base/test/perf_time_logger.cc')
-rw-r--r-- | base/test/perf_time_logger.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/base/test/perf_time_logger.cc b/base/test/perf_time_logger.cc new file mode 100644 index 0000000..c05ba51 --- /dev/null +++ b/base/test/perf_time_logger.cc @@ -0,0 +1,27 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "base/test/perf_time_logger.h" + +#include "base/test/perf_log.h" + +namespace base { + +PerfTimeLogger::PerfTimeLogger(const char* test_name) + : logged_(false), test_name_(test_name) {} + +PerfTimeLogger::~PerfTimeLogger() { + if (!logged_) + Done(); +} + +void PerfTimeLogger::Done() { + // we use a floating-point millisecond value because it is more + // intuitive than microseconds and we want more precision than + // integer milliseconds + LogPerfResult(test_name_.c_str(), timer_.Elapsed().InMillisecondsF(), "ms"); + logged_ = true; +} + +} // namespace base |