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

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

Issue 1021053003: Delivering the FIRST_NONEMPTY_PAINT phase changing event to base/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@phase_splitting
Patch Set: Fixing a typo. Created 5 years, 8 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_metrics_service_client.h" 5 #include "chrome/browser/metrics/chrome_metrics_service_client.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 waiting_for_collect_final_metrics_step_(false), 126 waiting_for_collect_final_metrics_step_(false),
127 num_async_histogram_fetches_in_progress_(0), 127 num_async_histogram_fetches_in_progress_(0),
128 profiler_metrics_provider_(nullptr), 128 profiler_metrics_provider_(nullptr),
129 #if defined(ENABLE_PLUGINS) 129 #if defined(ENABLE_PLUGINS)
130 plugin_metrics_provider_(nullptr), 130 plugin_metrics_provider_(nullptr),
131 #endif 131 #endif
132 #if defined(OS_WIN) 132 #if defined(OS_WIN)
133 google_update_metrics_provider_(nullptr), 133 google_update_metrics_provider_(nullptr),
134 #endif 134 #endif
135 drive_metrics_provider_(nullptr), 135 drive_metrics_provider_(nullptr),
136 weak_ptr_factory_(this) { 136 weak_ptr_factory_(this),
137 start_time_(base::TimeTicks::Now()) {
137 DCHECK(thread_checker_.CalledOnValidThread()); 138 DCHECK(thread_checker_.CalledOnValidThread());
138 RecordCommandLineMetrics(); 139 RecordCommandLineMetrics();
139 RegisterForNotifications(); 140 RegisterForNotifications();
140 } 141 }
141 142
142 ChromeMetricsServiceClient::~ChromeMetricsServiceClient() { 143 ChromeMetricsServiceClient::~ChromeMetricsServiceClient() {
143 DCHECK(thread_checker_.CalledOnValidThread()); 144 DCHECK(thread_checker_.CalledOnValidThread());
144 } 145 }
145 146
146 // static 147 // static
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 #endif // defined(OS_WIN) && defined(GOOGLE_CHROME_BUILD) 417 #endif // defined(OS_WIN) && defined(GOOGLE_CHROME_BUILD)
417 } 418 }
418 419
419 void ChromeMetricsServiceClient::OnInitTaskGotGoogleUpdateData() { 420 void ChromeMetricsServiceClient::OnInitTaskGotGoogleUpdateData() {
420 // Start the next part of the init task: fetching performance data. This will 421 // Start the next part of the init task: fetching performance data. This will
421 // call into |FinishedReceivingProfilerData()| when the task completes. 422 // call into |FinishedReceivingProfilerData()| when the task completes.
422 metrics::TrackingSynchronizer::FetchProfilerDataAsynchronously( 423 metrics::TrackingSynchronizer::FetchProfilerDataAsynchronously(
423 weak_ptr_factory_.GetWeakPtr()); 424 weak_ptr_factory_.GetWeakPtr());
424 } 425 }
425 426
426 // TODO(vadimt): Consider wrapping params in a struct after the list of params
427 // to ReceivedProfilerData settles. crbug/456354.
428 void ChromeMetricsServiceClient::ReceivedProfilerData( 427 void ChromeMetricsServiceClient::ReceivedProfilerData(
429 const tracked_objects::ProcessDataPhaseSnapshot& process_data_phase, 428 const tracked_objects::ProcessDataPhaseSnapshot& process_data_phase,
430 base::ProcessId process_id, 429 base::ProcessId process_id,
431 content::ProcessType process_type, 430 content::ProcessType process_type,
432 int profiling_phase, 431 int profiling_phase,
433 base::TimeDelta phase_start, 432 base::TimeTicks phase_start,
434 base::TimeDelta phase_finish, 433 base::TimeTicks phase_finish,
435 const metrics::ProfilerEvents& past_events) { 434 const metrics::ProfilerEvents& past_events) {
436 profiler_metrics_provider_->RecordProfilerData( 435 profiler_metrics_provider_->RecordProfilerData(
437 process_data_phase, process_id, process_type, profiling_phase, 436 process_data_phase, process_id, process_type, profiling_phase,
438 phase_start, phase_finish, past_events); 437 phase_start - start_time_, phase_finish - start_time_, past_events);
439 } 438 }
440 439
441 void ChromeMetricsServiceClient::FinishedReceivingProfilerData() { 440 void ChromeMetricsServiceClient::FinishedReceivingProfilerData() {
442 drive_metrics_provider_->GetDriveMetrics( 441 drive_metrics_provider_->GetDriveMetrics(
443 finished_gathering_initial_metrics_callback_); 442 finished_gathering_initial_metrics_callback_);
444 } 443 }
445 444
446 void ChromeMetricsServiceClient::OnMemoryDetailCollectionDone() { 445 void ChromeMetricsServiceClient::OnMemoryDetailCollectionDone() {
447 DCHECK(thread_checker_.CalledOnValidThread()); 446 DCHECK(thread_checker_.CalledOnValidThread());
448 447
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
557 case content::NOTIFICATION_LOAD_START: 556 case content::NOTIFICATION_LOAD_START:
558 case content::NOTIFICATION_RENDERER_PROCESS_CLOSED: 557 case content::NOTIFICATION_RENDERER_PROCESS_CLOSED:
559 case content::NOTIFICATION_RENDER_WIDGET_HOST_HANG: 558 case content::NOTIFICATION_RENDER_WIDGET_HOST_HANG:
560 metrics_service_->OnApplicationNotIdle(); 559 metrics_service_->OnApplicationNotIdle();
561 break; 560 break;
562 561
563 default: 562 default:
564 NOTREACHED(); 563 NOTREACHED();
565 } 564 }
566 } 565 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698