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