OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef BASE_TRACE_EVENT_TRACE_CONFIG_MEMORY_TEST_UTIL_H_ | 5 #ifndef BASE_TRACE_EVENT_TRACE_CONFIG_MEMORY_TEST_UTIL_H_ |
6 #define BASE_TRACE_EVENT_TRACE_CONFIG_MEMORY_TEST_UTIL_H_ | 6 #define BASE_TRACE_EVENT_TRACE_CONFIG_MEMORY_TEST_UTIL_H_ |
7 | 7 |
8 #include "base/strings/stringprintf.h" | 8 #include "base/strings/stringprintf.h" |
9 #include "base/trace_event/memory_dump_manager.h" | 9 #include "base/trace_event/memory_dump_manager.h" |
10 | 10 |
11 namespace base { | 11 namespace base { |
12 namespace trace_event { | 12 namespace trace_event { |
13 | 13 |
14 class TraceConfigMemoryTestUtil { | 14 class TraceConfigMemoryTestUtil { |
15 public: | 15 public: |
16 static std::string GetTraceConfig_PeriodicTriggers(int light_period, | 16 static std::string GetTraceConfig_PeriodicTriggers(int light_period, |
17 int heavy_period) { | 17 int heavy_period) { |
18 return StringPrintf( | 18 return StringPrintf( |
19 "{" | 19 "{" |
20 "\"enable_argument_filter\":false," | 20 "\"enable_argument_filter\":false," |
21 "\"enable_sampling\":false," | |
22 "\"enable_systrace\":false," | 21 "\"enable_systrace\":false," |
23 "\"included_categories\":[" | 22 "\"included_categories\":[" |
24 "\"%s\"" | 23 "\"%s\"" |
25 "]," | 24 "]," |
26 "\"memory_dump_config\":{" | 25 "\"memory_dump_config\":{" |
27 "\"allowed_dump_modes\":[\"background\",\"light\",\"detailed\"]," | 26 "\"allowed_dump_modes\":[\"background\",\"light\",\"detailed\"]," |
28 "\"heap_profiler_options\":{" | 27 "\"heap_profiler_options\":{" |
29 "\"breakdown_threshold_bytes\":2048" | 28 "\"breakdown_threshold_bytes\":2048" |
30 "}," | 29 "}," |
31 "\"triggers\":[" | 30 "\"triggers\":[" |
32 "{" | 31 "{" |
33 "\"mode\":\"light\"," | 32 "\"mode\":\"light\"," |
34 "\"periodic_interval_ms\":%d" | 33 "\"periodic_interval_ms\":%d" |
35 "}," | 34 "}," |
36 "{" | 35 "{" |
37 "\"mode\":\"detailed\"," | 36 "\"mode\":\"detailed\"," |
38 "\"periodic_interval_ms\":%d" | 37 "\"periodic_interval_ms\":%d" |
39 "}" | 38 "}" |
40 "]" | 39 "]" |
41 "}," | 40 "}," |
42 "\"record_mode\":\"record-until-full\"" | 41 "\"record_mode\":\"record-until-full\"" |
43 "}", MemoryDumpManager::kTraceCategory, light_period, heavy_period); | 42 "}", MemoryDumpManager::kTraceCategory, light_period, heavy_period); |
44 } | 43 } |
45 | 44 |
46 static std::string GetTraceConfig_EmptyTriggers() { | 45 static std::string GetTraceConfig_EmptyTriggers() { |
47 return StringPrintf( | 46 return StringPrintf( |
48 "{" | 47 "{" |
49 "\"enable_argument_filter\":false," | 48 "\"enable_argument_filter\":false," |
50 "\"enable_sampling\":false," | |
51 "\"enable_systrace\":false," | 49 "\"enable_systrace\":false," |
52 "\"included_categories\":[" | 50 "\"included_categories\":[" |
53 "\"%s\"" | 51 "\"%s\"" |
54 "]," | 52 "]," |
55 "\"memory_dump_config\":{" | 53 "\"memory_dump_config\":{" |
56 "\"allowed_dump_modes\":[\"background\",\"light\",\"detailed\"]," | 54 "\"allowed_dump_modes\":[\"background\",\"light\",\"detailed\"]," |
57 "\"triggers\":[" | 55 "\"triggers\":[" |
58 "]" | 56 "]" |
59 "}," | 57 "}," |
60 "\"record_mode\":\"record-until-full\"" | 58 "\"record_mode\":\"record-until-full\"" |
61 "}", MemoryDumpManager::kTraceCategory); | 59 "}", MemoryDumpManager::kTraceCategory); |
62 } | 60 } |
63 | 61 |
64 static std::string GetTraceConfig_NoTriggers() { | 62 static std::string GetTraceConfig_NoTriggers() { |
65 return StringPrintf( | 63 return StringPrintf( |
66 "{" | 64 "{" |
67 "\"enable_argument_filter\":false," | 65 "\"enable_argument_filter\":false," |
68 "\"enable_sampling\":false," | |
69 "\"enable_systrace\":false," | 66 "\"enable_systrace\":false," |
70 "\"included_categories\":[" | 67 "\"included_categories\":[" |
71 "\"%s\"" | 68 "\"%s\"" |
72 "]," | 69 "]," |
73 "\"record_mode\":\"record-until-full\"" | 70 "\"record_mode\":\"record-until-full\"" |
74 "}", MemoryDumpManager::kTraceCategory); | 71 "}", MemoryDumpManager::kTraceCategory); |
75 } | 72 } |
76 | 73 |
77 static std::string GetTraceConfig_BackgroundTrigger(int period_ms) { | 74 static std::string GetTraceConfig_BackgroundTrigger(int period_ms) { |
78 return StringPrintf( | 75 return StringPrintf( |
79 "{" | 76 "{" |
80 "\"enable_argument_filter\":false," | 77 "\"enable_argument_filter\":false," |
81 "\"enable_sampling\":false," | |
82 "\"enable_systrace\":false," | 78 "\"enable_systrace\":false," |
83 "\"included_categories\":[" | 79 "\"included_categories\":[" |
84 "\"%s\"" | 80 "\"%s\"" |
85 "]," | 81 "]," |
86 "\"memory_dump_config\":{" | 82 "\"memory_dump_config\":{" |
87 "\"allowed_dump_modes\":[\"background\"]," | 83 "\"allowed_dump_modes\":[\"background\"]," |
88 "\"triggers\":[" | 84 "\"triggers\":[" |
89 "{" | 85 "{" |
90 "\"mode\":\"background\"," | 86 "\"mode\":\"background\"," |
91 "\"periodic_interval_ms\":%d" | 87 "\"periodic_interval_ms\":%d" |
92 "}" | 88 "}" |
93 "]" | 89 "]" |
94 "}," | 90 "}," |
95 "\"record_mode\":\"record-until-full\"" | 91 "\"record_mode\":\"record-until-full\"" |
96 "}", MemoryDumpManager::kTraceCategory, period_ms); | 92 "}", MemoryDumpManager::kTraceCategory, period_ms); |
97 } | 93 } |
98 }; | 94 }; |
99 | 95 |
100 } // namespace trace_event | 96 } // namespace trace_event |
101 } // namespace base | 97 } // namespace base |
102 | 98 |
103 #endif // BASE_TRACE_EVENT_TRACE_CONFIG_MEMORY_TEST_UTIL_H_ | 99 #endif // BASE_TRACE_EVENT_TRACE_CONFIG_MEMORY_TEST_UTIL_H_ |
OLD | NEW |