| // 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_ |