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