Chromium Code Reviews| Index: chrome/browser/performance_monitor/process_metrics_history.cc |
| diff --git a/chrome/browser/performance_monitor/process_metrics_history.cc b/chrome/browser/performance_monitor/process_metrics_history.cc |
| index 9ac206fb36151817a4ccbe446fb28fab2d91d2f6..38c1e417fa4cb66b52e1f9850d022d3b1606aac3 100644 |
| --- a/chrome/browser/performance_monitor/process_metrics_history.cc |
| +++ b/chrome/browser/performance_monitor/process_metrics_history.cc |
| @@ -52,7 +52,7 @@ void ProcessMetricsHistory::Initialize(base::ProcessHandle process_handle, |
| } |
| void ProcessMetricsHistory::SampleMetrics() { |
| - double cpu_usage = process_metrics_->GetCPUUsage(); |
| + double cpu_usage = process_metrics_->GetPlatformIndependentCPUUsage(); |
| min_cpu_usage_ = std::min(min_cpu_usage_, cpu_usage); |
| accumulated_cpu_usage_ += cpu_usage; |
| @@ -74,9 +74,15 @@ void ProcessMetricsHistory::EndOfCycle() { |
| void ProcessMetricsHistory::RunPerformanceTriggers() { |
| // As an initial step, we only care about browser processes. |
| - if (process_type_ != content::PROCESS_TYPE_BROWSER) |
| + if (process_type_ != content::PROCESS_TYPE_BROWSER || sample_count_ == 0) |
| return; |
| + // We scale up to the equivalent of 64 CPU cores fully loaded. More than this |
| + // doesn't really matter, as we're already in a terrible place. |
| + UMA_HISTOGRAM_CUSTOM_COUNTS("PerformanceMonitor.AverageCPU.BrowserProcess", |
|
jar (doing other things)
2013/10/22 22:30:03
This may be interesting to look at.... but it is h
oystein (OOO til 10th of July)
2013/10/24 14:47:56
Definitely some good points, and to be honest I'm
|
| + accumulated_cpu_usage_ / sample_count_, |
| + 0, 6400, 50); |
| + |
| // If CPU usage has consistently been above our threshold, |
| // we *may* have an issue. |
| if (min_cpu_usage_ > kHighCPUUtilizationThreshold) |