| Index: chrome/browser/memory_details.cc
|
| diff --git a/chrome/browser/memory_details.cc b/chrome/browser/memory_details.cc
|
| index d9e95823f99a9a595afd322916c66e4178ae01c7..716974ad7f653ae110157552268d60b5b625dfa9 100644
|
| --- a/chrome/browser/memory_details.cc
|
| +++ b/chrome/browser/memory_details.cc
|
| @@ -250,8 +250,12 @@ void MemoryDetails::CollectChildInfoOnUIThread() {
|
| RenderViewHost::From(const_cast<RenderWidgetHost*>(widget));
|
| WebContents* contents = WebContents::FromRenderViewHost(host);
|
| GURL url;
|
| - if (contents)
|
| + if (contents) {
|
| url = contents->GetURL();
|
| + SiteData* site_data =
|
| + &chrome_browser->site_data[contents->GetBrowserContext()];
|
| + SiteDetails::CollectSiteInfo(contents, site_data);
|
| + }
|
| extensions::ViewType type = extensions::GetViewType(contents);
|
| if (host->GetEnabledBindings() & content::BINDINGS_POLICY_WEB_UI) {
|
| process.renderer_type = ProcessMemoryInformation::RENDERER_CHROME;
|
| @@ -381,6 +385,7 @@ void MemoryDetails::UpdateHistograms() {
|
| int renderer_count = 0;
|
| int other_count = 0;
|
| int worker_count = 0;
|
| + int process_limit = content::RenderProcessHost::GetMaxRendererProcessCount();
|
| for (size_t index = 0; index < browser.processes.size(); index++) {
|
| int sample = static_cast<int>(browser.processes[index].working_set.priv);
|
| aggregate_memory += sample;
|
| @@ -467,6 +472,7 @@ void MemoryDetails::UpdateHistograms() {
|
| UMA_HISTOGRAM_MEMORY_MB("Memory.Graphics", meminfo.gem_size / 1024 / 1024);
|
| #endif
|
|
|
| + UMA_HISTOGRAM_COUNTS_100("Memory.ProcessLimit", process_limit);
|
| UMA_HISTOGRAM_COUNTS_100("Memory.ProcessCount",
|
| static_cast<int>(browser.processes.size()));
|
| UMA_HISTOGRAM_COUNTS_100("Memory.ChromeProcessCount", chrome_count);
|
| @@ -484,4 +490,11 @@ void MemoryDetails::UpdateHistograms() {
|
|
|
| int total_sample = static_cast<int>(aggregate_memory / 1000);
|
| UMA_HISTOGRAM_MEMORY_MB("Memory.Total", total_sample);
|
| +
|
| + // Predict the number of processes needed when isolating all sites and when
|
| + // isolating only HTTPS sites.
|
| + int all_renderer_count = renderer_count + chrome_count + extension_count;
|
| + int non_renderer_count = browser.processes.size() - all_renderer_count;
|
| + SiteDetails::UpdateHistograms(browser.site_data, all_renderer_count,
|
| + non_renderer_count);
|
| }
|
|
|