| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "chrome/browser/metrics/metrics_memory_details.h" | 5 #include "chrome/browser/metrics/metrics_memory_details.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 switch (browser.processes[index].process_type) { | 101 switch (browser.processes[index].process_type) { |
| 102 case content::PROCESS_TYPE_BROWSER: | 102 case content::PROCESS_TYPE_BROWSER: |
| 103 UMA_HISTOGRAM_MEMORY_LARGE_MB("Memory.Browser.Large2", sample / 1024); | 103 UMA_HISTOGRAM_MEMORY_LARGE_MB("Memory.Browser.Large2", sample / 1024); |
| 104 UMA_HISTOGRAM_MEMORY_LARGE_MB("Memory.Browser.Committed", | 104 UMA_HISTOGRAM_MEMORY_LARGE_MB("Memory.Browser.Committed", |
| 105 committed / 1024); | 105 committed / 1024); |
| 106 if (num_open_fds != -1 && open_fds_soft_limit != -1) { | 106 if (num_open_fds != -1 && open_fds_soft_limit != -1) { |
| 107 UMA_HISTOGRAM_COUNTS_10000("Memory.Browser.OpenFDs", num_open_fds); | 107 UMA_HISTOGRAM_COUNTS_10000("Memory.Browser.OpenFDs", num_open_fds); |
| 108 UMA_HISTOGRAM_COUNTS_10000("Memory.Browser.OpenFDsSoftLimit", | 108 UMA_HISTOGRAM_COUNTS_10000("Memory.Browser.OpenFDsSoftLimit", |
| 109 open_fds_soft_limit); | 109 open_fds_soft_limit); |
| 110 } | 110 } |
| 111 #if defined(OS_MACOSX) |
| 112 UMA_HISTOGRAM_MEMORY_LARGE_MB( |
| 113 "Memory.Experimental.Browser.PrivateMemoryFootprint.MacOS", |
| 114 browser.processes[index].private_memory_footprint / 1024 / 1024); |
| 115 #endif |
| 111 continue; | 116 continue; |
| 112 case content::PROCESS_TYPE_RENDERER: { | 117 case content::PROCESS_TYPE_RENDERER: { |
| 113 UMA_HISTOGRAM_MEMORY_LARGE_MB("Memory.RendererAll", sample / 1024); | 118 UMA_HISTOGRAM_MEMORY_LARGE_MB("Memory.RendererAll", sample / 1024); |
| 114 UMA_HISTOGRAM_MEMORY_LARGE_MB("Memory.RendererAll.Committed", | 119 UMA_HISTOGRAM_MEMORY_LARGE_MB("Memory.RendererAll.Committed", |
| 115 committed / 1024); | 120 committed / 1024); |
| 116 if (num_open_fds != -1 && open_fds_soft_limit != -1) { | 121 if (num_open_fds != -1 && open_fds_soft_limit != -1) { |
| 117 UMA_HISTOGRAM_COUNTS_10000("Memory.RendererAll.OpenFDs", | 122 UMA_HISTOGRAM_COUNTS_10000("Memory.RendererAll.OpenFDs", |
| 118 num_open_fds); | 123 num_open_fds); |
| 119 UMA_HISTOGRAM_COUNTS_10000("Memory.RendererAll.OpenFDsSoftLimit", | 124 UMA_HISTOGRAM_COUNTS_10000("Memory.RendererAll.OpenFDsSoftLimit", |
| 120 open_fds_soft_limit); | 125 open_fds_soft_limit); |
| 121 } | 126 } |
| 122 ProcessMemoryInformation::RendererProcessType renderer_type = | 127 ProcessMemoryInformation::RendererProcessType renderer_type = |
| 123 browser.processes[index].renderer_type; | 128 browser.processes[index].renderer_type; |
| 124 switch (renderer_type) { | 129 switch (renderer_type) { |
| 125 case ProcessMemoryInformation::RENDERER_EXTENSION: | 130 case ProcessMemoryInformation::RENDERER_EXTENSION: |
| 126 UMA_HISTOGRAM_MEMORY_KB("Memory.Extension", sample); | 131 UMA_HISTOGRAM_MEMORY_KB("Memory.Extension", sample); |
| 127 if (num_open_fds != -1) { | 132 if (num_open_fds != -1) { |
| 128 UMA_HISTOGRAM_COUNTS_10000("Memory.Extension.OpenFDs", | 133 UMA_HISTOGRAM_COUNTS_10000("Memory.Extension.OpenFDs", |
| 129 num_open_fds); | 134 num_open_fds); |
| 130 } | 135 } |
| 131 extension_count++; | 136 extension_count++; |
| 137 #if defined(OS_MACOSX) |
| 138 UMA_HISTOGRAM_MEMORY_LARGE_MB( |
| 139 "Memory.Experimental.Extension.PrivateMemoryFootprint.MacOS", |
| 140 browser.processes[index].private_memory_footprint / 1024 / |
| 141 1024); |
| 142 #endif |
| 132 continue; | 143 continue; |
| 133 case ProcessMemoryInformation::RENDERER_CHROME: | 144 case ProcessMemoryInformation::RENDERER_CHROME: |
| 134 UMA_HISTOGRAM_MEMORY_KB("Memory.Chrome", sample); | 145 UMA_HISTOGRAM_MEMORY_KB("Memory.Chrome", sample); |
| 135 if (num_open_fds != -1) | 146 if (num_open_fds != -1) |
| 136 UMA_HISTOGRAM_COUNTS_10000("Memory.Chrome.OpenFDs", num_open_fds); | 147 UMA_HISTOGRAM_COUNTS_10000("Memory.Chrome.OpenFDs", num_open_fds); |
| 137 chrome_count++; | 148 chrome_count++; |
| 138 continue; | 149 continue; |
| 139 case ProcessMemoryInformation::RENDERER_UNKNOWN: | 150 case ProcessMemoryInformation::RENDERER_UNKNOWN: |
| 140 NOTREACHED() << "Unknown renderer process type."; | 151 NOTREACHED() << "Unknown renderer process type."; |
| 141 continue; | 152 continue; |
| 142 case ProcessMemoryInformation::RENDERER_NORMAL: | 153 case ProcessMemoryInformation::RENDERER_NORMAL: |
| 143 default: | 154 default: |
| 155 #if defined(OS_MACOSX) |
| 156 UMA_HISTOGRAM_MEMORY_LARGE_MB( |
| 157 "Memory.Experimental.Renderer.PrivateMemoryFootprint.MacOS", |
| 158 browser.processes[index].private_memory_footprint / 1024 / |
| 159 1024); |
| 160 #endif |
| 144 // TODO(erikkay): Should we bother splitting out the other subtypes? | 161 // TODO(erikkay): Should we bother splitting out the other subtypes? |
| 145 UMA_HISTOGRAM_MEMORY_LARGE_MB("Memory.Renderer.Large2", | 162 UMA_HISTOGRAM_MEMORY_LARGE_MB("Memory.Renderer.Large2", |
| 146 sample / 1024); | 163 sample / 1024); |
| 147 UMA_HISTOGRAM_MEMORY_LARGE_MB("Memory.Renderer.Committed", | 164 UMA_HISTOGRAM_MEMORY_LARGE_MB("Memory.Renderer.Committed", |
| 148 committed / 1024); | 165 committed / 1024); |
| 149 if (num_open_fds != -1) { | 166 if (num_open_fds != -1) { |
| 150 UMA_HISTOGRAM_COUNTS_10000("Memory.Renderer.OpenFDs", | 167 UMA_HISTOGRAM_COUNTS_10000("Memory.Renderer.OpenFDs", |
| 151 num_open_fds); | 168 num_open_fds); |
| 152 } | 169 } |
| 153 renderer_count++; | 170 renderer_count++; |
| (...skipping 21 matching lines...) Expand all Loading... |
| 175 other_count++; | 192 other_count++; |
| 176 continue; | 193 continue; |
| 177 case content::PROCESS_TYPE_GPU: | 194 case content::PROCESS_TYPE_GPU: |
| 178 #if defined(OS_MACOSX) | 195 #if defined(OS_MACOSX) |
| 179 // Physical footprint was introduced in macOS 10.12. | 196 // Physical footprint was introduced in macOS 10.12. |
| 180 if (base::mac::IsAtLeastOS10_12()) { | 197 if (base::mac::IsAtLeastOS10_12()) { |
| 181 UMA_HISTOGRAM_MEMORY_LARGE_MB( | 198 UMA_HISTOGRAM_MEMORY_LARGE_MB( |
| 182 "Memory.Experimental.Gpu.PhysicalFootprint.MacOS", | 199 "Memory.Experimental.Gpu.PhysicalFootprint.MacOS", |
| 183 browser.processes[index].phys_footprint / 1024 / 1024); | 200 browser.processes[index].phys_footprint / 1024 / 1024); |
| 184 } | 201 } |
| 202 UMA_HISTOGRAM_MEMORY_LARGE_MB( |
| 203 "Memory.Experimental.Gpu.PrivateMemoryFootprint.MacOS", |
| 204 browser.processes[index].private_memory_footprint / 1024 / 1024); |
| 185 #endif | 205 #endif |
| 186 UMA_HISTOGRAM_MEMORY_KB("Memory.Gpu", sample); | 206 UMA_HISTOGRAM_MEMORY_KB("Memory.Gpu", sample); |
| 187 if (num_open_fds != -1 && open_fds_soft_limit != -1) { | 207 if (num_open_fds != -1 && open_fds_soft_limit != -1) { |
| 188 UMA_HISTOGRAM_COUNTS_10000("Memory.Gpu.OpenFDs", num_open_fds); | 208 UMA_HISTOGRAM_COUNTS_10000("Memory.Gpu.OpenFDs", num_open_fds); |
| 189 UMA_HISTOGRAM_COUNTS_10000("Memory.Gpu.OpenFDsSoftLimit", | 209 UMA_HISTOGRAM_COUNTS_10000("Memory.Gpu.OpenFDsSoftLimit", |
| 190 open_fds_soft_limit); | 210 open_fds_soft_limit); |
| 191 } | 211 } |
| 192 other_count++; | 212 other_count++; |
| 193 continue; | 213 continue; |
| 194 #if BUILDFLAG(ENABLE_PLUGINS) | 214 #if BUILDFLAG(ENABLE_PLUGINS) |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 381 memory_growth_tracker_->UpdateSample(process_entry.pid, sample, | 401 memory_growth_tracker_->UpdateSample(process_entry.pid, sample, |
| 382 &diff) && | 402 &diff) && |
| 383 generate_histograms_) { | 403 generate_histograms_) { |
| 384 if (diff < 0) | 404 if (diff < 0) |
| 385 UMA_HISTOGRAM_MEMORY_KB("Memory.RendererShrinkIn30Min", -diff); | 405 UMA_HISTOGRAM_MEMORY_KB("Memory.RendererShrinkIn30Min", -diff); |
| 386 else | 406 else |
| 387 UMA_HISTOGRAM_MEMORY_KB("Memory.RendererGrowthIn30Min", diff); | 407 UMA_HISTOGRAM_MEMORY_KB("Memory.RendererGrowthIn30Min", diff); |
| 388 } | 408 } |
| 389 } | 409 } |
| 390 } | 410 } |
| OLD | NEW |