summaryrefslogtreecommitdiffstats
path: root/chromecast/metrics
diff options
context:
space:
mode:
authorgunsch <gunsch@chromium.org>2014-09-19 16:34:49 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-19 23:35:19 +0000
commit25deaa9ef9f22d2da25872905bb25434e63d49e3 (patch)
treeccabdf815385354aea097de0424554c968a5fd6b /chromecast/metrics
parentb316e9276bb4469277850272e3b2057465b063a1 (diff)
downloadchromium_src-25deaa9ef9f22d2da25872905bb25434e63d49e3.zip
chromium_src-25deaa9ef9f22d2da25872905bb25434e63d49e3.tar.gz
chromium_src-25deaa9ef9f22d2da25872905bb25434e63d49e3.tar.bz2
Chromecast: adds Gpu/Network/Profiler metrics providers.
R=asvitkine@chromium.org,lcwu@chromium.org BUG=400925 Review URL: https://codereview.chromium.org/587853002 Cr-Commit-Position: refs/heads/master@{#295810}
Diffstat (limited to 'chromecast/metrics')
-rw-r--r--chromecast/metrics/cast_metrics_service_client.cc20
-rw-r--r--chromecast/metrics/cast_metrics_service_client.h6
2 files changed, 23 insertions, 3 deletions
diff --git a/chromecast/metrics/cast_metrics_service_client.cc b/chromecast/metrics/cast_metrics_service_client.cc
index 6409aba..637cd40 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();
diff --git a/chromecast/metrics/cast_metrics_service_client.h b/chromecast/metrics/cast_metrics_service_client.h
index 24751bb..fc55aea 100644
--- a/chromecast/metrics/cast_metrics_service_client.h
+++ b/chromecast/metrics/cast_metrics_service_client.h
@@ -14,6 +14,10 @@
class PrefService;
+namespace base {
+class TaskRunner;
+}
+
namespace metrics {
class MetricsService;
class MetricsStateManager;
@@ -31,6 +35,7 @@ class CastMetricsServiceClient : public ::metrics::MetricsServiceClient {
virtual ~CastMetricsServiceClient();
static CastMetricsServiceClient* Create(
+ base::TaskRunner* io_task_runner,
PrefService* pref_service,
net::URLRequestContextGetter* request_context);
@@ -55,6 +60,7 @@ class CastMetricsServiceClient : public ::metrics::MetricsServiceClient {
private:
CastMetricsServiceClient(
+ base::TaskRunner* io_task_runner,
PrefService* pref_service,
net::URLRequestContextGetter* request_context);