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

Side by Side Diff: chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc

Issue 760763002: Add startup metrics that measure the performance of the first web contents. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comments from asvitkine. Created 6 years 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/chrome_browser_main_extra_parts_metrics.h" 5 #include "chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 const int kStartupMetricsGatheringDelaySeconds = 45; 257 const int kStartupMetricsGatheringDelaySeconds = 45;
258 content::BrowserThread::GetBlockingPool()->PostDelayedTask( 258 content::BrowserThread::GetBlockingPool()->PostDelayedTask(
259 FROM_HERE, 259 FROM_HERE,
260 base::Bind(&RecordStartupMetricsOnBlockingPool), 260 base::Bind(&RecordStartupMetricsOnBlockingPool),
261 base::TimeDelta::FromSeconds(kStartupMetricsGatheringDelaySeconds)); 261 base::TimeDelta::FromSeconds(kStartupMetricsGatheringDelaySeconds));
262 262
263 display_count_ = gfx::Screen::GetNativeScreen()->GetNumDisplays(); 263 display_count_ = gfx::Screen::GetNativeScreen()->GetNumDisplays();
264 UMA_HISTOGRAM_COUNTS_100("Hardware.Display.Count.OnStartup", display_count_); 264 UMA_HISTOGRAM_COUNTS_100("Hardware.Display.Count.OnStartup", display_count_);
265 gfx::Screen::GetNativeScreen()->AddObserver(this); 265 gfx::Screen::GetNativeScreen()->AddObserver(this);
266 is_screen_observer_ = true; 266 is_screen_observer_ = true;
267
268 if (FirstWebContentsProfiler::ShouldCollectMetrics()) {
269 first_web_contents_profiler_ =
270 FirstWebContentsProfiler::CreateProfilerForFirstWebContents(this)
271 .Pass();
272 }
267 } 273 }
268 274
269 void ChromeBrowserMainExtraPartsMetrics::OnDisplayAdded( 275 void ChromeBrowserMainExtraPartsMetrics::OnDisplayAdded(
270 const gfx::Display& new_display) { 276 const gfx::Display& new_display) {
271 EmitDisplaysChangedMetric(); 277 EmitDisplaysChangedMetric();
272 } 278 }
273 279
274 void ChromeBrowserMainExtraPartsMetrics::OnDisplayRemoved( 280 void ChromeBrowserMainExtraPartsMetrics::OnDisplayRemoved(
275 const gfx::Display& old_display) { 281 const gfx::Display& old_display) {
276 EmitDisplaysChangedMetric(); 282 EmitDisplaysChangedMetric();
277 } 283 }
278 284
279 void ChromeBrowserMainExtraPartsMetrics::OnDisplayMetricsChanged( 285 void ChromeBrowserMainExtraPartsMetrics::OnDisplayMetricsChanged(
280 const gfx::Display& display, 286 const gfx::Display& display,
281 uint32_t changed_metrics) { 287 uint32_t changed_metrics) {
282 } 288 }
283 289
290 void ChromeBrowserMainExtraPartsMetrics::ProfilerFinishedCollectingMetrics() {
291 first_web_contents_profiler_.reset();
292 }
293
284 void ChromeBrowserMainExtraPartsMetrics::EmitDisplaysChangedMetric() { 294 void ChromeBrowserMainExtraPartsMetrics::EmitDisplaysChangedMetric() {
285 int display_count = gfx::Screen::GetNativeScreen()->GetNumDisplays(); 295 int display_count = gfx::Screen::GetNativeScreen()->GetNumDisplays();
286 if (display_count != display_count_) { 296 if (display_count != display_count_) {
287 display_count_ = display_count; 297 display_count_ = display_count;
288 UMA_HISTOGRAM_COUNTS_100("Hardware.Display.Count.OnChange", display_count_); 298 UMA_HISTOGRAM_COUNTS_100("Hardware.Display.Count.OnChange", display_count_);
289 } 299 }
290 } 300 }
291 301
292 namespace chrome { 302 namespace chrome {
293 303
294 void AddMetricsExtraParts(ChromeBrowserMainParts* main_parts) { 304 void AddMetricsExtraParts(ChromeBrowserMainParts* main_parts) {
295 main_parts->AddParts(new ChromeBrowserMainExtraPartsMetrics()); 305 main_parts->AddParts(new ChromeBrowserMainExtraPartsMetrics());
296 } 306 }
297 307
298 } // namespace chrome 308 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698