diff -r 000000000000 -r 6474c204b198 security/sandbox/chromium/base/profiler/alternate_timer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/security/sandbox/chromium/base/profiler/alternate_timer.h Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,44 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// This is a glue file, which allows third party code to call into our profiler +// without having to include most any functions from base. + +#ifndef BASE_PROFILER_ALTERNATE_TIMER_H_ +#define BASE_PROFILER_ALTERNATE_TIMER_H_ + +#include "base/base_export.h" + +namespace tracked_objects { + +enum TimeSourceType { + TIME_SOURCE_TYPE_WALL_TIME, + TIME_SOURCE_TYPE_TCMALLOC +}; + +// Provide type for an alternate timer function. +typedef unsigned int NowFunction(); + +// Environment variable name that is used to activate alternate timer profiling +// (such as using TCMalloc allocations to provide a pseudo-timer) for tasks +// instead of wall clock profiling. +BASE_EXPORT extern const char kAlternateProfilerTime[]; + +// Set an alternate timer function to replace the OS time function when +// profiling. Typically this is called by an allocator that is providing a +// function that indicates how much memory has been allocated on any given +// thread. +BASE_EXPORT void SetAlternateTimeSource(NowFunction* now_function, + TimeSourceType type); + +// Gets the pointer to a function that was set via SetAlternateTimeSource(). +// Returns NULL if no set was done prior to calling GetAlternateTimeSource. +NowFunction* GetAlternateTimeSource(); + +// Returns the type of the currently set time source. +BASE_EXPORT TimeSourceType GetTimeSourceType(); + +} // namespace tracked_objects + +#endif // BASE_PROFILER_ALTERNATE_TIMER_H_