diff options
Diffstat (limited to 'base/trace_event/trace_config.h')
-rw-r--r-- | base/trace_event/trace_config.h | 63 |
1 files changed, 11 insertions, 52 deletions
diff --git a/base/trace_event/trace_config.h b/base/trace_event/trace_config.h index 717c261316..91d6f1f3bd 100644 --- a/base/trace_event/trace_config.h +++ b/base/trace_event/trace_config.h @@ -7,10 +7,8 @@ #include <stdint.h> -#include <memory> #include <set> #include <string> -#include <unordered_set> #include <vector> #include "base/base_export.h" @@ -53,9 +51,8 @@ class BASE_EXPORT TraceConfig { // Specifies the triggers in the memory dump config. struct Trigger { - uint32_t min_time_between_dumps_ms; + uint32_t periodic_interval_ms; MemoryDumpLevelOfDetail level_of_detail; - MemoryDumpType trigger_type; }; // Specifies the configuration options for the heap profiler. @@ -74,8 +71,6 @@ class BASE_EXPORT TraceConfig { // Reset the values in the config. void Clear(); - void Merge(const MemoryDumpConfig& config); - // Set of memory dump modes allowed for the tracing session. The explicitly // triggered dumps will be successful only if the dump mode is allowed in // the config. @@ -85,39 +80,6 @@ class BASE_EXPORT TraceConfig { HeapProfiler heap_profiler_options; }; - class BASE_EXPORT EventFilterConfig { - public: - EventFilterConfig(const std::string& predicate_name); - EventFilterConfig(const EventFilterConfig& tc); - - ~EventFilterConfig(); - - EventFilterConfig& operator=(const EventFilterConfig& rhs); - - void AddIncludedCategory(const std::string& category); - void AddExcludedCategory(const std::string& category); - void SetArgs(std::unique_ptr<base::DictionaryValue> args); - bool GetArgAsSet(const char* key, std::unordered_set<std::string>*) const; - - bool IsCategoryGroupEnabled(const char* category_group_name) const; - - const std::string& predicate_name() const { return predicate_name_; } - base::DictionaryValue* filter_args() const { return args_.get(); } - const StringList& included_categories() const { - return included_categories_; - } - const StringList& excluded_categories() const { - return excluded_categories_; - } - - private: - std::string predicate_name_; - StringList included_categories_; - StringList excluded_categories_; - std::unique_ptr<base::DictionaryValue> args_; - }; - typedef std::vector<EventFilterConfig> EventFilters; - TraceConfig(); // Create TraceConfig object from category filter and trace options strings. @@ -131,22 +93,22 @@ class BASE_EXPORT TraceConfig { // // |trace_options_string| is a comma-delimited list of trace options. // Possible options are: "record-until-full", "record-continuously", - // "record-as-much-as-possible", "trace-to-console", "enable-systrace" and - // "enable-argument-filter". + // "record-as-much-as-possible", "trace-to-console", "enable-sampling", + // "enable-systrace" and "enable-argument-filter". // The first 4 options are trace recoding modes and hence // mutually exclusive. If more than one trace recording modes appear in the // options_string, the last one takes precedence. If none of the trace // recording mode is specified, recording mode is RECORD_UNTIL_FULL. // // The trace option will first be reset to the default option - // (record_mode set to RECORD_UNTIL_FULL, enable_systrace and - // enable_argument_filter set to false) before options parsed from + // (record_mode set to RECORD_UNTIL_FULL, enable_sampling, enable_systrace, + // and enable_argument_filter set to false) before options parsed from // |trace_options_string| are applied on it. If |trace_options_string| is // invalid, the final state of trace options is undefined. // // Example: TraceConfig("test_MyTest*", "record-until-full"); // Example: TraceConfig("test_MyTest*,test_OtherStuff", - // "record-continuously"); + // "record-continuously, enable-sampling"); // Example: TraceConfig("-excluded_category1,-excluded_category2", // "record-until-full, trace-to-console"); // would set ECHO_TO_CONSOLE as the recording mode. @@ -176,6 +138,7 @@ class BASE_EXPORT TraceConfig { // Example: // { // "record_mode": "record-continuously", + // "enable_sampling": true, // "enable_systrace": true, // "enable_argument_filter": true, // "included_categories": ["included", @@ -211,10 +174,12 @@ class BASE_EXPORT TraceConfig { const StringList& GetSyntheticDelayValues() const; TraceRecordMode GetTraceRecordMode() const { return record_mode_; } + bool IsSamplingEnabled() const { return enable_sampling_; } bool IsSystraceEnabled() const { return enable_systrace_; } bool IsArgumentFilterEnabled() const { return enable_argument_filter_; } void SetTraceRecordMode(TraceRecordMode mode) { record_mode_ = mode; } + void EnableSampling() { enable_sampling_ = true; } void EnableSystrace() { enable_systrace_ = true; } void EnableArgumentFilter() { enable_argument_filter_ = true; } @@ -231,7 +196,7 @@ class BASE_EXPORT TraceConfig { // Returns true if at least one category in the list is enabled by this // trace config. This is used to determine if the category filters are // enabled in the TRACE_* macros. - bool IsCategoryGroupEnabled(const char* category_group_name) const; + bool IsCategoryGroupEnabled(const char* category_group) const; // Merges config with the current TraceConfig void Merge(const TraceConfig& config); @@ -245,11 +210,6 @@ class BASE_EXPORT TraceConfig { return memory_dump_config_; } - const EventFilters& event_filters() const { return event_filters_; } - void SetEventFilters(const EventFilters& filter_configs) { - event_filters_ = filter_configs; - } - private: FRIEND_TEST_ALL_PREFIXES(TraceConfigTest, TraceConfigFromValidLegacyFormat); FRIEND_TEST_ALL_PREFIXES(TraceConfigTest, @@ -290,7 +250,6 @@ class BASE_EXPORT TraceConfig { const DictionaryValue& memory_dump_config); void SetDefaultMemoryDumpConfig(); - void SetEventFiltersFromConfigList(const base::ListValue& event_filters); std::unique_ptr<DictionaryValue> ToDict() const; std::string ToTraceOptionsString() const; @@ -312,6 +271,7 @@ class BASE_EXPORT TraceConfig { bool HasIncludedPatterns() const; TraceRecordMode record_mode_; + bool enable_sampling_ : 1; bool enable_systrace_ : 1; bool enable_argument_filter_ : 1; @@ -321,7 +281,6 @@ class BASE_EXPORT TraceConfig { StringList disabled_categories_; StringList excluded_categories_; StringList synthetic_delays_; - EventFilters event_filters_; }; } // namespace trace_event |