diff options
author | Kristian Monsen <kristianm@google.com> | 2011-05-31 20:30:28 +0100 |
---|---|---|
committer | Kristian Monsen <kristianm@google.com> | 2011-06-14 20:31:41 -0700 |
commit | 72a454cd3513ac24fbdd0e0cb9ad70b86a99b801 (patch) | |
tree | 382278a54ce7a744d62fa510a9a80688cc12434b /chrome/common/profiling.h | |
parent | c4becdd46e31d261b930e4b5a539cbc1d45c23a6 (diff) | |
download | external_chromium-72a454cd3513ac24fbdd0e0cb9ad70b86a99b801.zip external_chromium-72a454cd3513ac24fbdd0e0cb9ad70b86a99b801.tar.gz external_chromium-72a454cd3513ac24fbdd0e0cb9ad70b86a99b801.tar.bz2 |
Merge Chromium.org at r11.0.672.0: Initial merge by git.
Change-Id: I8b4aaf611a2a405fe3fe10e8a94ea7658645c192
Diffstat (limited to 'chrome/common/profiling.h')
-rw-r--r-- | chrome/common/profiling.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/chrome/common/profiling.h b/chrome/common/profiling.h new file mode 100644 index 0000000..21aebd1 --- /dev/null +++ b/chrome/common/profiling.h @@ -0,0 +1,48 @@ +// Copyright (c) 2006-2008 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. + +#ifndef CHROME_COMMON_PROFILING_H_ +#define CHROME_COMMON_PROFILING_H_ +#pragma once + +#include "build/build_config.h" + +#include "base/basictypes.h" +#include "base/debug/profiler.h" + +// The Profiling class manages the interaction with a sampling based profiler. +// Its function is controlled by the kProfilingAtStart, kProfilingFile, and +// kProfilingFlush command line values. +// All of the API should only be called from the main thread of the process. +class Profiling { + public: + // Called early in a process' life to allow profiling of startup time. + // the presence of kProfilingAtStart is checked. + static void ProcessStarted(); + + // Start profiling. + static void Start(); + + // Stop profiling and write out profiling file. + static void Stop(); + + // Returns true if the process is being profiled. + static bool BeingProfiled(); + + // Called when the main message loop is started, so that automatic flushing + // of the profile data file can be done. + static void MainMessageLoopStarted(); + + // Toggle profiling on/off. + static void Toggle(); + + private: + // Do not instantiate this class. + Profiling(); + + DISALLOW_COPY_AND_ASSIGN(Profiling); +}; + +#endif // CHROME_COMMON_PROFILING_H_ + |