Don't schedule more invokeFunctors than necessary.
[chromium-blink-merge.git] / components / metrics / BUILD.gn
blob964bf94f186441cb071f7ba40e4fb31e4b07ac31
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 # GYP version: components/metrics.gypi:metrics
6 source_set("metrics") {
7   sources = [
8     "clean_exit_beacon.cc",
9     "clean_exit_beacon.h",
10     "client_info.cc",
11     "client_info.h",
12     "cloned_install_detector.cc",
13     "cloned_install_detector.h",
14     "compression_utils.cc",
15     "compression_utils.h",
16     "daily_event.cc",
17     "daily_event.h",
18     "histogram_encoder.cc",
19     "histogram_encoder.h",
20     "histogram_manager.cc",
21     "histogram_manager.h",
22     "machine_id_provider.h",
23     "machine_id_provider_stub.cc",
24     "machine_id_provider_win.cc",
25     "metrics_hashes.cc",
26     "metrics_hashes.h",
27     "metrics_log.cc",
28     "metrics_log.h",
29     "metrics_log_manager.cc",
30     "metrics_log_manager.h",
31     "metrics_log_uploader.cc",
32     "metrics_log_uploader.h",
33     "metrics_pref_names.cc",
34     "metrics_pref_names.h",
35     "metrics_provider.cc",
36     "metrics_provider.h",
37     "metrics_reporting_scheduler.cc",
38     "metrics_reporting_scheduler.h",
39     "metrics_service.cc",
40     "metrics_service.h",
41     "metrics_service_accessor.cc",
42     "metrics_service_accessor.h",
43     "metrics_service_client.cc",
44     "metrics_service_client.h",
45     "metrics_state_manager.cc",
46     "metrics_state_manager.h",
47     "metrics_switches.cc",
48     "metrics_switches.h",
49     "persisted_logs.cc",
50     "persisted_logs.h",
51   ]
53   public_deps = [
54     "//components/metrics/proto",
55   ]
56   deps = [
57     "//base",
58     "//base:i18n",
59     "//base:prefs",
60     "//components/variations",
61     "//third_party/zlib",
62   ]
64   if (is_chromeos) {
65     deps += [ ":serialization" ]
66   }
69 # GYP version: components/metrics.gypi:metrics_gpu
70 source_set("gpu") {
71   sources = [
72     "gpu/gpu_metrics_provider.cc",
73     "gpu/gpu_metrics_provider.h",
74   ]
76   public_deps = [
77     ":metrics",
78   ]
79   deps = [
80     "//base",
81     "//content/public/browser",
82     "//gpu/config",
83     "//ui/gfx",
84   ]
87 # GYP version: components/metrics.gypi:metrics_net
88 static_library("net") {
89   sources = [
90     "net/network_metrics_provider.cc",
91     "net/network_metrics_provider.h",
92     "net/net_metrics_log_uploader.cc",
93     "net/net_metrics_log_uploader.h",
94     "net/wifi_access_point_info_provider.cc",
95     "net/wifi_access_point_info_provider.h",
96     "net/wifi_access_point_info_provider_chromeos.cc",
97     "net/wifi_access_point_info_provider_chromeos.h",
98   ]
100   public_deps = [
101     ":metrics",
102   ]
103   deps = [
104     "//base",
105     "//net",
106     "//url",
107   ]
110 # GYP version: components/metrics.gypi:metrics_profiler
111 source_set("profiler") {
112   sources = [
113     "profiler/profiler_metrics_provider.cc",
114     "profiler/profiler_metrics_provider.h",
115     "profiler/tracking_synchronizer.cc",
116     "profiler/tracking_synchronizer.h",
117     "profiler/tracking_synchronizer_observer.h",
118   ]
120   public_deps = [
121     ":metrics",
122   ]
123   deps = [
124     "//base",
125     "//components/variations",
126     "//content/public/browser",
127     "//content/public/common",
128   ]
131 # GYP version: components/metrics.gypi:metrics_test_support
132 source_set("test_support") {
133   sources = [
134     "test_metrics_service_client.cc",
135     "test_metrics_service_client.h",
136   ]
138   public_deps = [
139     ":metrics",
140   ]
141   deps = [
142     "//base",
143   ]
146 if (is_linux) {
147   # GYP version: components/metrics.gypi:metrics_serialization
148   source_set("serialization") {
149     sources = [
150       "serialization/serialization_utils.cc",
151       "serialization/serialization_utils.h",
152       "serialization/metric_sample.cc",
153       "serialization/metric_sample.h",
154     ]
155     deps = [
156       "//base",
157     ]
158   }
161 source_set("unit_tests") {
162   testonly = true
163   sources = [
164     "compression_utils_unittest.cc",
165     "daily_event_unittest.cc",
166     "histogram_encoder_unittest.cc",
167     "histogram_manager_unittest.cc",
168     "machine_id_provider_win_unittest.cc",
169     "metrics_hashes_unittest.cc",
170     "metrics_log_manager_unittest.cc",
171     "metrics_log_unittest.cc",
172     "metrics_reporting_scheduler_unittest.cc",
173     "metrics_service_unittest.cc",
174     "metrics_state_manager_unittest.cc",
175     "persisted_logs_unittest.cc",
176     "profiler/profiler_metrics_provider_unittest.cc",
177   ]
179   deps = [
180     ":metrics",
181     ":profiler",
182     ":test_support",
183     "//base:prefs_test_support",
184     "//base/test:test_support",
185     "//components/variations",
186     "//content/public/common",
187     "//testing/gtest",
188   ]
190 # TODO(GYP): metrics_chromeos