| // Copyright 2015 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 BASE_TRACE_EVENT_TRACE_CONFIG_MEMORY_TEST_UTIL_H_ |
| #define BASE_TRACE_EVENT_TRACE_CONFIG_MEMORY_TEST_UTIL_H_ |
| |
| #include "base/strings/stringprintf.h" |
| #include "base/trace_event/memory_dump_manager.h" |
| |
| namespace base { |
| namespace trace_event { |
| |
| class TraceConfigMemoryTestUtil { |
| public: |
| static std::string GetTraceConfig_LegacyPeriodicTriggers(int light_period, |
| int heavy_period) { |
| return StringPrintf( |
| "{" |
| "\"enable_argument_filter\":false," |
| "\"enable_systrace\":false," |
| "\"excluded_categories\":[" |
| "\"*\"" |
| "]," |
| "\"included_categories\":[" |
| "\"%s\"" |
| "]," |
| "\"memory_dump_config\":{" |
| "\"allowed_dump_modes\":[\"background\",\"light\",\"detailed\"]," |
| "\"heap_profiler_options\":{" |
| "\"breakdown_threshold_bytes\":2048" |
| "}," |
| "\"triggers\":[" |
| "{" |
| "\"mode\":\"light\"," |
| "\"periodic_interval_ms\":%d" |
| "}," |
| "{" |
| "\"mode\":\"detailed\"," |
| "\"periodic_interval_ms\":%d" |
| "}" |
| "]" |
| "}," |
| "\"record_mode\":\"record-until-full\"" |
| "}", |
| MemoryDumpManager::kTraceCategory, light_period, heavy_period); |
| ; |
| } |
| |
| static std::string GetTraceConfig_PeriodicTriggers(int light_period, |
| int heavy_period) { |
| return StringPrintf( |
| "{" |
| "\"enable_argument_filter\":false," |
| "\"enable_systrace\":false," |
| "\"excluded_categories\":[" |
| "\"*\"" |
| "]," |
| "\"included_categories\":[" |
| "\"%s\"" |
| "]," |
| "\"memory_dump_config\":{" |
| "\"allowed_dump_modes\":[\"background\",\"light\",\"detailed\"]," |
| "\"heap_profiler_options\":{" |
| "\"breakdown_threshold_bytes\":2048" |
| "}," |
| "\"triggers\":[" |
| "{" |
| "\"min_time_between_dumps_ms\":%d," |
| "\"mode\":\"light\"," |
| "\"type\":\"periodic_interval\"" |
| "}," |
| "{" |
| "\"min_time_between_dumps_ms\":%d," |
| "\"mode\":\"detailed\"," |
| "\"type\":\"periodic_interval\"" |
| "}" |
| "]" |
| "}," |
| "\"record_mode\":\"record-until-full\"" |
| "}", |
| MemoryDumpManager::kTraceCategory, light_period, heavy_period); |
| } |
| |
| static std::string GetTraceConfig_EmptyTriggers() { |
| return StringPrintf( |
| "{" |
| "\"enable_argument_filter\":false," |
| "\"enable_systrace\":false," |
| "\"excluded_categories\":[" |
| "\"*\"" |
| "]," |
| "\"included_categories\":[" |
| "\"%s\"" |
| "]," |
| "\"memory_dump_config\":{" |
| "\"allowed_dump_modes\":[\"background\",\"light\",\"detailed\"]," |
| "\"triggers\":[" |
| "]" |
| "}," |
| "\"record_mode\":\"record-until-full\"" |
| "}", |
| MemoryDumpManager::kTraceCategory); |
| } |
| |
| static std::string GetTraceConfig_NoTriggers() { |
| return StringPrintf( |
| "{" |
| "\"enable_argument_filter\":false," |
| "\"enable_systrace\":false," |
| "\"excluded_categories\":[" |
| "\"*\"" |
| "]," |
| "\"included_categories\":[" |
| "\"%s\"" |
| "]," |
| "\"record_mode\":\"record-until-full\"" |
| "}", |
| MemoryDumpManager::kTraceCategory); |
| } |
| |
| static std::string GetTraceConfig_BackgroundTrigger(int period_ms) { |
| return StringPrintf( |
| "{" |
| "\"enable_argument_filter\":false," |
| "\"enable_systrace\":false," |
| "\"excluded_categories\":[" |
| "\"*\"" |
| "]," |
| "\"included_categories\":[" |
| "\"%s\"" |
| "]," |
| "\"memory_dump_config\":{" |
| "\"allowed_dump_modes\":[\"background\"]," |
| "\"triggers\":[" |
| "{" |
| "\"min_time_between_dumps_ms\":%d," |
| "\"mode\":\"background\"," |
| "\"type\":\"periodic_interval\"" |
| "}" |
| "]" |
| "}," |
| "\"record_mode\":\"record-until-full\"" |
| "}", |
| MemoryDumpManager::kTraceCategory, period_ms); |
| } |
| }; |
| |
| } // namespace trace_event |
| } // namespace base |
| |
| #endif // BASE_TRACE_EVENT_TRACE_CONFIG_MEMORY_TEST_UTIL_H_ |