Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1190)

Unified Diff: base/trace_event/trace_log.h

Issue 2557743002: tracing: simplify lifetime of TraceEventFilter(s) (Closed)
Patch Set: rebase Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/trace_event/trace_log.h
diff --git a/base/trace_event/trace_log.h b/base/trace_event/trace_log.h
index 88b6e588e406e70c064ebaea09918033354e15fc..d2048567a0781fa693347283d08eb69b1484f713 100644
--- a/base/trace_event/trace_log.h
+++ b/base/trace_event/trace_log.h
@@ -281,7 +281,8 @@ class BASE_EXPORT TraceLog : public MemoryDumpProvider {
// Testing factory for TraceEventFilter.
typedef std::unique_ptr<TraceEventFilter> (*FilterFactoryForTesting)(
- const std::string& /* predicate_name */);
+ const std::string& /* predicate_name */,
+ std::unique_ptr<TraceEventFilter::Config>);
void SetFilterFactoryForTesting(FilterFactoryForTesting factory) {
filter_factory_for_testing_ = factory;
}
@@ -355,14 +356,16 @@ class BASE_EXPORT TraceLog : public MemoryDumpProvider {
ProcessMemoryDump* pmd) override;
// Enable/disable each category group based on the current mode_,
- // category_filter_ and event_filters_enabled_.
- // Enable the category group in the recording mode if category_filter_ matches
+ // category_filter_ and state of event filters.
+ void UpdateCategoryRegistry();
+
+ // Enable the category in the recording mode if trace config matches
// the category group, is not null. Enable category for filtering if any
// filter in event_filters_enabled_ enables it.
- void UpdateCategoryRegistry();
void UpdateCategoryState(TraceCategory* category);
- void CreateFiltersForTraceConfig();
+ // Registers new TraceEventFilter(s) based on the current |trace_config_|.
+ void CreateFiltersAndUpdateFilterRegistry();
// Configure synthetic delays based on the values set in the current
// trace config.
@@ -473,7 +476,6 @@ class BASE_EXPORT TraceLog : public MemoryDumpProvider {
subtle::AtomicWord /* Options */ trace_options_;
TraceConfig trace_config_;
- TraceConfig::EventFilters enabled_event_filters_;
ThreadLocalPointer<ThreadLocalEventBuffer> thread_local_event_buffer_;
ThreadLocalBoolean thread_blocks_message_loop_;

Powered by Google App Engine
This is Rietveld 408576698