perf_time_logger.cc 735 B

123456789101112131415161718192021222324252627
  1. // Copyright 2013 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "base/test/perf_time_logger.h"
  5. #include "base/test/perf_log.h"
  6. namespace base {
  7. PerfTimeLogger::PerfTimeLogger(const char* test_name)
  8. : logged_(false), test_name_(test_name) {}
  9. PerfTimeLogger::~PerfTimeLogger() {
  10. if (!logged_)
  11. Done();
  12. }
  13. void PerfTimeLogger::Done() {
  14. // we use a floating-point millisecond value because it is more
  15. // intuitive than microseconds and we want more precision than
  16. // integer milliseconds
  17. LogPerfResult(test_name_.c_str(), timer_.Elapsed().InMillisecondsF(), "ms");
  18. logged_ = true;
  19. }
  20. } // namespace base