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

Side by Side Diff: base/trace_event/trace_config_memory_test_util.h

Issue 2542853002: [tracing] Introduce config to setup memory-infra peak detection (Closed)
Patch Set: Fixes. 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 unified diff | Download patch
OLDNEW
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
ssid 2016/12/15 19:48:07 I had to format this file. The presubmit doesn't l
Primiano Tucci (use gerrit) 2016/12/16 12:13:55 As per recently we can now use C++11 string litera
ssid 2016/12/16 19:19:52 Nope that does not work because the tests are doin
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_LegacyPeriodicTriggers(int light_period,
17 int heavy_period) {
18 return StringPrintf(
19 "{"
20 "\"enable_argument_filter\":false,"
21 "\"enable_systrace\":false,"
22 "\"included_categories\":["
23 "\"%s\""
24 "],"
25 "\"memory_dump_config\":{"
26 "\"allowed_dump_modes\":[\"background\",\"light\",\"detailed\"],"
27 "\"heap_profiler_options\":{"
28 "\"breakdown_threshold_bytes\":2048"
29 "},"
30 "\"triggers\":["
31 "{"
32 "\"mode\":\"light\","
33 "\"periodic_interval_ms\":%d"
34 "},"
35 "{"
36 "\"mode\":\"detailed\","
37 "\"periodic_interval_ms\":%d"
38 "}"
39 "]"
40 "},"
41 "\"record_mode\":\"record-until-full\""
42 "}",
43 MemoryDumpManager::kTraceCategory, light_period, heavy_period);
44 ;
45 }
46
16 static std::string GetTraceConfig_PeriodicTriggers(int light_period, 47 static std::string GetTraceConfig_PeriodicTriggers(int light_period,
17 int heavy_period) { 48 int heavy_period) {
18 return StringPrintf( 49 return StringPrintf(
19 "{" 50 "{"
20 "\"enable_argument_filter\":false," 51 "\"enable_argument_filter\":false,"
21 "\"enable_systrace\":false," 52 "\"enable_systrace\":false,"
22 "\"included_categories\":[" 53 "\"included_categories\":["
23 "\"%s\"" 54 "\"%s\""
24 "]," 55 "],"
25 "\"memory_dump_config\":{" 56 "\"memory_dump_config\":{"
26 "\"allowed_dump_modes\":[\"background\",\"light\",\"detailed\"]," 57 "\"allowed_dump_modes\":[\"background\",\"light\",\"detailed\"],"
27 "\"heap_profiler_options\":{" 58 "\"heap_profiler_options\":{"
28 "\"breakdown_threshold_bytes\":2048" 59 "\"breakdown_threshold_bytes\":2048"
29 "}," 60 "},"
30 "\"triggers\":[" 61 "\"triggers\":["
31 "{" 62 "{"
32 "\"mode\":\"light\"," 63 "\"min_time_between_dumps_ms\":%d,"
33 "\"periodic_interval_ms\":%d" 64 "\"mode\":\"light\","
34 "}," 65 "\"type\":\"periodic_interval\""
35 "{" 66 "},"
36 "\"mode\":\"detailed\"," 67 "{"
37 "\"periodic_interval_ms\":%d" 68 "\"min_time_between_dumps_ms\":%d,"
38 "}" 69 "\"mode\":\"detailed\","
39 "]" 70 "\"type\":\"periodic_interval\""
40 "}," 71 "}"
41 "\"record_mode\":\"record-until-full\"" 72 "]"
42 "}", MemoryDumpManager::kTraceCategory, light_period, heavy_period); 73 "},"
74 "\"record_mode\":\"record-until-full\""
75 "}",
76 MemoryDumpManager::kTraceCategory, light_period, heavy_period);
43 } 77 }
44 78
45 static std::string GetTraceConfig_EmptyTriggers() { 79 static std::string GetTraceConfig_EmptyTriggers() {
46 return StringPrintf( 80 return StringPrintf(
47 "{" 81 "{"
48 "\"enable_argument_filter\":false," 82 "\"enable_argument_filter\":false,"
49 "\"enable_systrace\":false," 83 "\"enable_systrace\":false,"
50 "\"included_categories\":[" 84 "\"included_categories\":["
51 "\"%s\"" 85 "\"%s\""
52 "]," 86 "],"
53 "\"memory_dump_config\":{" 87 "\"memory_dump_config\":{"
54 "\"allowed_dump_modes\":[\"background\",\"light\",\"detailed\"]," 88 "\"allowed_dump_modes\":[\"background\",\"light\",\"detailed\"],"
55 "\"triggers\":[" 89 "\"triggers\":["
56 "]" 90 "]"
57 "}," 91 "},"
58 "\"record_mode\":\"record-until-full\"" 92 "\"record_mode\":\"record-until-full\""
59 "}", MemoryDumpManager::kTraceCategory); 93 "}",
94 MemoryDumpManager::kTraceCategory);
60 } 95 }
61 96
62 static std::string GetTraceConfig_NoTriggers() { 97 static std::string GetTraceConfig_NoTriggers() {
63 return StringPrintf( 98 return StringPrintf(
64 "{" 99 "{"
65 "\"enable_argument_filter\":false," 100 "\"enable_argument_filter\":false,"
66 "\"enable_systrace\":false," 101 "\"enable_systrace\":false,"
67 "\"included_categories\":[" 102 "\"included_categories\":["
68 "\"%s\"" 103 "\"%s\""
69 "]," 104 "],"
70 "\"record_mode\":\"record-until-full\"" 105 "\"record_mode\":\"record-until-full\""
71 "}", MemoryDumpManager::kTraceCategory); 106 "}",
107 MemoryDumpManager::kTraceCategory);
72 } 108 }
73 109
74 static std::string GetTraceConfig_BackgroundTrigger(int period_ms) { 110 static std::string GetTraceConfig_BackgroundTrigger(int period_ms) {
75 return StringPrintf( 111 return StringPrintf(
76 "{" 112 "{"
77 "\"enable_argument_filter\":false," 113 "\"enable_argument_filter\":false,"
78 "\"enable_systrace\":false," 114 "\"enable_systrace\":false,"
79 "\"included_categories\":[" 115 "\"included_categories\":["
80 "\"%s\"" 116 "\"%s\""
81 "]," 117 "],"
82 "\"memory_dump_config\":{" 118 "\"memory_dump_config\":{"
83 "\"allowed_dump_modes\":[\"background\"]," 119 "\"allowed_dump_modes\":[\"background\"],"
84 "\"triggers\":[" 120 "\"triggers\":["
85 "{" 121 "{"
86 "\"mode\":\"background\"," 122 "\"min_time_between_dumps_ms\":%d,"
87 "\"periodic_interval_ms\":%d" 123 "\"mode\":\"background\","
88 "}" 124 "\"type\":\"periodic_interval\""
89 "]" 125 "}"
90 "}," 126 "]"
91 "\"record_mode\":\"record-until-full\"" 127 "},"
92 "}", MemoryDumpManager::kTraceCategory, period_ms); 128 "\"record_mode\":\"record-until-full\""
129 "}",
130 MemoryDumpManager::kTraceCategory, period_ms);
131 }
132
133 static std::string GetTraceConfig_PeakDetectionTrigger(int heavy_period) {
134 return StringPrintf(
135 "{"
136 "\"enable_argument_filter\":false,"
137 "\"enable_systrace\":false,"
138 "\"included_categories\":["
139 "\"%s\""
140 "],"
141 "\"memory_dump_config\":{"
142 "\"allowed_dump_modes\":[\"background\",\"light\",\"detailed\"],"
143 "\"triggers\":["
144 "{"
145 "\"min_time_between_dumps_ms\":%d,"
146 "\"mode\":\"detailed\","
147 "\"type\":\"peak_memory_usage\""
148 "}"
149 "]"
150 "},"
151 "\"record_mode\":\"record-until-full\""
152 "}",
153 MemoryDumpManager::kTraceCategory, heavy_period);
93 } 154 }
94 }; 155 };
95 156
96 } // namespace trace_event 157 } // namespace trace_event
97 } // namespace base 158 } // namespace base
98 159
99 #endif // BASE_TRACE_EVENT_TRACE_CONFIG_MEMORY_TEST_UTIL_H_ 160 #endif // BASE_TRACE_EVENT_TRACE_CONFIG_MEMORY_TEST_UTIL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698