| Index: content/public/browser/tracing_controller.h
|
| diff --git a/content/public/browser/tracing_controller.h b/content/public/browser/tracing_controller.h
|
| index ae46199d2b9d55d7eec35bbf2abb74bab194d9f5..68184a5a844deaa2cb752643ccfb6a1e57fe011d 100644
|
| --- a/content/public/browser/tracing_controller.h
|
| +++ b/content/public/browser/tracing_controller.h
|
| @@ -6,8 +6,9 @@
|
| #define CONTENT_PUBLIC_BROWSER_TRACING_CONTROLLER_H_
|
|
|
| #include <set>
|
| +#include <string>
|
|
|
| -#include "base/debug/trace_event.h"
|
| +#include "base/callback.h"
|
| #include "content/common/content_export.h"
|
|
|
| namespace base {
|
| @@ -25,6 +26,7 @@ class TracingController;
|
| class TracingController {
|
| public:
|
| enum Options {
|
| + DEFAULT_OPTIONS = 0,
|
| ENABLE_SYSTRACE = 1 << 0,
|
| ENABLE_SAMPLING = 1 << 1,
|
| RECORD_CONTINUOUSLY = 1 << 2, // For EnableRecording() only.
|
| @@ -40,7 +42,7 @@ class TracingController {
|
| // groups.
|
| typedef base::Callback<void(const std::set<std::string>&)>
|
| GetCategoriesDoneCallback;
|
| - virtual void GetCategories(
|
| + virtual bool GetCategories(
|
| const GetCategoriesDoneCallback& callback) = 0;
|
|
|
| // Start recording on all processes.
|
| @@ -51,8 +53,8 @@ class TracingController {
|
| // Once all child processes have acked to the EnableRecording request,
|
| // EnableRecordingDoneCallback will be called back.
|
| //
|
| - // |filter| is a filter to control what category groups should be traced.
|
| - // A filter can have an optional '-' prefix to exclude category groups
|
| + // |category_filter| is a filter to control what category groups should be
|
| + // traced. A filter can have an optional '-' prefix to exclude category groups
|
| // that contain a matching category. Having both included and excluded
|
| // category patterns in the same list would not be supported.
|
| //
|
| @@ -63,7 +65,7 @@ class TracingController {
|
| // |options| controls what kind of tracing is enabled.
|
| typedef base::Callback<void()> EnableRecordingDoneCallback;
|
| virtual bool EnableRecording(
|
| - const base::debug::CategoryFilter& filter,
|
| + const std::string& category_filter,
|
| TracingController::Options options,
|
| const EnableRecordingDoneCallback& callback) = 0;
|
|
|
| @@ -97,11 +99,13 @@ class TracingController {
|
| // Once all child processes have acked to the EnableMonitoring request,
|
| // EnableMonitoringDoneCallback will be called back.
|
| //
|
| - // |filter| is a filter to control what category groups should be traced.
|
| + // |category_filter| is a filter to control what category groups should be
|
| + // traced.
|
| //
|
| // |options| controls what kind of tracing is enabled.
|
| typedef base::Callback<void()> EnableMonitoringDoneCallback;
|
| - virtual bool EnableMonitoring(const base::debug::CategoryFilter& filter,
|
| + virtual bool EnableMonitoring(
|
| + const std::string& category_filter,
|
| TracingController::Options options,
|
| const EnableMonitoringDoneCallback& callback) = 0;
|
|
|
| @@ -115,8 +119,8 @@ class TracingController {
|
|
|
| // Get the current monitoring configuration.
|
| virtual void GetMonitoringStatus(bool* out_enabled,
|
| - base::debug::CategoryFilter* out_filter,
|
| - TracingController::Options* out_options) = 0;
|
| + std::string* out_category_filter,
|
| + TracingController::Options* out_options) = 0;
|
|
|
| // Get the current monitoring traced data.
|
| //
|
| @@ -135,7 +139,7 @@ class TracingController {
|
| //
|
| // If |result_file_path| is empty and |callback| is null, trace data won't be
|
| // written to any file.
|
| - virtual void CaptureMonitoringSnapshot(
|
| + virtual bool CaptureMonitoringSnapshot(
|
| const base::FilePath& result_file_path,
|
| const TracingFileResultCallback& callback) = 0;
|
|
|
| @@ -146,6 +150,17 @@ class TracingController {
|
| virtual bool GetTraceBufferPercentFull(
|
| const GetTraceBufferPercentFullCallback& callback) = 0;
|
|
|
| + // |callback| will will be called every time the given event occurs on any
|
| + // process.
|
| + typedef base::Callback<void()> WatchEventCallback;
|
| + virtual bool SetWatchEvent(const std::string& category_name,
|
| + const std::string& event_name,
|
| + const WatchEventCallback& callback) = 0;
|
| +
|
| + // Cancel the watch event. If tracing is enabled, this may race with the
|
| + // watch event callback.
|
| + virtual bool CancelWatchEvent() = 0;
|
| +
|
| protected:
|
| virtual ~TracingController() {}
|
| };
|
|
|