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