| Index: chromecast/browser/metrics/cast_metrics_service_client.cc
|
| diff --git a/chromecast/browser/metrics/cast_metrics_service_client.cc b/chromecast/browser/metrics/cast_metrics_service_client.cc
|
| index b6a6590f9e51c62b93513d584fe6cb4d5b6089aa..feb0fa6022ce0a5f08b29e00b7aadc4413b560e2 100644
|
| --- a/chromecast/browser/metrics/cast_metrics_service_client.cc
|
| +++ b/chromecast/browser/metrics/cast_metrics_service_client.cc
|
| @@ -19,6 +19,10 @@
|
| #include "components/metrics/net/network_metrics_provider.h"
|
| #include "components/metrics/profiler/profiler_metrics_provider.h"
|
|
|
| +#if defined(OS_LINUX)
|
| +#include "chromecast/browser/metrics/external_metrics.h"
|
| +#endif // defined(OS_LINUX)
|
| +
|
| namespace chromecast {
|
| namespace metrics {
|
|
|
| @@ -152,9 +156,10 @@ CastMetricsServiceClient::CastMetricsServiceClient(
|
| // value.
|
| metrics_state_manager_->ForceClientIdCreation();
|
|
|
| + CastStabilityMetricsProvider* stability_provider =
|
| + new CastStabilityMetricsProvider(metrics_service_.get());
|
| metrics_service_->RegisterMetricsProvider(
|
| - scoped_ptr< ::metrics::MetricsProvider>(
|
| - new CastStabilityMetricsProvider));
|
| + scoped_ptr< ::metrics::MetricsProvider>(stability_provider));
|
| metrics_service_->RegisterMetricsProvider(
|
| scoped_ptr< ::metrics::MetricsProvider>(
|
| new ::metrics::GPUMetricsProvider));
|
| @@ -170,6 +175,13 @@ CastMetricsServiceClient::CastMetricsServiceClient(
|
|
|
| if (IsReportingEnabled())
|
| metrics_service_->Start();
|
| +
|
| + // Start external metrics collection, which feeds data from external
|
| + // processes into the main external metrics.
|
| +#if defined(OS_LINUX)
|
| + external_metrics_.reset(new ExternalMetrics(stability_provider));
|
| + external_metrics_->Start();
|
| +#endif // defined(OS_LINUX)
|
| }
|
|
|
| CastMetricsServiceClient::~CastMetricsServiceClient() {
|
|
|