OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #include "base/process/process_metrics.h" | 5 #include "base/process/process_metrics.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/threading/thread.h" | 10 #include "base/threading/thread.h" |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 "Committed_AS: 118680 kB\n" | 136 "Committed_AS: 118680 kB\n" |
137 "PageTables: 1236 kB\n" | 137 "PageTables: 1236 kB\n" |
138 "VmallocTotal: 3874808 kB\n" | 138 "VmallocTotal: 3874808 kB\n" |
139 "VmallocUsed: 1416 kB\n" | 139 "VmallocUsed: 1416 kB\n" |
140 "VmallocChunk: 3872908 kB\n" | 140 "VmallocChunk: 3872908 kB\n" |
141 "HugePages_Total: 0\n" | 141 "HugePages_Total: 0\n" |
142 "HugePages_Free: 0\n" | 142 "HugePages_Free: 0\n" |
143 "Hugepagesize: 4096 kB\n"; | 143 "Hugepagesize: 4096 kB\n"; |
144 | 144 |
145 EXPECT_TRUE(ParseProcMeminfo(valid_input1, &meminfo)); | 145 EXPECT_TRUE(ParseProcMeminfo(valid_input1, &meminfo)); |
146 EXPECT_TRUE(meminfo.total == 3981504); | 146 EXPECT_EQ(meminfo.total, 3981504); |
147 EXPECT_TRUE(meminfo.free == 140764); | 147 EXPECT_EQ(meminfo.free, 140764); |
148 EXPECT_TRUE(meminfo.buffers == 116480); | 148 EXPECT_EQ(meminfo.buffers, 116480); |
149 EXPECT_TRUE(meminfo.cached == 406160); | 149 EXPECT_EQ(meminfo.cached, 406160); |
150 EXPECT_TRUE(meminfo.active_anon == 2972352); | 150 EXPECT_EQ(meminfo.active_anon, 2972352); |
151 EXPECT_TRUE(meminfo.active_file == 179688); | 151 EXPECT_EQ(meminfo.active_file, 179688); |
152 EXPECT_TRUE(meminfo.inactive_anon == 270108); | 152 EXPECT_EQ(meminfo.inactive_anon, 270108); |
153 EXPECT_TRUE(meminfo.inactive_file == 202748); | 153 EXPECT_EQ(meminfo.inactive_file, 202748); |
154 EXPECT_TRUE(meminfo.swap_total == 5832280); | 154 EXPECT_EQ(meminfo.swap_total, 5832280); |
155 EXPECT_TRUE(meminfo.swap_free == 3672368); | 155 EXPECT_EQ(meminfo.swap_free, 3672368); |
156 EXPECT_TRUE(meminfo.dirty == 184); | 156 EXPECT_EQ(meminfo.dirty, 184); |
157 #if defined(OS_CHROMEOS) | 157 #if defined(OS_CHROMEOS) |
158 EXPECT_TRUE(meminfo.shmem == 140204); | 158 EXPECT_EQ(meminfo.shmem, 140204); |
159 EXPECT_TRUE(meminfo.slab == 54212); | 159 EXPECT_EQ(meminfo.slab, 54212); |
160 #endif | 160 #endif |
161 EXPECT_TRUE(ParseProcMeminfo(valid_input2, &meminfo)); | 161 EXPECT_TRUE(ParseProcMeminfo(valid_input2, &meminfo)); |
162 EXPECT_TRUE(meminfo.total == 255908); | 162 EXPECT_EQ(meminfo.total, 255908); |
163 EXPECT_TRUE(meminfo.free == 69936); | 163 EXPECT_EQ(meminfo.free, 69936); |
164 EXPECT_TRUE(meminfo.buffers == 15812); | 164 EXPECT_EQ(meminfo.buffers, 15812); |
165 EXPECT_TRUE(meminfo.cached == 115124); | 165 EXPECT_EQ(meminfo.cached, 115124); |
166 EXPECT_TRUE(meminfo.swap_total == 524280); | 166 EXPECT_EQ(meminfo.swap_total, 524280); |
167 EXPECT_TRUE(meminfo.swap_free == 524200); | 167 EXPECT_EQ(meminfo.swap_free, 524200); |
168 EXPECT_TRUE(meminfo.dirty == 4); | 168 EXPECT_EQ(meminfo.dirty, 4); |
169 } | 169 } |
170 | 170 |
171 TEST_F(SystemMetricsTest, ParseVmstat) { | 171 TEST_F(SystemMetricsTest, ParseVmstat) { |
172 struct SystemMemoryInfoKB meminfo; | 172 struct SystemMemoryInfoKB meminfo; |
173 // part of vmstat from a 3.2 kernel with numa enabled | 173 // part of vmstat from a 3.2 kernel with numa enabled |
174 std::string valid_input1 = | 174 std::string valid_input1 = |
175 "nr_free_pages 905104\n" | 175 "nr_free_pages 905104\n" |
176 "nr_inactive_anon 142478" | 176 "nr_inactive_anon 142478" |
177 "nr_active_anon 1520046\n" | 177 "nr_active_anon 1520046\n" |
178 "nr_inactive_file 4481001\n" | 178 "nr_inactive_file 4481001\n" |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 "pgalloc_movable 0\n" | 253 "pgalloc_movable 0\n" |
254 "pgfree 308894908\n" | 254 "pgfree 308894908\n" |
255 "pgactivate 239320\n" | 255 "pgactivate 239320\n" |
256 "pgdeactivate 1\n" | 256 "pgdeactivate 1\n" |
257 "pgfault 716044601\n" | 257 "pgfault 716044601\n" |
258 "pgmajfault 2023\n" | 258 "pgmajfault 2023\n" |
259 "pgrefill_normal 0\n" | 259 "pgrefill_normal 0\n" |
260 "pgrefill_high 0\n" | 260 "pgrefill_high 0\n" |
261 "pgrefill_movable 0\n"; | 261 "pgrefill_movable 0\n"; |
262 EXPECT_TRUE(ParseProcVmstat(valid_input1, &meminfo)); | 262 EXPECT_TRUE(ParseProcVmstat(valid_input1, &meminfo)); |
263 EXPECT_TRUE(meminfo.pswpin == 179); | 263 EXPECT_EQ(meminfo.pswpin, 179); |
264 EXPECT_TRUE(meminfo.pswpout == 406); | 264 EXPECT_EQ(meminfo.pswpout, 406); |
265 EXPECT_TRUE(meminfo.pgmajfault == 487192); | 265 EXPECT_EQ(meminfo.pgmajfault, 487192); |
266 EXPECT_TRUE(ParseProcVmstat(valid_input2, &meminfo)); | 266 EXPECT_TRUE(ParseProcVmstat(valid_input2, &meminfo)); |
267 EXPECT_TRUE(meminfo.pswpin == 12); | 267 EXPECT_EQ(meminfo.pswpin, 12); |
268 EXPECT_TRUE(meminfo.pswpout == 901); | 268 EXPECT_EQ(meminfo.pswpout, 901); |
269 EXPECT_TRUE(meminfo.pgmajfault == 2023); | 269 EXPECT_EQ(meminfo.pgmajfault, 2023); |
270 } | 270 } |
271 #endif // defined(OS_LINUX) || defined(OS_ANDROID) | 271 #endif // defined(OS_LINUX) || defined(OS_ANDROID) |
272 | 272 |
273 #if defined(OS_LINUX) || defined(OS_ANDROID) | 273 #if defined(OS_LINUX) || defined(OS_ANDROID) |
274 TEST(SystemMetrics2Test, GetSystemMemoryInfo) { | 274 TEST(SystemMetrics2Test, GetSystemMemoryInfo) { |
275 base::SystemMemoryInfoKB info; | 275 base::SystemMemoryInfoKB info; |
276 EXPECT_TRUE(base::GetSystemMemoryInfo(&info)); | 276 EXPECT_TRUE(base::GetSystemMemoryInfo(&info)); |
277 | 277 |
278 // Ensure each field received a value. | 278 // Ensure each field received a value. |
279 EXPECT_GT(info.total, 0); | 279 EXPECT_GT(info.total, 0); |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
354 ASSERT_EQ(base::GetNumberOfThreads(current), initial_threads + 1 + i); | 354 ASSERT_EQ(base::GetNumberOfThreads(current), initial_threads + 1 + i); |
355 } | 355 } |
356 } | 356 } |
357 // The Thread destructor will stop them. | 357 // The Thread destructor will stop them. |
358 ASSERT_EQ(initial_threads, base::GetNumberOfThreads(current)); | 358 ASSERT_EQ(initial_threads, base::GetNumberOfThreads(current)); |
359 } | 359 } |
360 #endif // defined(OS_LINUX) | 360 #endif // defined(OS_LINUX) |
361 | 361 |
362 } // namespace debug | 362 } // namespace debug |
363 } // namespace base | 363 } // namespace base |
OLD | NEW |