| Index: chromecast/metrics/cast_metrics_service_client.cc
|
| diff --git a/chromecast/metrics/cast_metrics_service_client.cc b/chromecast/metrics/cast_metrics_service_client.cc
|
| index 6409aba957e5cd24c09c2dcb710bdcd0ab630229..637cd400b864e484b3300b51d33eb69ce8076ce2 100644
|
| --- a/chromecast/metrics/cast_metrics_service_client.cc
|
| +++ b/chromecast/metrics/cast_metrics_service_client.cc
|
| @@ -10,10 +10,13 @@
|
| #include "chromecast/common/chromecast_switches.h"
|
| #include "chromecast/metrics/platform_metrics_providers.h"
|
| #include "components/metrics/client_info.h"
|
| +#include "components/metrics/gpu/gpu_metrics_provider.h"
|
| #include "components/metrics/metrics_provider.h"
|
| #include "components/metrics/metrics_service.h"
|
| #include "components/metrics/metrics_state_manager.h"
|
| #include "components/metrics/net/net_metrics_log_uploader.h"
|
| +#include "components/metrics/net/network_metrics_provider.h"
|
| +#include "components/metrics/profiler/profiler_metrics_provider.h"
|
|
|
| namespace chromecast {
|
| namespace metrics {
|
| @@ -31,9 +34,12 @@ scoped_ptr<::metrics::ClientInfo> LoadClientInfo() {
|
|
|
| // static
|
| CastMetricsServiceClient* CastMetricsServiceClient::Create(
|
| + base::TaskRunner* io_task_runner,
|
| PrefService* pref_service,
|
| net::URLRequestContextGetter* request_context) {
|
| - return new CastMetricsServiceClient(pref_service, request_context);
|
| + return new CastMetricsServiceClient(io_task_runner,
|
| + pref_service,
|
| + request_context);
|
| }
|
|
|
| void CastMetricsServiceClient::SetMetricsClientId(
|
| @@ -107,6 +113,7 @@ void CastMetricsServiceClient::EnableMetricsService(bool enabled) {
|
| }
|
|
|
| CastMetricsServiceClient::CastMetricsServiceClient(
|
| + base::TaskRunner* io_task_runner,
|
| PrefService* pref_service,
|
| net::URLRequestContextGetter* request_context)
|
| : metrics_state_manager_(::metrics::MetricsStateManager::Create(
|
| @@ -129,8 +136,15 @@ CastMetricsServiceClient::CastMetricsServiceClient(
|
| // value.
|
| metrics_state_manager_->ForceClientIdCreation();
|
|
|
| - // TODO(gunsch): Add the following: GPUMetricsProvider,
|
| - // NetworkMetricsProvider, ProfilerMetricsProvider. See: crbug/404791
|
| + metrics_service_->RegisterMetricsProvider(
|
| + scoped_ptr< ::metrics::MetricsProvider>(
|
| + new ::metrics::GPUMetricsProvider));
|
| + metrics_service_->RegisterMetricsProvider(
|
| + scoped_ptr< ::metrics::MetricsProvider>(
|
| + new NetworkMetricsProvider(io_task_runner)));
|
| + metrics_service_->RegisterMetricsProvider(
|
| + scoped_ptr< ::metrics::MetricsProvider>(
|
| + new ::metrics::ProfilerMetricsProvider));
|
| RegisterPlatformMetricsProviders(metrics_service_.get());
|
|
|
| metrics_service_->InitializeMetricsRecordingState();
|
|
|