Chromium Code Reviews| Index: base/trace_event/trace_log.h |
| diff --git a/base/trace_event/trace_log.h b/base/trace_event/trace_log.h |
| index e4407e81bdcf35c7e1d793bd8b397ddaa4a193c7..08f5378bb3e239941399129861afcbc5ec6990e6 100644 |
| --- a/base/trace_event/trace_log.h |
| +++ b/base/trace_event/trace_log.h |
| @@ -60,7 +60,9 @@ class BASE_EXPORT TraceLog : public MemoryDumpProvider { |
| // Category group enabled by SetEventCallbackEnabled(). |
| ENABLED_FOR_EVENT_CALLBACK = 1 << 2, |
| // Category group enabled to export events to ETW. |
| - ENABLED_FOR_ETW_EXPORT = 1 << 3 |
| + ENABLED_FOR_ETW_EXPORT = 1 << 3, |
| + // TODO description |
|
Primiano Tucci (use gerrit)
2016/05/27 17:47:06
mind the todo :)
|
| + ENABLED_FOR_FILTERING = 1 << 4 |
| }; |
| static TraceLog* GetInstance(); |
| @@ -286,6 +288,10 @@ class BASE_EXPORT TraceLog : public MemoryDumpProvider { |
| const char* name, |
| TraceEventHandle handle); |
| + void EndFilteredEvent(const unsigned char* category_group_enabled, |
| + const char* name, |
| + TraceEventHandle handle); |
| + |
| // For every matching event, the callback will be called. |
| typedef base::Callback<void()> WatchEventCallback; |
| void SetWatchEvent(const std::string& category_name, |
| @@ -306,6 +312,21 @@ class BASE_EXPORT TraceLog : public MemoryDumpProvider { |
| // Allows deleting our singleton instance. |
| static void DeleteForTesting(); |
| + class TraceEventFilter { |
| + public: |
| + TraceEventFilter() {} |
| + virtual ~TraceEventFilter() {} |
| + virtual bool FilterTraceEvent(const TraceEvent& trace_event) const = 0; |
|
Primiano Tucci (use gerrit)
2016/05/31 15:41:24
Maybe call these
// Returns true if the event shou
|
| + virtual void EndEvent(const char* category_group, const char* name) {} |
| + |
| + private: |
| + DISALLOW_COPY_AND_ASSIGN(TraceEventFilter); |
| + }; |
| + typedef std::unique_ptr<TraceEventFilter> ( |
| + *TraceEventFilterConstructorForTesting)(void); |
| + static void SetTraceEventFilterConstructorForTesting( |
| + TraceEventFilterConstructorForTesting predicate); |
| + |
| // Allow tests to inspect TraceEvents. |
| TraceEvent* GetEventByHandle(TraceEventHandle handle); |