OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 CHROME_BROWSER_MEMORY_DETAILS_H_ | 5 #ifndef CHROME_BROWSER_MEMORY_DETAILS_H_ |
6 #define CHROME_BROWSER_MEMORY_DETAILS_H_ | 6 #define CHROME_BROWSER_MEMORY_DETAILS_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/process_util.h" | 10 #include "base/process_util.h" |
11 #include "base/ref_counted.h" | 11 #include "base/ref_counted.h" |
12 #include "chrome/common/child_process_info.h" | 12 #include "chrome/common/child_process_info.h" |
13 | 13 |
14 class MessageLoop; | |
15 | |
16 // We collect data about each browser process. A browser may | 14 // We collect data about each browser process. A browser may |
17 // have multiple processes (of course!). Even IE has multiple | 15 // have multiple processes (of course!). Even IE has multiple |
18 // processes these days. | 16 // processes these days. |
19 struct ProcessMemoryInformation { | 17 struct ProcessMemoryInformation { |
20 ProcessMemoryInformation() | 18 ProcessMemoryInformation() |
21 : pid(0), | 19 : pid(0), |
22 num_processes(0), | 20 num_processes(0), |
23 is_diagnostics(false), | 21 is_diagnostics(false), |
24 type(ChildProcessInfo::UNKNOWN_PROCESS) { | 22 type(ChildProcessInfo::UNKNOWN_PROCESS) { |
25 } | 23 } |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 void CollectChildInfoOnUIThread(); | 108 void CollectChildInfoOnUIThread(); |
111 | 109 |
112 // Each time we take a memory sample, we do a little work to update | 110 // Each time we take a memory sample, we do a little work to update |
113 // the global histograms for tracking memory usage. | 111 // the global histograms for tracking memory usage. |
114 void UpdateHistograms(); | 112 void UpdateHistograms(); |
115 | 113 |
116 // Returns a pointer to the ProcessData structure for Chrome. | 114 // Returns a pointer to the ProcessData structure for Chrome. |
117 ProcessData* ChromeBrowser(); | 115 ProcessData* ChromeBrowser(); |
118 | 116 |
119 std::vector<ProcessData> process_data_; | 117 std::vector<ProcessData> process_data_; |
120 MessageLoop* ui_loop_; | |
121 | 118 |
122 DISALLOW_EVIL_CONSTRUCTORS(MemoryDetails); | 119 DISALLOW_EVIL_CONSTRUCTORS(MemoryDetails); |
123 }; | 120 }; |
124 | 121 |
125 #endif // CHROME_BROWSER_MEMORY_DETAILS_H_ | 122 #endif // CHROME_BROWSER_MEMORY_DETAILS_H_ |
OLD | NEW |