• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #include "base/logging.h"
8 
9 namespace {
10 
11 tracked_objects::NowFunction* g_time_function = NULL;
12 tracked_objects::TimeSourceType g_time_source_type =
13     tracked_objects::TIME_SOURCE_TYPE_WALL_TIME;
14 
15 }  // anonymous namespace
16 
17 namespace tracked_objects {
18 
19 const char kAlternateProfilerTime[] = "CHROME_PROFILER_TIME";
20 
21 // Set an alternate timer function to replace the OS time function when
22 // profiling.
SetAlternateTimeSource(NowFunction * now_function,TimeSourceType type)23 void SetAlternateTimeSource(NowFunction* now_function, TimeSourceType type) {
24   DCHECK_EQ(reinterpret_cast<NowFunction*>(NULL), g_time_function);
25   g_time_function = now_function;
26   g_time_source_type = type;
27 }
28 
GetAlternateTimeSource()29 NowFunction* GetAlternateTimeSource() {
30   return g_time_function;
31 }
32 
GetTimeSourceType()33 TimeSourceType GetTimeSourceType() {
34   return g_time_source_type;
35 }
36 
37 }  // namespace tracked_objects
38