| // 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 |