| // Copyright (c) 2012 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/profiler/alternate_timer.h" |
| |
| #include "base/logging.h" |
| |
| namespace { |
| |
| tracked_objects::NowFunction* g_time_function = NULL; |
| tracked_objects::TimeSourceType g_time_source_type = |
| tracked_objects::TIME_SOURCE_TYPE_WALL_TIME; |
| |
| } // anonymous namespace |
| |
| namespace tracked_objects { |
| |
| const char kAlternateProfilerTime[] = "CHROME_PROFILER_TIME"; |
| |
| // Set an alternate timer function to replace the OS time function when |
| // profiling. |
| void SetAlternateTimeSource(NowFunction* now_function, TimeSourceType type) { |
| DCHECK_EQ(reinterpret_cast<NowFunction*>(NULL), g_time_function); |
| g_time_function = now_function; |
| g_time_source_type = type; |
| } |
| |
| NowFunction* GetAlternateTimeSource() { |
| return g_time_function; |
| } |
| |
| TimeSourceType GetTimeSourceType() { |
| return g_time_source_type; |
| } |
| |
| } // namespace tracked_objects |