Home | History | Annotate | Download | only in profiler
      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.
     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 
     29 NowFunction* GetAlternateTimeSource() {
     30   return g_time_function;
     31 }
     32 
     33 TimeSourceType GetTimeSourceType() {
     34   return g_time_source_type;
     35 }
     36 
     37 }  // namespace tracked_objects
     38