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

Side by Side Diff: chrome/browser/memory_details.h

Issue 16599016: Add UMA stats for predicted process counts with out-of-process iframes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update hash_tables.h include Created 7 years, 6 months 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/memory_details.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/memory/ref_counted.h" 10 #include "base/memory/ref_counted.h"
11 #include "base/process_util.h" 11 #include "base/process_util.h"
12 #include "base/strings/string16.h" 12 #include "base/strings/string16.h"
13 #include "chrome/browser/site_details.h"
13 #include "content/public/common/process_type.h" 14 #include "content/public/common/process_type.h"
14 15
15 // We collect data about each browser process. A browser may 16 // We collect data about each browser process. A browser may
16 // have multiple processes (of course!). Even IE has multiple 17 // have multiple processes (of course!). Even IE has multiple
17 // processes these days. 18 // processes these days.
18 struct ProcessMemoryInformation { 19 struct ProcessMemoryInformation {
19 // NOTE: Do not remove or reorder the elements in this enum, and only add new 20 // NOTE: Do not remove or reorder the elements in this enum, and only add new
20 // items at the end. We depend on these specific values in a histogram. 21 // items at the end. We depend on these specific values in a histogram.
21 enum RendererProcessType { 22 enum RendererProcessType {
22 RENDERER_UNKNOWN = 0, 23 RENDERER_UNKNOWN = 0,
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 // Browser Process Information. 70 // Browser Process Information.
70 struct ProcessData { 71 struct ProcessData {
71 ProcessData(); 72 ProcessData();
72 ProcessData(const ProcessData& rhs); 73 ProcessData(const ProcessData& rhs);
73 ~ProcessData(); 74 ~ProcessData();
74 ProcessData& operator=(const ProcessData& rhs); 75 ProcessData& operator=(const ProcessData& rhs);
75 76
76 string16 name; 77 string16 name;
77 string16 process_name; 78 string16 process_name;
78 ProcessMemoryInformationList processes; 79 ProcessMemoryInformationList processes;
80
81 // Track site data for predicting process counts with out-of-process iframes.
82 // See site_details.h.
83 BrowserContextSiteDataMap site_data;
79 }; 84 };
80 85
81 #if defined(OS_MACOSX) 86 #if defined(OS_MACOSX)
82 class ProcessInfoSnapshot; 87 class ProcessInfoSnapshot;
83 #endif 88 #endif
84 89
85 // MemoryDetails fetches memory details about current running browsers. 90 // MemoryDetails fetches memory details about current running browsers.
86 // Because this data can only be fetched asynchronously, callers use 91 // Because this data can only be fetched asynchronously, callers use
87 // this class via a callback. 92 // this class via a callback.
88 // 93 //
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 ProcessData* ChromeBrowser(); 180 ProcessData* ChromeBrowser();
176 181
177 std::vector<ProcessData> process_data_; 182 std::vector<ProcessData> process_data_;
178 183
179 UserMetricsMode user_metrics_mode_; 184 UserMetricsMode user_metrics_mode_;
180 185
181 DISALLOW_COPY_AND_ASSIGN(MemoryDetails); 186 DISALLOW_COPY_AND_ASSIGN(MemoryDetails);
182 }; 187 };
183 188
184 #endif // CHROME_BROWSER_MEMORY_DETAILS_H_ 189 #endif // CHROME_BROWSER_MEMORY_DETAILS_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/memory_details.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698