Commit 1afc6517 authored by gunsch's avatar gunsch Committed by Commit bot

Moves GPUMetricsProvider to //components/metrics.

R=asvitkine@chromium.org,isherman@chromium.org
BUG=404791

Review URL: https://codereview.chromium.org/523273003

Cr-Commit-Position: refs/heads/master@{#294935}
parent 0b527c1e
......@@ -59,6 +59,7 @@ static_library("browser") {
"//components/history/core/common",
"//components/infobars/core",
"//components/invalidation",
"//components/metrics:gpu",
"//components/metrics:net",
"//components/metrics/proto:proto",
"//components/navigation_metrics",
......
......@@ -22,7 +22,6 @@
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/google/google_brand.h"
#include "chrome/browser/metrics/chrome_stability_metrics_provider.h"
#include "chrome/browser/metrics/gpu_metrics_provider.h"
#include "chrome/browser/metrics/omnibox_metrics_provider.h"
#include "chrome/browser/metrics/profiler_metrics_provider.h"
#include "chrome/browser/metrics/tracking_synchronizer.h"
......@@ -33,6 +32,7 @@
#include "chrome/common/crash_keys.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/render_messages.h"
#include "components/metrics/gpu/gpu_metrics_provider.h"
#include "components/metrics/metrics_service.h"
#include "components/metrics/net/net_metrics_log_uploader.h"
#include "components/metrics/net/network_metrics_provider.h"
......@@ -307,7 +307,7 @@ void ChromeMetricsServiceClient::Initialize() {
metrics_service_->RegisterMetricsProvider(
scoped_ptr<metrics::MetricsProvider>(new ChromeStabilityMetricsProvider));
metrics_service_->RegisterMetricsProvider(
scoped_ptr<metrics::MetricsProvider>(new GPUMetricsProvider()));
scoped_ptr<metrics::MetricsProvider>(new metrics::GPUMetricsProvider()));
profiler_metrics_provider_ = new ProfilerMetricsProvider;
metrics_service_->RegisterMetricsProvider(
scoped_ptr<metrics::MetricsProvider>(profiler_metrics_provider_));
......
......@@ -678,8 +678,6 @@
'browser/metrics/field_trial_synchronizer.h',
'browser/metrics/google_update_metrics_provider_win.cc',
'browser/metrics/google_update_metrics_provider_win.h',
'browser/metrics/gpu_metrics_provider.cc',
'browser/metrics/gpu_metrics_provider.h',
'browser/metrics/metric_event_duration_details.h',
'browser/metrics/metrics_reporting_state.cc',
'browser/metrics/metrics_reporting_state.h',
......@@ -2796,6 +2794,7 @@
'../components/components.gyp:infobars_core',
'../components/components.gyp:invalidation',
'../components/components.gyp:metrics',
'../components/components.gyp:metrics_gpu',
'../components/components.gyp:metrics_net',
'../components/components.gyp:navigation_metrics',
'../components/components.gyp:network_time',
......
......@@ -529,7 +529,6 @@
'browser/metrics/chrome_metrics_service_accessor_unittest.cc',
'browser/metrics/cloned_install_detector_unittest.cc',
'browser/metrics/extensions_metrics_provider_unittest.cc',
'browser/metrics/gpu_metrics_provider_unittest.cc',
'browser/metrics/plugin_metrics_provider_unittest.cc',
'browser/metrics/profiler_metrics_provider_unittest.cc',
'browser/metrics/signin_status_metrics_provider_unittest.cc',
......
......@@ -366,6 +366,7 @@
# Dependencies of metrics
'components.gyp:metrics',
'components.gyp:metrics_gpu',
'components.gyp:metrics_net',
'components.gyp:metrics_test_support',
......@@ -449,6 +450,7 @@
'sources': [
'autofill/content/renderer/renderer_save_password_progress_logger_unittest.cc',
'dom_distiller/content/dom_distiller_viewer_source_unittest.cc',
'metrics/gpu/gpu_metrics_provider_unittest.cc',
'power/origin_power_map_unittest.cc',
],
'dependencies': [
......
......@@ -67,6 +67,22 @@
}],
],
},
{
# GN version: //components/metrics:gpu
'target_name': 'metrics_gpu',
'type': 'static_library',
'include_dirs': [
'..',
],
'dependencies': [
'component_metrics_proto',
'metrics',
],
'sources': [
'metrics/gpu/gpu_metrics_provider.cc',
'metrics/gpu/gpu_metrics_provider.h',
],
},
{
# GN version: //components/metrics:net
'target_name': 'metrics_net',
......
......@@ -52,6 +52,21 @@ source_set("metrics") {
forward_dependent_configs_from = [ "//components/metrics/proto" ]
}
# GYP version: components/metrics.gypi:metrics_gpu
source_set("gpu") {
sources = [
"gpu/gpu_metrics_provider.cc",
"gpu/gpu_metrics_provider.h",
]
deps = [
":metrics",
"//gpu/config",
]
forward_dependent_configs_from = [ ":metrics" ]
}
# GYP version: components/metrics.gypi:metrics_net
static_library("net") {
sources = [
......
include_rules = [
"+content/public/browser",
"+gpu/config",
"+ui/gfx",
]
......@@ -2,13 +2,15 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/metrics/gpu_metrics_provider.h"
#include "components/metrics/gpu/gpu_metrics_provider.h"
#include "components/metrics/proto/system_profile.pb.h"
#include "content/public/browser/gpu_data_manager.h"
#include "gpu/config/gpu_info.h"
#include "ui/gfx/screen.h"
namespace metrics {
#if defined(OS_WIN)
#include <windows.h>
......@@ -37,8 +39,7 @@ BOOL CALLBACK GetMonitorDPICallback(HMONITOR, HDC hdc, LPRECT, LPARAM dwData) {
return TRUE;
}
void WriteScreenDPIInformationProto(
metrics::SystemProfileProto::Hardware* hardware) {
void WriteScreenDPIInformationProto(SystemProfileProto::Hardware* hardware) {
HDC desktop_dc = GetDC(NULL);
if (desktop_dc) {
ScreenDPIInformation si = {0, 0};
......@@ -62,19 +63,19 @@ GPUMetricsProvider::~GPUMetricsProvider() {
}
void GPUMetricsProvider::ProvideSystemProfileMetrics(
metrics::SystemProfileProto* system_profile_proto) {
metrics::SystemProfileProto::Hardware* hardware =
SystemProfileProto* system_profile_proto) {
SystemProfileProto::Hardware* hardware =
system_profile_proto->mutable_hardware();
const gpu::GPUInfo& gpu_info =
content::GpuDataManager::GetInstance()->GetGPUInfo();
metrics::SystemProfileProto::Hardware::Graphics* gpu =
SystemProfileProto::Hardware::Graphics* gpu =
hardware->mutable_gpu();
gpu->set_vendor_id(gpu_info.gpu.vendor_id);
gpu->set_device_id(gpu_info.gpu.device_id);
gpu->set_driver_version(gpu_info.driver_version);
gpu->set_driver_date(gpu_info.driver_date);
metrics::SystemProfileProto::Hardware::Graphics::PerformanceStatistics*
SystemProfileProto::Hardware::Graphics::PerformanceStatistics*
gpu_performance = gpu->mutable_performance_statistics();
gpu_performance->set_graphics_score(gpu_info.performance_stats.graphics);
gpu_performance->set_gaming_score(gpu_info.performance_stats.gaming);
......@@ -106,3 +107,5 @@ int GPUMetricsProvider::GetScreenCount() const {
// TODO(scottmg): NativeScreen maybe wrong. http://crbug.com/133312
return gfx::Screen::GetNativeScreen()->GetNumDisplays();
}
} // namespace metrics
......@@ -2,22 +2,24 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_METRICS_GPU_METRICS_PROVIDER_H_
#define CHROME_BROWSER_METRICS_GPU_METRICS_PROVIDER_H_
#ifndef COMPONENTS_METRICS_GPU_GPU_METRICS_PROVIDER_H_
#define COMPONENTS_METRICS_GPU_GPU_METRICS_PROVIDER_H_
#include "base/basictypes.h"
#include "components/metrics/metrics_provider.h"
#include "ui/gfx/size.h"
namespace metrics {
// GPUMetricsProvider provides GPU-related metrics.
class GPUMetricsProvider : public metrics::MetricsProvider {
class GPUMetricsProvider : public MetricsProvider {
public:
GPUMetricsProvider();
virtual ~GPUMetricsProvider();
// metrics::MetricsProvider:
// MetricsProvider:
virtual void ProvideSystemProfileMetrics(
metrics::SystemProfileProto* system_profile_proto) OVERRIDE;
SystemProfileProto* system_profile_proto) OVERRIDE;
protected:
// Exposed for the sake of mocking in test code.
......@@ -35,4 +37,6 @@ class GPUMetricsProvider : public metrics::MetricsProvider {
DISALLOW_COPY_AND_ASSIGN(GPUMetricsProvider);
};
#endif // CHROME_BROWSER_METRICS_GPU_METRICS_PROVIDER_H_
} // namespace metrics
#endif // COMPONENTS_METRICS_GPU_GPU_METRICS_PROVIDER_H_
......@@ -2,13 +2,15 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/metrics/gpu_metrics_provider.h"
#include "components/metrics/gpu/gpu_metrics_provider.h"
#include "base/basictypes.h"
#include "components/metrics/proto/chrome_user_metrics_extension.pb.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/gfx/size.h"
namespace metrics {
namespace {
const int kScreenWidth = 1024;
......@@ -62,3 +64,5 @@ TEST_F(GPUMetricsProviderTest, ProvideSystemProfileMetrics) {
EXPECT_EQ(kScreenScaleFactor, hardware.primary_screen_scale_factor());
EXPECT_EQ(kScreenCount, hardware.screen_count());
}
} // namespace metrics
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment