Blink roll 25b6bd3a7a131ffe68d809546ad1a20707915cdc:3a503f41ae42e5b79cfcd2ff10e65afde...
[chromium-blink-merge.git] / base / profiler / alternate_timer.cc
blob4eba89c255eca523c8ca69f821ab0575c7b14fe1
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.
5 #include "base/profiler/alternate_timer.h"
7 #include "base/logging.h"
9 namespace {
11 tracked_objects::NowFunction* g_time_function = NULL;
12 tracked_objects::TimeSourceType g_time_source_type =
13 tracked_objects::TIME_SOURCE_TYPE_WALL_TIME;
15 } // anonymous namespace
17 namespace tracked_objects {
19 const char kAlternateProfilerTime[] = "CHROME_PROFILER_TIME";
21 // Set an alternate timer function to replace the OS time function when
22 // profiling.
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;
29 NowFunction* GetAlternateTimeSource() {
30 return g_time_function;
33 TimeSourceType GetTimeSourceType() {
34 return g_time_source_type;
37 } // namespace tracked_objects