diff options
author | gunsch <gunsch@chromium.org> | 2014-09-19 16:34:49 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-19 23:35:19 +0000 |
commit | 25deaa9ef9f22d2da25872905bb25434e63d49e3 (patch) | |
tree | ccabdf815385354aea097de0424554c968a5fd6b | |
parent | b316e9276bb4469277850272e3b2057465b063a1 (diff) | |
download | chromium_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}
-rw-r--r-- | chromecast/chromecast.gyp | 2 | ||||
-rw-r--r-- | chromecast/metrics/cast_metrics_service_client.cc | 20 | ||||
-rw-r--r-- | chromecast/metrics/cast_metrics_service_client.h | 6 | ||||
-rw-r--r-- | chromecast/shell/browser/cast_browser_main_parts.cc | 2 |
4 files changed, 27 insertions, 3 deletions
diff --git a/chromecast/chromecast.gyp b/chromecast/chromecast.gyp index 90c3c87..6acf231 100644 --- a/chromecast/chromecast.gyp +++ b/chromecast/chromecast.gyp @@ -50,7 +50,9 @@ 'cast_common', '../components/components.gyp:component_metrics_proto', '../components/components.gyp:metrics', + '../components/components.gyp:metrics_gpu', '../components/components.gyp:metrics_net', + '../components/components.gyp:metrics_profiler', ], 'sources': [ 'metrics/cast_metrics_prefs.cc', 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); diff --git a/chromecast/shell/browser/cast_browser_main_parts.cc b/chromecast/shell/browser/cast_browser_main_parts.cc index c7f1902..dcb1b21 100644 --- a/chromecast/shell/browser/cast_browser_main_parts.cc +++ b/chromecast/shell/browser/cast_browser_main_parts.cc @@ -17,6 +17,7 @@ #include "chromecast/shell/browser/devtools/remote_debugging_server.h" #include "chromecast/shell/browser/url_request_context_factory.h" #include "chromecast/shell/browser/webui/webui_cast.h" +#include "content/public/browser/browser_thread.h" #include "content/public/common/content_switches.h" #if defined(OS_ANDROID) @@ -93,6 +94,7 @@ void CastBrowserMainParts::PreMainMessageLoopRun() { new CastBrowserContext(url_request_context_factory_)); cast_browser_process_->SetMetricsServiceClient( metrics::CastMetricsServiceClient::Create( + content::BrowserThread::GetBlockingPool(), ChromecastConfig::GetInstance()->pref_service(), cast_browser_process_->browser_context()->GetRequestContext())); cast_browser_process_->SetRemoteDebuggingServer(new RemoteDebuggingServer()); |