1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "base/profiler/alternate_timer.h"
6 
7 namespace {
8 
9 tracked_objects::NowFunction* g_time_function = nullptr;
10 tracked_objects::TimeSourceType g_time_source_type =
11     tracked_objects::TIME_SOURCE_TYPE_WALL_TIME;
12 
13 }  // anonymous namespace
14 
15 namespace tracked_objects {
16 
17 const char kAlternateProfilerTime[] = "CHROME_PROFILER_TIME";
18 
19 // Set an alternate timer function to replace the OS time function when
20 // profiling.
SetAlternateTimeSource(NowFunction * now_function,TimeSourceType type)21 void SetAlternateTimeSource(NowFunction* now_function, TimeSourceType type) {
22   g_time_function = now_function;
23   g_time_source_type = type;
24 }
25 
GetAlternateTimeSource()26 NowFunction* GetAlternateTimeSource() {
27   return g_time_function;
28 }
29 
GetTimeSourceType()30 TimeSourceType GetTimeSourceType() {
31   return g_time_source_type;
32 }
33 
34 }  // namespace tracked_objects
35