12345678910111213141516171819202122232425262728293031323334353637 |
- // 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.
- #ifndef BASE_TEST_PERF_TIME_LOGGER_H_
- #define BASE_TEST_PERF_TIME_LOGGER_H_
- #include <string>
- #include "base/macros.h"
- #include "base/timer/elapsed_timer.h"
- namespace base {
- // Automates calling LogPerfResult for the common case where you want
- // to measure the time that something took. Call Done() when the test
- // is complete if you do extra work after the test or there are stack
- // objects with potentially expensive constructors. Otherwise, this
- // class with automatically log on destruction.
- class PerfTimeLogger {
- public:
- explicit PerfTimeLogger(const char* test_name);
- ~PerfTimeLogger();
- void Done();
- private:
- bool logged_;
- std::string test_name_;
- ElapsedTimer timer_;
- DISALLOW_COPY_AND_ASSIGN(PerfTimeLogger);
- };
- } // namespace base
- #endif // BASE_TEST_PERF_TIME_LOGGER_H_
|