OLD | NEW |
| (Empty) |
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 // This is a glue file, which allows third party code to call into our profiler | |
6 // without having to include most any functions from base. | |
7 | |
8 #ifndef BASE_PROFILER_ALTERNATE_TIMER_H_ | |
9 #define BASE_PROFILER_ALTERNATE_TIMER_H_ | |
10 | |
11 #include "base/base_export.h" | |
12 | |
13 namespace tracked_objects { | |
14 | |
15 enum TimeSourceType { TIME_SOURCE_TYPE_WALL_TIME }; | |
16 | |
17 // Provide type for an alternate timer function. | |
18 typedef unsigned int NowFunction(); | |
19 | |
20 // Set an alternate timer function to replace the OS time function when | |
21 // profiling. Typically this is called by an allocator that is providing a | |
22 // function that indicates how much memory has been allocated on any given | |
23 // thread. | |
24 BASE_EXPORT void SetAlternateTimeSource(NowFunction* now_function, | |
25 TimeSourceType type); | |
26 | |
27 // Gets the pointer to a function that was set via SetAlternateTimeSource(). | |
28 // Returns NULL if no set was done prior to calling GetAlternateTimeSource. | |
29 NowFunction* GetAlternateTimeSource(); | |
30 | |
31 // Returns the type of the currently set time source. | |
32 BASE_EXPORT TimeSourceType GetTimeSourceType(); | |
33 | |
34 } // namespace tracked_objects | |
35 | |
36 #endif // BASE_PROFILER_ALTERNATE_TIMER_H_ | |
OLD | NEW |