xref: /aosp_15_r20/external/cronet/components/metrics/BUILD.gn (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker# Copyright 2014 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker
5*6777b538SAndroid Build Coastguard Workerimport("//build/config/chromeos/ui_mode.gni")
6*6777b538SAndroid Build Coastguard Workerimport("//build/config/cronet/config.gni")
7*6777b538SAndroid Build Coastguard Workerimport("//build/config/features.gni")
8*6777b538SAndroid Build Coastguard Workerimport("//testing/test.gni")
9*6777b538SAndroid Build Coastguard Worker
10*6777b538SAndroid Build Coastguard Workerif (is_android) {
11*6777b538SAndroid Build Coastguard Worker  import("//build/config/android/rules.gni")
12*6777b538SAndroid Build Coastguard Worker  import("//third_party/jni_zero/jni_zero.gni")
13*6777b538SAndroid Build Coastguard Worker}
14*6777b538SAndroid Build Coastguard Worker
15*6777b538SAndroid Build Coastguard Worker# Dependency for histogram manager users: cronet and ios/webview
16*6777b538SAndroid Build Coastguard Workersource_set("library_support") {
17*6777b538SAndroid Build Coastguard Worker  public = [
18*6777b538SAndroid Build Coastguard Worker    "histogram_encoder.h",
19*6777b538SAndroid Build Coastguard Worker    "library_support/histogram_manager.h",
20*6777b538SAndroid Build Coastguard Worker  ]
21*6777b538SAndroid Build Coastguard Worker  sources = [
22*6777b538SAndroid Build Coastguard Worker    "histogram_encoder.cc",
23*6777b538SAndroid Build Coastguard Worker    "library_support/histogram_manager.cc",
24*6777b538SAndroid Build Coastguard Worker  ]
25*6777b538SAndroid Build Coastguard Worker
26*6777b538SAndroid Build Coastguard Worker  deps = [
27*6777b538SAndroid Build Coastguard Worker    "//base",
28*6777b538SAndroid Build Coastguard Worker    "//third_party/metrics_proto",
29*6777b538SAndroid Build Coastguard Worker  ]
30*6777b538SAndroid Build Coastguard Worker}
31*6777b538SAndroid Build Coastguard Worker
32*6777b538SAndroid Build Coastguard Workerif (!is_cronet_build && is_android) {
33*6777b538SAndroid Build Coastguard Worker  generate_jni("jni_headers") {
34*6777b538SAndroid Build Coastguard Worker    namespace = "metrics"
35*6777b538SAndroid Build Coastguard Worker    sources = [
36*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/components/metrics/LowEntropySource.java",
37*6777b538SAndroid Build Coastguard Worker    ]
38*6777b538SAndroid Build Coastguard Worker  }
39*6777b538SAndroid Build Coastguard Worker
40*6777b538SAndroid Build Coastguard Worker  java_cpp_features("java_features_srcjar") {
41*6777b538SAndroid Build Coastguard Worker    # External code should depend on ":foo_java" instead.
42*6777b538SAndroid Build Coastguard Worker    visibility = [ ":*" ]
43*6777b538SAndroid Build Coastguard Worker    sources = [ "//components/metrics/metrics_features.cc" ]
44*6777b538SAndroid Build Coastguard Worker    template =
45*6777b538SAndroid Build Coastguard Worker        "//components/metrics/android/java_templates/MetricsFeatures.java.tmpl"
46*6777b538SAndroid Build Coastguard Worker  }
47*6777b538SAndroid Build Coastguard Worker
48*6777b538SAndroid Build Coastguard Worker  java_cpp_strings("java_switches_srcjar") {
49*6777b538SAndroid Build Coastguard Worker    # External code should depend on ":metrics_java" instead.
50*6777b538SAndroid Build Coastguard Worker    visibility = [ ":*" ]
51*6777b538SAndroid Build Coastguard Worker    sources = [ "//components/metrics/metrics_switches.cc" ]
52*6777b538SAndroid Build Coastguard Worker    template =
53*6777b538SAndroid Build Coastguard Worker        "//components/metrics/android/java_templates/MetricsSwitches.java.tmpl"
54*6777b538SAndroid Build Coastguard Worker  }
55*6777b538SAndroid Build Coastguard Worker
56*6777b538SAndroid Build Coastguard Worker  java_cpp_enum("java_enum_srcjar") {
57*6777b538SAndroid Build Coastguard Worker    # External code should depend on ":metrics_java" instead.
58*6777b538SAndroid Build Coastguard Worker    visibility = [ ":*" ]
59*6777b538SAndroid Build Coastguard Worker    sources = [ "stability_metrics_helper.h" ]
60*6777b538SAndroid Build Coastguard Worker  }
61*6777b538SAndroid Build Coastguard Worker
62*6777b538SAndroid Build Coastguard Worker  android_library("metrics_java") {
63*6777b538SAndroid Build Coastguard Worker    # Right now, this only includes the Java switches. But if we need more Java
64*6777b538SAndroid Build Coastguard Worker    # files, they should be added here as necessary.
65*6777b538SAndroid Build Coastguard Worker    srcjar_deps = [
66*6777b538SAndroid Build Coastguard Worker      ":java_enum_srcjar",
67*6777b538SAndroid Build Coastguard Worker      ":java_features_srcjar",
68*6777b538SAndroid Build Coastguard Worker      ":java_switches_srcjar",
69*6777b538SAndroid Build Coastguard Worker    ]
70*6777b538SAndroid Build Coastguard Worker    sources = [
71*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/components/metrics/LowEntropySource.java",
72*6777b538SAndroid Build Coastguard Worker    ]
73*6777b538SAndroid Build Coastguard Worker    deps = [
74*6777b538SAndroid Build Coastguard Worker      "//base:base_java",
75*6777b538SAndroid Build Coastguard Worker      "//third_party/androidx:androidx_annotation_annotation_java",
76*6777b538SAndroid Build Coastguard Worker      "//third_party/jni_zero:jni_zero_java",
77*6777b538SAndroid Build Coastguard Worker    ]
78*6777b538SAndroid Build Coastguard Worker  }
79*6777b538SAndroid Build Coastguard Worker}
80*6777b538SAndroid Build Coastguard Worker
81*6777b538SAndroid Build Coastguard Worker# Used by the Chrome installer, which doesn't need the whole metrics library.
82*6777b538SAndroid Build Coastguard Workersource_set("client_info") {
83*6777b538SAndroid Build Coastguard Worker  sources = [
84*6777b538SAndroid Build Coastguard Worker    "client_info.cc",
85*6777b538SAndroid Build Coastguard Worker    "client_info.h",
86*6777b538SAndroid Build Coastguard Worker  ]
87*6777b538SAndroid Build Coastguard Worker}
88*6777b538SAndroid Build Coastguard Worker
89*6777b538SAndroid Build Coastguard Worker# Used by the Chrome installer, which doesn't need the whole metrics library.
90*6777b538SAndroid Build Coastguard Workersource_set("metrics_pref_names") {
91*6777b538SAndroid Build Coastguard Worker  sources = [
92*6777b538SAndroid Build Coastguard Worker    "metrics_pref_names.cc",
93*6777b538SAndroid Build Coastguard Worker    "metrics_pref_names.h",
94*6777b538SAndroid Build Coastguard Worker  ]
95*6777b538SAndroid Build Coastguard Worker}
96*6777b538SAndroid Build Coastguard Worker
97*6777b538SAndroid Build Coastguard Workerif (!is_cronet_build || is_ios) {
98*6777b538SAndroid Build Coastguard Worker  static_library("metrics") {
99*6777b538SAndroid Build Coastguard Worker    sources = [
100*6777b538SAndroid Build Coastguard Worker      "android_metrics_helper.cc",
101*6777b538SAndroid Build Coastguard Worker      "android_metrics_helper.h",
102*6777b538SAndroid Build Coastguard Worker      "call_stacks/call_stack_profile_metrics_provider.cc",
103*6777b538SAndroid Build Coastguard Worker      "call_stacks/call_stack_profile_metrics_provider.h",
104*6777b538SAndroid Build Coastguard Worker      "child_histogram_fetcher_impl.cc",
105*6777b538SAndroid Build Coastguard Worker      "child_histogram_fetcher_impl.h",
106*6777b538SAndroid Build Coastguard Worker      "clean_exit_beacon.cc",
107*6777b538SAndroid Build Coastguard Worker      "clean_exit_beacon.h",
108*6777b538SAndroid Build Coastguard Worker      "cloned_install_detector.cc",
109*6777b538SAndroid Build Coastguard Worker      "cloned_install_detector.h",
110*6777b538SAndroid Build Coastguard Worker      "cpu_metrics_provider.cc",
111*6777b538SAndroid Build Coastguard Worker      "cpu_metrics_provider.h",
112*6777b538SAndroid Build Coastguard Worker      "daily_event.cc",
113*6777b538SAndroid Build Coastguard Worker      "daily_event.h",
114*6777b538SAndroid Build Coastguard Worker      "data_use_tracker.cc",
115*6777b538SAndroid Build Coastguard Worker      "data_use_tracker.h",
116*6777b538SAndroid Build Coastguard Worker      "date_changed_helper.cc",
117*6777b538SAndroid Build Coastguard Worker      "date_changed_helper.h",
118*6777b538SAndroid Build Coastguard Worker      "delegating_provider.cc",
119*6777b538SAndroid Build Coastguard Worker      "delegating_provider.h",
120*6777b538SAndroid Build Coastguard Worker      "drive_metrics_provider.cc",
121*6777b538SAndroid Build Coastguard Worker      "drive_metrics_provider.h",
122*6777b538SAndroid Build Coastguard Worker      "enabled_state_provider.cc",
123*6777b538SAndroid Build Coastguard Worker      "enabled_state_provider.h",
124*6777b538SAndroid Build Coastguard Worker      "entropy_state.cc",
125*6777b538SAndroid Build Coastguard Worker      "entropy_state.h",
126*6777b538SAndroid Build Coastguard Worker      "entropy_state_provider.cc",
127*6777b538SAndroid Build Coastguard Worker      "entropy_state_provider.h",
128*6777b538SAndroid Build Coastguard Worker      "environment_recorder.cc",
129*6777b538SAndroid Build Coastguard Worker      "environment_recorder.h",
130*6777b538SAndroid Build Coastguard Worker      "expired_histogram_util.cc",
131*6777b538SAndroid Build Coastguard Worker      "expired_histogram_util.h",
132*6777b538SAndroid Build Coastguard Worker      "expired_histograms_checker.cc",
133*6777b538SAndroid Build Coastguard Worker      "expired_histograms_checker.h",
134*6777b538SAndroid Build Coastguard Worker      "field_trials_provider.cc",
135*6777b538SAndroid Build Coastguard Worker      "field_trials_provider.h",
136*6777b538SAndroid Build Coastguard Worker      "file_metrics_provider.cc",
137*6777b538SAndroid Build Coastguard Worker      "file_metrics_provider.h",
138*6777b538SAndroid Build Coastguard Worker      "histogram_child_process.h",
139*6777b538SAndroid Build Coastguard Worker      "histogram_controller.cc",
140*6777b538SAndroid Build Coastguard Worker      "histogram_controller.h",
141*6777b538SAndroid Build Coastguard Worker      "histogram_subscriber.h",
142*6777b538SAndroid Build Coastguard Worker      "log_decoder.cc",
143*6777b538SAndroid Build Coastguard Worker      "log_decoder.h",
144*6777b538SAndroid Build Coastguard Worker      "log_store.h",
145*6777b538SAndroid Build Coastguard Worker      "machine_id_provider.h",
146*6777b538SAndroid Build Coastguard Worker      "metrics_data_validation.cc",
147*6777b538SAndroid Build Coastguard Worker      "metrics_data_validation.h",
148*6777b538SAndroid Build Coastguard Worker      "metrics_features.cc",
149*6777b538SAndroid Build Coastguard Worker      "metrics_features.h",
150*6777b538SAndroid Build Coastguard Worker      "metrics_log.cc",
151*6777b538SAndroid Build Coastguard Worker      "metrics_log.h",
152*6777b538SAndroid Build Coastguard Worker      "metrics_log_store.cc",
153*6777b538SAndroid Build Coastguard Worker      "metrics_log_store.h",
154*6777b538SAndroid Build Coastguard Worker      "metrics_log_uploader.h",
155*6777b538SAndroid Build Coastguard Worker      "metrics_logs_event_manager.cc",
156*6777b538SAndroid Build Coastguard Worker      "metrics_logs_event_manager.h",
157*6777b538SAndroid Build Coastguard Worker      "metrics_provider.cc",
158*6777b538SAndroid Build Coastguard Worker      "metrics_provider.h",
159*6777b538SAndroid Build Coastguard Worker      "metrics_reporting_default_state.cc",
160*6777b538SAndroid Build Coastguard Worker      "metrics_reporting_default_state.h",
161*6777b538SAndroid Build Coastguard Worker      "metrics_reporting_service.cc",
162*6777b538SAndroid Build Coastguard Worker      "metrics_reporting_service.h",
163*6777b538SAndroid Build Coastguard Worker      "metrics_rotation_scheduler.cc",
164*6777b538SAndroid Build Coastguard Worker      "metrics_rotation_scheduler.h",
165*6777b538SAndroid Build Coastguard Worker      "metrics_scheduler.cc",
166*6777b538SAndroid Build Coastguard Worker      "metrics_scheduler.h",
167*6777b538SAndroid Build Coastguard Worker      "metrics_service.cc",
168*6777b538SAndroid Build Coastguard Worker      "metrics_service.h",
169*6777b538SAndroid Build Coastguard Worker      "metrics_service_accessor.cc",
170*6777b538SAndroid Build Coastguard Worker      "metrics_service_accessor.h",
171*6777b538SAndroid Build Coastguard Worker      "metrics_service_client.cc",
172*6777b538SAndroid Build Coastguard Worker      "metrics_service_client.h",
173*6777b538SAndroid Build Coastguard Worker      "metrics_service_observer.cc",
174*6777b538SAndroid Build Coastguard Worker      "metrics_service_observer.h",
175*6777b538SAndroid Build Coastguard Worker      "metrics_shutdown.cc",
176*6777b538SAndroid Build Coastguard Worker      "metrics_shutdown.h",
177*6777b538SAndroid Build Coastguard Worker      "metrics_state_manager.cc",
178*6777b538SAndroid Build Coastguard Worker      "metrics_state_manager.h",
179*6777b538SAndroid Build Coastguard Worker      "metrics_switches.cc",
180*6777b538SAndroid Build Coastguard Worker      "metrics_switches.h",
181*6777b538SAndroid Build Coastguard Worker      "metrics_upload_scheduler.cc",
182*6777b538SAndroid Build Coastguard Worker      "metrics_upload_scheduler.h",
183*6777b538SAndroid Build Coastguard Worker      "persistent_histograms.cc",
184*6777b538SAndroid Build Coastguard Worker      "persistent_histograms.h",
185*6777b538SAndroid Build Coastguard Worker      "persistent_synthetic_trial_observer.cc",
186*6777b538SAndroid Build Coastguard Worker      "persistent_synthetic_trial_observer.h",
187*6777b538SAndroid Build Coastguard Worker      "persistent_system_profile.cc",
188*6777b538SAndroid Build Coastguard Worker      "persistent_system_profile.h",
189*6777b538SAndroid Build Coastguard Worker      "reporting_service.cc",
190*6777b538SAndroid Build Coastguard Worker      "reporting_service.h",
191*6777b538SAndroid Build Coastguard Worker      "sampling_metrics_provider.cc",
192*6777b538SAndroid Build Coastguard Worker      "sampling_metrics_provider.h",
193*6777b538SAndroid Build Coastguard Worker      "stability_metrics_helper.cc",
194*6777b538SAndroid Build Coastguard Worker      "stability_metrics_helper.h",
195*6777b538SAndroid Build Coastguard Worker      "stability_metrics_provider.cc",
196*6777b538SAndroid Build Coastguard Worker      "stability_metrics_provider.h",
197*6777b538SAndroid Build Coastguard Worker      "ukm_demographic_metrics_provider.h",
198*6777b538SAndroid Build Coastguard Worker      "unsent_log_store.cc",
199*6777b538SAndroid Build Coastguard Worker      "unsent_log_store.h",
200*6777b538SAndroid Build Coastguard Worker      "unsent_log_store_metrics.cc",
201*6777b538SAndroid Build Coastguard Worker      "unsent_log_store_metrics.h",
202*6777b538SAndroid Build Coastguard Worker      "unsent_log_store_metrics_impl.cc",
203*6777b538SAndroid Build Coastguard Worker      "unsent_log_store_metrics_impl.h",
204*6777b538SAndroid Build Coastguard Worker      "url_constants.h",
205*6777b538SAndroid Build Coastguard Worker      "version_utils.cc",
206*6777b538SAndroid Build Coastguard Worker      "version_utils.h",
207*6777b538SAndroid Build Coastguard Worker    ]
208*6777b538SAndroid Build Coastguard Worker
209*6777b538SAndroid Build Coastguard Worker    if (is_chrome_branded) {
210*6777b538SAndroid Build Coastguard Worker      sources += [ "internal/url_constants.cc" ]
211*6777b538SAndroid Build Coastguard Worker    } else {
212*6777b538SAndroid Build Coastguard Worker      sources += [ "url_constants.cc" ]
213*6777b538SAndroid Build Coastguard Worker    }
214*6777b538SAndroid Build Coastguard Worker
215*6777b538SAndroid Build Coastguard Worker    public_deps = [
216*6777b538SAndroid Build Coastguard Worker      "//components/metrics:client_info",
217*6777b538SAndroid Build Coastguard Worker      "//components/metrics:metrics_pref_names",
218*6777b538SAndroid Build Coastguard Worker      "//third_party/metrics_proto",
219*6777b538SAndroid Build Coastguard Worker      "//third_party/zlib/google:compression_utils",
220*6777b538SAndroid Build Coastguard Worker    ]
221*6777b538SAndroid Build Coastguard Worker
222*6777b538SAndroid Build Coastguard Worker    deps = [
223*6777b538SAndroid Build Coastguard Worker      ":library_support",
224*6777b538SAndroid Build Coastguard Worker      "//base",
225*6777b538SAndroid Build Coastguard Worker      "//base:base_static",
226*6777b538SAndroid Build Coastguard Worker      "//base:i18n",
227*6777b538SAndroid Build Coastguard Worker      "//build:branding_buildflags",
228*6777b538SAndroid Build Coastguard Worker      "//build:chromeos_buildflags",
229*6777b538SAndroid Build Coastguard Worker      "//components/flags_ui:switches",
230*6777b538SAndroid Build Coastguard Worker      "//components/metrics/public/mojom:histogram_fetcher_mojo_bindings",
231*6777b538SAndroid Build Coastguard Worker      "//components/network_time",
232*6777b538SAndroid Build Coastguard Worker      "//components/prefs",
233*6777b538SAndroid Build Coastguard Worker      "//components/variations",
234*6777b538SAndroid Build Coastguard Worker      "//components/variations/field_trial_config",
235*6777b538SAndroid Build Coastguard Worker      "//components/version_info:version_info",
236*6777b538SAndroid Build Coastguard Worker      "//crypto",
237*6777b538SAndroid Build Coastguard Worker      "//extensions/buildflags",
238*6777b538SAndroid Build Coastguard Worker      "//third_party/icu",
239*6777b538SAndroid Build Coastguard Worker      "//url",
240*6777b538SAndroid Build Coastguard Worker    ]
241*6777b538SAndroid Build Coastguard Worker
242*6777b538SAndroid Build Coastguard Worker    if (is_android) {
243*6777b538SAndroid Build Coastguard Worker      sources += [
244*6777b538SAndroid Build Coastguard Worker        "android_metrics_provider.cc",
245*6777b538SAndroid Build Coastguard Worker        "android_metrics_provider.h",
246*6777b538SAndroid Build Coastguard Worker        "drive_metrics_provider_android.cc",
247*6777b538SAndroid Build Coastguard Worker        "gms_metrics_provider.cc",
248*6777b538SAndroid Build Coastguard Worker        "gms_metrics_provider.h",
249*6777b538SAndroid Build Coastguard Worker      ]
250*6777b538SAndroid Build Coastguard Worker      deps += [ ":jni_headers" ]
251*6777b538SAndroid Build Coastguard Worker    } else {
252*6777b538SAndroid Build Coastguard Worker      deps += [ "//components/keep_alive_registry" ]
253*6777b538SAndroid Build Coastguard Worker    }
254*6777b538SAndroid Build Coastguard Worker
255*6777b538SAndroid Build Coastguard Worker    if (is_ios) {
256*6777b538SAndroid Build Coastguard Worker      sources += [
257*6777b538SAndroid Build Coastguard Worker        "clean_exit_beacon_ios.mm",
258*6777b538SAndroid Build Coastguard Worker        "drive_metrics_provider_ios.mm",
259*6777b538SAndroid Build Coastguard Worker      ]
260*6777b538SAndroid Build Coastguard Worker    }
261*6777b538SAndroid Build Coastguard Worker
262*6777b538SAndroid Build Coastguard Worker    if (is_linux || is_chromeos) {
263*6777b538SAndroid Build Coastguard Worker      sources += [
264*6777b538SAndroid Build Coastguard Worker        "drive_metrics_provider_linux.cc",
265*6777b538SAndroid Build Coastguard Worker        "psi_memory_parser.h",
266*6777b538SAndroid Build Coastguard Worker        "psi_memory_parser_linux.cc",
267*6777b538SAndroid Build Coastguard Worker      ]
268*6777b538SAndroid Build Coastguard Worker    }
269*6777b538SAndroid Build Coastguard Worker
270*6777b538SAndroid Build Coastguard Worker    if (is_mac) {
271*6777b538SAndroid Build Coastguard Worker      sources += [ "drive_metrics_provider_mac.mm" ]
272*6777b538SAndroid Build Coastguard Worker      frameworks = [
273*6777b538SAndroid Build Coastguard Worker        # The below are all needed for drive_metrics_provider_mac.mm.
274*6777b538SAndroid Build Coastguard Worker        "CoreFoundation.framework",
275*6777b538SAndroid Build Coastguard Worker        "DiskArbitration.framework",
276*6777b538SAndroid Build Coastguard Worker        "Foundation.framework",
277*6777b538SAndroid Build Coastguard Worker        "IOKit.framework",
278*6777b538SAndroid Build Coastguard Worker      ]
279*6777b538SAndroid Build Coastguard Worker    }
280*6777b538SAndroid Build Coastguard Worker
281*6777b538SAndroid Build Coastguard Worker    if (is_win) {
282*6777b538SAndroid Build Coastguard Worker      sources += [
283*6777b538SAndroid Build Coastguard Worker        "drive_metrics_provider_win.cc",
284*6777b538SAndroid Build Coastguard Worker        "machine_id_provider_win.cc",
285*6777b538SAndroid Build Coastguard Worker        "system_session_analyzer/system_session_analyzer_win.cc",
286*6777b538SAndroid Build Coastguard Worker        "system_session_analyzer/system_session_analyzer_win.h",
287*6777b538SAndroid Build Coastguard Worker      ]
288*6777b538SAndroid Build Coastguard Worker      libs = [ "wevtapi.lib" ]
289*6777b538SAndroid Build Coastguard Worker    } else {
290*6777b538SAndroid Build Coastguard Worker      sources += [ "machine_id_provider_nonwin.cc" ]
291*6777b538SAndroid Build Coastguard Worker    }
292*6777b538SAndroid Build Coastguard Worker
293*6777b538SAndroid Build Coastguard Worker    if (is_fuchsia) {
294*6777b538SAndroid Build Coastguard Worker      sources += [ "drive_metrics_provider_fuchsia.cc" ]
295*6777b538SAndroid Build Coastguard Worker    }
296*6777b538SAndroid Build Coastguard Worker
297*6777b538SAndroid Build Coastguard Worker    if (is_win || is_linux) {
298*6777b538SAndroid Build Coastguard Worker      sources += [
299*6777b538SAndroid Build Coastguard Worker        "motherboard.cc",
300*6777b538SAndroid Build Coastguard Worker        "motherboard.h",
301*6777b538SAndroid Build Coastguard Worker        "motherboard_metrics_provider.cc",
302*6777b538SAndroid Build Coastguard Worker        "motherboard_metrics_provider.h",
303*6777b538SAndroid Build Coastguard Worker      ]
304*6777b538SAndroid Build Coastguard Worker    }
305*6777b538SAndroid Build Coastguard Worker  }
306*6777b538SAndroid Build Coastguard Worker
307*6777b538SAndroid Build Coastguard Worker  static_library("test_support") {
308*6777b538SAndroid Build Coastguard Worker    testonly = true
309*6777b538SAndroid Build Coastguard Worker    sources = [
310*6777b538SAndroid Build Coastguard Worker      "test/test_enabled_state_provider.cc",
311*6777b538SAndroid Build Coastguard Worker      "test/test_enabled_state_provider.h",
312*6777b538SAndroid Build Coastguard Worker      "test/test_metrics_log_uploader.cc",
313*6777b538SAndroid Build Coastguard Worker      "test/test_metrics_log_uploader.h",
314*6777b538SAndroid Build Coastguard Worker      "test/test_metrics_provider.cc",
315*6777b538SAndroid Build Coastguard Worker      "test/test_metrics_provider.h",
316*6777b538SAndroid Build Coastguard Worker      "test/test_metrics_service_client.cc",
317*6777b538SAndroid Build Coastguard Worker      "test/test_metrics_service_client.h",
318*6777b538SAndroid Build Coastguard Worker    ]
319*6777b538SAndroid Build Coastguard Worker
320*6777b538SAndroid Build Coastguard Worker    public_deps = [ ":metrics" ]
321*6777b538SAndroid Build Coastguard Worker    deps = [ "//base" ]
322*6777b538SAndroid Build Coastguard Worker  }
323*6777b538SAndroid Build Coastguard Worker}
324*6777b538SAndroid Build Coastguard Worker
325*6777b538SAndroid Build Coastguard Workerif (!is_cronet_build) {
326*6777b538SAndroid Build Coastguard Worker  # The component metrics provider is a separate target because it depends upon
327*6777b538SAndroid Build Coastguard Worker  # (the large) component_updater code, and is not needed for some entities that
328*6777b538SAndroid Build Coastguard Worker  # depend on :metrics.
329*6777b538SAndroid Build Coastguard Worker  static_library("component_metrics") {
330*6777b538SAndroid Build Coastguard Worker    sources = [
331*6777b538SAndroid Build Coastguard Worker      "component_metrics_provider.cc",
332*6777b538SAndroid Build Coastguard Worker      "component_metrics_provider.h",
333*6777b538SAndroid Build Coastguard Worker    ]
334*6777b538SAndroid Build Coastguard Worker
335*6777b538SAndroid Build Coastguard Worker    public_deps = [ "//third_party/metrics_proto" ]
336*6777b538SAndroid Build Coastguard Worker
337*6777b538SAndroid Build Coastguard Worker    deps = [
338*6777b538SAndroid Build Coastguard Worker      ":metrics",
339*6777b538SAndroid Build Coastguard Worker      "//base",
340*6777b538SAndroid Build Coastguard Worker      "//components/component_updater",
341*6777b538SAndroid Build Coastguard Worker    ]
342*6777b538SAndroid Build Coastguard Worker  }
343*6777b538SAndroid Build Coastguard Worker
344*6777b538SAndroid Build Coastguard Worker  if (use_blink) {
345*6777b538SAndroid Build Coastguard Worker    static_library("content") {
346*6777b538SAndroid Build Coastguard Worker      sources = [
347*6777b538SAndroid Build Coastguard Worker        # ChromeOS accessibility metrics provider is in chromeos_metrics_provider.
348*6777b538SAndroid Build Coastguard Worker        "content/accessibility_metrics_provider.cc",
349*6777b538SAndroid Build Coastguard Worker        "content/accessibility_metrics_provider.h",
350*6777b538SAndroid Build Coastguard Worker        "content/content_stability_metrics_provider.cc",
351*6777b538SAndroid Build Coastguard Worker        "content/content_stability_metrics_provider.h",
352*6777b538SAndroid Build Coastguard Worker        "content/extensions_helper.h",
353*6777b538SAndroid Build Coastguard Worker        "content/gpu_metrics_provider.cc",
354*6777b538SAndroid Build Coastguard Worker        "content/gpu_metrics_provider.h",
355*6777b538SAndroid Build Coastguard Worker        "content/metrics_services_web_contents_observer.cc",
356*6777b538SAndroid Build Coastguard Worker        "content/metrics_services_web_contents_observer.h",
357*6777b538SAndroid Build Coastguard Worker        "content/rendering_perf_metrics_provider.cc",
358*6777b538SAndroid Build Coastguard Worker        "content/rendering_perf_metrics_provider.h",
359*6777b538SAndroid Build Coastguard Worker        "content/subprocess_metrics_provider.cc",
360*6777b538SAndroid Build Coastguard Worker        "content/subprocess_metrics_provider.h",
361*6777b538SAndroid Build Coastguard Worker      ]
362*6777b538SAndroid Build Coastguard Worker      public_deps = [ ":metrics" ]
363*6777b538SAndroid Build Coastguard Worker      deps = [
364*6777b538SAndroid Build Coastguard Worker        "//base",
365*6777b538SAndroid Build Coastguard Worker        "//content/public/browser",
366*6777b538SAndroid Build Coastguard Worker        "//extensions/buildflags",
367*6777b538SAndroid Build Coastguard Worker        "//gpu/config",
368*6777b538SAndroid Build Coastguard Worker      ]
369*6777b538SAndroid Build Coastguard Worker      if (is_android) {
370*6777b538SAndroid Build Coastguard Worker        deps += [ "//components/crash/content/browser" ]
371*6777b538SAndroid Build Coastguard Worker      }
372*6777b538SAndroid Build Coastguard Worker    }
373*6777b538SAndroid Build Coastguard Worker  }
374*6777b538SAndroid Build Coastguard Worker
375*6777b538SAndroid Build Coastguard Worker  static_library("net") {
376*6777b538SAndroid Build Coastguard Worker    sources = [
377*6777b538SAndroid Build Coastguard Worker      "net/cellular_logic_helper.cc",
378*6777b538SAndroid Build Coastguard Worker      "net/cellular_logic_helper.h",
379*6777b538SAndroid Build Coastguard Worker      "net/net_metrics_log_uploader.cc",
380*6777b538SAndroid Build Coastguard Worker      "net/net_metrics_log_uploader.h",
381*6777b538SAndroid Build Coastguard Worker      "net/network_metrics_provider.cc",
382*6777b538SAndroid Build Coastguard Worker      "net/network_metrics_provider.h",
383*6777b538SAndroid Build Coastguard Worker    ]
384*6777b538SAndroid Build Coastguard Worker
385*6777b538SAndroid Build Coastguard Worker    public_deps = [ ":metrics" ]
386*6777b538SAndroid Build Coastguard Worker    allow_circular_includes_from = [ ":metrics" ]
387*6777b538SAndroid Build Coastguard Worker
388*6777b538SAndroid Build Coastguard Worker    deps = [
389*6777b538SAndroid Build Coastguard Worker      "//base",
390*6777b538SAndroid Build Coastguard Worker      "//build:chromeos_buildflags",
391*6777b538SAndroid Build Coastguard Worker      "//components/encrypted_messages:encrypted_message_proto",
392*6777b538SAndroid Build Coastguard Worker      "//components/encrypted_messages:encrypted_messages",
393*6777b538SAndroid Build Coastguard Worker      "//components/variations",
394*6777b538SAndroid Build Coastguard Worker      "//net",
395*6777b538SAndroid Build Coastguard Worker      "//services/network/public/cpp",
396*6777b538SAndroid Build Coastguard Worker      "//services/network/public/mojom",
397*6777b538SAndroid Build Coastguard Worker      "//third_party/metrics_proto",
398*6777b538SAndroid Build Coastguard Worker      "//third_party/zlib/google:compression_utils",
399*6777b538SAndroid Build Coastguard Worker      "//url",
400*6777b538SAndroid Build Coastguard Worker    ]
401*6777b538SAndroid Build Coastguard Worker  }
402*6777b538SAndroid Build Coastguard Worker
403*6777b538SAndroid Build Coastguard Worker  static_library("ui") {
404*6777b538SAndroid Build Coastguard Worker    sources = [
405*6777b538SAndroid Build Coastguard Worker      "ui/form_factor_metrics_provider.cc",
406*6777b538SAndroid Build Coastguard Worker      "ui/form_factor_metrics_provider.h",
407*6777b538SAndroid Build Coastguard Worker      "ui/screen_info_metrics_provider.cc",
408*6777b538SAndroid Build Coastguard Worker      "ui/screen_info_metrics_provider.h",
409*6777b538SAndroid Build Coastguard Worker    ]
410*6777b538SAndroid Build Coastguard Worker
411*6777b538SAndroid Build Coastguard Worker    public_deps = [ ":metrics" ]
412*6777b538SAndroid Build Coastguard Worker    deps = [
413*6777b538SAndroid Build Coastguard Worker      "//base",
414*6777b538SAndroid Build Coastguard Worker      "//build/config/chromebox_for_meetings:buildflags",
415*6777b538SAndroid Build Coastguard Worker      "//ui/base",
416*6777b538SAndroid Build Coastguard Worker      "//ui/display",
417*6777b538SAndroid Build Coastguard Worker      "//ui/gfx",
418*6777b538SAndroid Build Coastguard Worker      "//ui/gfx/geometry",
419*6777b538SAndroid Build Coastguard Worker    ]
420*6777b538SAndroid Build Coastguard Worker  }
421*6777b538SAndroid Build Coastguard Worker
422*6777b538SAndroid Build Coastguard Worker  static_library("single_sample_metrics") {
423*6777b538SAndroid Build Coastguard Worker    sources = [
424*6777b538SAndroid Build Coastguard Worker      "single_sample_metrics.cc",
425*6777b538SAndroid Build Coastguard Worker      "single_sample_metrics.h",
426*6777b538SAndroid Build Coastguard Worker      "single_sample_metrics_factory_impl.cc",
427*6777b538SAndroid Build Coastguard Worker      "single_sample_metrics_factory_impl.h",
428*6777b538SAndroid Build Coastguard Worker    ]
429*6777b538SAndroid Build Coastguard Worker
430*6777b538SAndroid Build Coastguard Worker    deps = [
431*6777b538SAndroid Build Coastguard Worker      "//mojo/public/cpp/bindings",
432*6777b538SAndroid Build Coastguard Worker      "//services/service_manager/public/cpp",
433*6777b538SAndroid Build Coastguard Worker      "//services/service_manager/public/mojom",
434*6777b538SAndroid Build Coastguard Worker    ]
435*6777b538SAndroid Build Coastguard Worker
436*6777b538SAndroid Build Coastguard Worker    public_deps = [
437*6777b538SAndroid Build Coastguard Worker      "//components/metrics/public/mojom:single_sample_metrics_mojo_bindings",
438*6777b538SAndroid Build Coastguard Worker    ]
439*6777b538SAndroid Build Coastguard Worker  }
440*6777b538SAndroid Build Coastguard Worker
441*6777b538SAndroid Build Coastguard Worker  source_set("call_stack_profile_params") {
442*6777b538SAndroid Build Coastguard Worker    public = [
443*6777b538SAndroid Build Coastguard Worker      "call_stacks/call_stack_profile_encoding.h",
444*6777b538SAndroid Build Coastguard Worker      "call_stacks/call_stack_profile_params.h",
445*6777b538SAndroid Build Coastguard Worker    ]
446*6777b538SAndroid Build Coastguard Worker    sources = [ "call_stacks/call_stack_profile_encoding.cc" ]
447*6777b538SAndroid Build Coastguard Worker
448*6777b538SAndroid Build Coastguard Worker    deps = [
449*6777b538SAndroid Build Coastguard Worker      "//base:base",
450*6777b538SAndroid Build Coastguard Worker      "//third_party/metrics_proto",
451*6777b538SAndroid Build Coastguard Worker    ]
452*6777b538SAndroid Build Coastguard Worker  }
453*6777b538SAndroid Build Coastguard Worker
454*6777b538SAndroid Build Coastguard Worker  # Dependency for child processes that use the CallStackProfileBuilder.
455*6777b538SAndroid Build Coastguard Worker  source_set("child_call_stack_profile_builder") {
456*6777b538SAndroid Build Coastguard Worker    public = [
457*6777b538SAndroid Build Coastguard Worker      "call_stacks/call_stack_profile_builder.h",
458*6777b538SAndroid Build Coastguard Worker      "call_stacks/call_stack_profile_metadata.h",
459*6777b538SAndroid Build Coastguard Worker      "call_stacks/child_call_stack_profile_collector.h",
460*6777b538SAndroid Build Coastguard Worker    ]
461*6777b538SAndroid Build Coastguard Worker    sources = [
462*6777b538SAndroid Build Coastguard Worker      "call_stacks/call_stack_profile_builder.cc",
463*6777b538SAndroid Build Coastguard Worker      "call_stacks/call_stack_profile_metadata.cc",
464*6777b538SAndroid Build Coastguard Worker      "call_stacks/child_call_stack_profile_collector.cc",
465*6777b538SAndroid Build Coastguard Worker    ]
466*6777b538SAndroid Build Coastguard Worker    public_deps = [ ":call_stack_profile_params" ]
467*6777b538SAndroid Build Coastguard Worker    deps = [
468*6777b538SAndroid Build Coastguard Worker      "//base",
469*6777b538SAndroid Build Coastguard Worker      "//components/metrics/public/mojom:call_stack_mojo_bindings",
470*6777b538SAndroid Build Coastguard Worker      "//third_party/metrics_proto",
471*6777b538SAndroid Build Coastguard Worker    ]
472*6777b538SAndroid Build Coastguard Worker
473*6777b538SAndroid Build Coastguard Worker    # This target must not depend on :metrics because that code is intended solely
474*6777b538SAndroid Build Coastguard Worker    # for use in the browser process.
475*6777b538SAndroid Build Coastguard Worker    assert_no_deps = [ ":metrics" ]
476*6777b538SAndroid Build Coastguard Worker  }
477*6777b538SAndroid Build Coastguard Worker
478*6777b538SAndroid Build Coastguard Worker  # Dependency for browser process use of the CallStackProfileBuilder.
479*6777b538SAndroid Build Coastguard Worker  source_set("call_stack_profile_builder") {
480*6777b538SAndroid Build Coastguard Worker    deps = [ ":metrics" ]
481*6777b538SAndroid Build Coastguard Worker    public_deps = [ ":child_call_stack_profile_builder" ]
482*6777b538SAndroid Build Coastguard Worker  }
483*6777b538SAndroid Build Coastguard Worker
484*6777b538SAndroid Build Coastguard Worker  # The browser process mojo service for collecting profiles from child
485*6777b538SAndroid Build Coastguard Worker  # processes.
486*6777b538SAndroid Build Coastguard Worker  source_set("call_stack_profile_collector") {
487*6777b538SAndroid Build Coastguard Worker    sources = [
488*6777b538SAndroid Build Coastguard Worker      "call_stacks/call_stack_profile_collector.cc",
489*6777b538SAndroid Build Coastguard Worker      "call_stacks/call_stack_profile_collector.h",
490*6777b538SAndroid Build Coastguard Worker    ]
491*6777b538SAndroid Build Coastguard Worker    deps = [
492*6777b538SAndroid Build Coastguard Worker      ":call_stack_profile_params",
493*6777b538SAndroid Build Coastguard Worker      ":metrics",
494*6777b538SAndroid Build Coastguard Worker      "//components/metrics/public/mojom:call_stack_mojo_bindings",
495*6777b538SAndroid Build Coastguard Worker    ]
496*6777b538SAndroid Build Coastguard Worker  }
497*6777b538SAndroid Build Coastguard Worker
498*6777b538SAndroid Build Coastguard Worker  if (is_linux || is_chromeos) {
499*6777b538SAndroid Build Coastguard Worker    static_library("serialization") {
500*6777b538SAndroid Build Coastguard Worker      sources = [
501*6777b538SAndroid Build Coastguard Worker        "serialization/metric_sample.cc",
502*6777b538SAndroid Build Coastguard Worker        "serialization/metric_sample.h",
503*6777b538SAndroid Build Coastguard Worker        "serialization/serialization_utils.cc",
504*6777b538SAndroid Build Coastguard Worker        "serialization/serialization_utils.h",
505*6777b538SAndroid Build Coastguard Worker      ]
506*6777b538SAndroid Build Coastguard Worker      deps = [ "//base" ]
507*6777b538SAndroid Build Coastguard Worker    }
508*6777b538SAndroid Build Coastguard Worker  }
509*6777b538SAndroid Build Coastguard Worker
510*6777b538SAndroid Build Coastguard Worker  source_set("unit_tests") {
511*6777b538SAndroid Build Coastguard Worker    testonly = true
512*6777b538SAndroid Build Coastguard Worker    sources = [
513*6777b538SAndroid Build Coastguard Worker      "android_metrics_helper_unittest.cc",
514*6777b538SAndroid Build Coastguard Worker      "call_stacks/call_stack_profile_builder_unittest.cc",
515*6777b538SAndroid Build Coastguard Worker      "call_stacks/call_stack_profile_metadata_unittest.cc",
516*6777b538SAndroid Build Coastguard Worker      "call_stacks/call_stack_profile_metrics_provider_unittest.cc",
517*6777b538SAndroid Build Coastguard Worker      "call_stacks/child_call_stack_profile_collector_unittest.cc",
518*6777b538SAndroid Build Coastguard Worker      "clean_exit_beacon_unittest.cc",
519*6777b538SAndroid Build Coastguard Worker      "cloned_install_detector_unittest.cc",
520*6777b538SAndroid Build Coastguard Worker      "component_metrics_provider_unittest.cc",
521*6777b538SAndroid Build Coastguard Worker      "daily_event_unittest.cc",
522*6777b538SAndroid Build Coastguard Worker      "data_use_tracker_unittest.cc",
523*6777b538SAndroid Build Coastguard Worker      "date_changed_helper_unittest.cc",
524*6777b538SAndroid Build Coastguard Worker      "drive_metrics_provider_unittest.cc",
525*6777b538SAndroid Build Coastguard Worker      "entropy_state_provider_unittest.cc",
526*6777b538SAndroid Build Coastguard Worker      "entropy_state_unittest.cc",
527*6777b538SAndroid Build Coastguard Worker      "environment_recorder_unittest.cc",
528*6777b538SAndroid Build Coastguard Worker      "expired_histograms_checker_unittest.cc",
529*6777b538SAndroid Build Coastguard Worker      "field_trials_provider_unittest.cc",
530*6777b538SAndroid Build Coastguard Worker      "file_metrics_provider_unittest.cc",
531*6777b538SAndroid Build Coastguard Worker      "histogram_encoder_unittest.cc",
532*6777b538SAndroid Build Coastguard Worker      "library_support/histogram_manager_unittest.cc",
533*6777b538SAndroid Build Coastguard Worker      "log_decoder_unittest.cc",
534*6777b538SAndroid Build Coastguard Worker      "metrics_data_validation_unittest.cc",
535*6777b538SAndroid Build Coastguard Worker      "metrics_log_store_unittest.cc",
536*6777b538SAndroid Build Coastguard Worker      "metrics_log_unittest.cc",
537*6777b538SAndroid Build Coastguard Worker      "metrics_service_client_unittest.cc",
538*6777b538SAndroid Build Coastguard Worker      "metrics_service_observer_unittest.cc",
539*6777b538SAndroid Build Coastguard Worker      "metrics_service_unittest.cc",
540*6777b538SAndroid Build Coastguard Worker      "metrics_state_manager_unittest.cc",
541*6777b538SAndroid Build Coastguard Worker      "net/net_metrics_log_uploader_unittest.cc",
542*6777b538SAndroid Build Coastguard Worker      "net/network_metrics_provider_unittest.cc",
543*6777b538SAndroid Build Coastguard Worker      "persistent_synthetic_trial_observer_unittest.cc",
544*6777b538SAndroid Build Coastguard Worker      "persistent_system_profile_unittest.cc",
545*6777b538SAndroid Build Coastguard Worker      "reporting_service_unittest.cc",
546*6777b538SAndroid Build Coastguard Worker      "single_sample_metrics_factory_impl_unittest.cc",
547*6777b538SAndroid Build Coastguard Worker      "stability_metrics_helper_unittest.cc",
548*6777b538SAndroid Build Coastguard Worker      "stability_metrics_provider_unittest.cc",
549*6777b538SAndroid Build Coastguard Worker      "ui/form_factor_metrics_provider_unittest.cc",
550*6777b538SAndroid Build Coastguard Worker      "ui/screen_info_metrics_provider_unittest.cc",
551*6777b538SAndroid Build Coastguard Worker      "unsent_log_store_metrics_impl_unittest.cc",
552*6777b538SAndroid Build Coastguard Worker      "unsent_log_store_unittest.cc",
553*6777b538SAndroid Build Coastguard Worker    ]
554*6777b538SAndroid Build Coastguard Worker
555*6777b538SAndroid Build Coastguard Worker    deps = [
556*6777b538SAndroid Build Coastguard Worker      ":call_stack_profile_builder",
557*6777b538SAndroid Build Coastguard Worker      ":component_metrics",
558*6777b538SAndroid Build Coastguard Worker      ":library_support",
559*6777b538SAndroid Build Coastguard Worker      ":metrics",
560*6777b538SAndroid Build Coastguard Worker      ":net",
561*6777b538SAndroid Build Coastguard Worker      ":single_sample_metrics",
562*6777b538SAndroid Build Coastguard Worker      ":test_support",
563*6777b538SAndroid Build Coastguard Worker      ":ui",
564*6777b538SAndroid Build Coastguard Worker      "//base",
565*6777b538SAndroid Build Coastguard Worker      "//base:base_stack_sampling_profiler_test_util",
566*6777b538SAndroid Build Coastguard Worker      "//base/test:test_support",
567*6777b538SAndroid Build Coastguard Worker      "//build:chromeos_buildflags",
568*6777b538SAndroid Build Coastguard Worker      "//components/component_updater:test_support",
569*6777b538SAndroid Build Coastguard Worker      "//components/encrypted_messages:encrypted_message_proto",
570*6777b538SAndroid Build Coastguard Worker      "//components/metrics/public/mojom:call_stack_mojo_bindings",
571*6777b538SAndroid Build Coastguard Worker      "//components/network_time:network_time_test_support",
572*6777b538SAndroid Build Coastguard Worker      "//components/prefs:test_support",
573*6777b538SAndroid Build Coastguard Worker      "//components/sync:test_support",
574*6777b538SAndroid Build Coastguard Worker      "//components/sync/base",
575*6777b538SAndroid Build Coastguard Worker      "//components/variations",
576*6777b538SAndroid Build Coastguard Worker      "//components/variations:test_support",
577*6777b538SAndroid Build Coastguard Worker      "//extensions/buildflags",
578*6777b538SAndroid Build Coastguard Worker      "//mojo/public/cpp/bindings",
579*6777b538SAndroid Build Coastguard Worker      "//net:test_support",
580*6777b538SAndroid Build Coastguard Worker      "//services/network:test_support",
581*6777b538SAndroid Build Coastguard Worker      "//services/network/public/cpp:cpp",
582*6777b538SAndroid Build Coastguard Worker      "//services/service_manager/public/cpp",
583*6777b538SAndroid Build Coastguard Worker      "//testing/gmock",
584*6777b538SAndroid Build Coastguard Worker      "//testing/gtest",
585*6777b538SAndroid Build Coastguard Worker      "//third_party/metrics_proto",
586*6777b538SAndroid Build Coastguard Worker      "//third_party/zlib/google:compression_utils",
587*6777b538SAndroid Build Coastguard Worker      "//ui/gfx/geometry",
588*6777b538SAndroid Build Coastguard Worker    ]
589*6777b538SAndroid Build Coastguard Worker
590*6777b538SAndroid Build Coastguard Worker    if (is_win) {
591*6777b538SAndroid Build Coastguard Worker      sources += [
592*6777b538SAndroid Build Coastguard Worker        "machine_id_provider_win_unittest.cc",
593*6777b538SAndroid Build Coastguard Worker        "system_session_analyzer/system_session_analyzer_win_unittest.cc",
594*6777b538SAndroid Build Coastguard Worker      ]
595*6777b538SAndroid Build Coastguard Worker    } else {
596*6777b538SAndroid Build Coastguard Worker      sources += [ "machine_id_provider_nonwin_unittest.cc" ]
597*6777b538SAndroid Build Coastguard Worker    }
598*6777b538SAndroid Build Coastguard Worker
599*6777b538SAndroid Build Coastguard Worker    if (is_linux || is_chromeos) {
600*6777b538SAndroid Build Coastguard Worker      sources += [
601*6777b538SAndroid Build Coastguard Worker        "psi_memory_parser_linux_unittest.cc",
602*6777b538SAndroid Build Coastguard Worker        "serialization/serialization_utils_unittest.cc",
603*6777b538SAndroid Build Coastguard Worker      ]
604*6777b538SAndroid Build Coastguard Worker      deps += [ ":serialization" ]
605*6777b538SAndroid Build Coastguard Worker    }
606*6777b538SAndroid Build Coastguard Worker
607*6777b538SAndroid Build Coastguard Worker    if (is_chromeos_ash) {
608*6777b538SAndroid Build Coastguard Worker      deps += [
609*6777b538SAndroid Build Coastguard Worker        "//chromeos/ash/components/dbus:test_support",
610*6777b538SAndroid Build Coastguard Worker        "//chromeos/ash/components/network:test_support",
611*6777b538SAndroid Build Coastguard Worker      ]
612*6777b538SAndroid Build Coastguard Worker    }
613*6777b538SAndroid Build Coastguard Worker
614*6777b538SAndroid Build Coastguard Worker    if (is_android) {
615*6777b538SAndroid Build Coastguard Worker      sources += [
616*6777b538SAndroid Build Coastguard Worker        "android_metrics_provider_unittest.cc",
617*6777b538SAndroid Build Coastguard Worker        "gms_metrics_provider_unittest.cc",
618*6777b538SAndroid Build Coastguard Worker      ]
619*6777b538SAndroid Build Coastguard Worker    }
620*6777b538SAndroid Build Coastguard Worker
621*6777b538SAndroid Build Coastguard Worker    if (use_blink) {
622*6777b538SAndroid Build Coastguard Worker      deps += [
623*6777b538SAndroid Build Coastguard Worker        ":content",
624*6777b538SAndroid Build Coastguard Worker        "//content/test:test_support",
625*6777b538SAndroid Build Coastguard Worker      ]
626*6777b538SAndroid Build Coastguard Worker    }
627*6777b538SAndroid Build Coastguard Worker
628*6777b538SAndroid Build Coastguard Worker    # iOS is not supported by the profiler and the ios-simulator bot chokes on
629*6777b538SAndroid Build Coastguard Worker    # these tests.
630*6777b538SAndroid Build Coastguard Worker    if (is_ios) {
631*6777b538SAndroid Build Coastguard Worker      sources -=
632*6777b538SAndroid Build Coastguard Worker          [ "call_stacks/child_call_stack_profile_collector_unittest.cc" ]
633*6777b538SAndroid Build Coastguard Worker      deps += [ "//ios/web/public/test" ]
634*6777b538SAndroid Build Coastguard Worker    } else {
635*6777b538SAndroid Build Coastguard Worker      sources += [
636*6777b538SAndroid Build Coastguard Worker        "content/content_stability_metrics_provider_unittest.cc",
637*6777b538SAndroid Build Coastguard Worker        "content/subprocess_metrics_provider_unittest.cc",
638*6777b538SAndroid Build Coastguard Worker      ]
639*6777b538SAndroid Build Coastguard Worker      deps += [ "//extensions/buildflags" ]
640*6777b538SAndroid Build Coastguard Worker    }
641*6777b538SAndroid Build Coastguard Worker
642*6777b538SAndroid Build Coastguard Worker    if (is_win || is_linux) {
643*6777b538SAndroid Build Coastguard Worker      sources += [ "motherboard_metrics_provider_unittest.cc" ]
644*6777b538SAndroid Build Coastguard Worker    }
645*6777b538SAndroid Build Coastguard Worker  }
646*6777b538SAndroid Build Coastguard Worker
647*6777b538SAndroid Build Coastguard Worker  # Convenience testing target
648*6777b538SAndroid Build Coastguard Worker  test("metrics_unittests") {
649*6777b538SAndroid Build Coastguard Worker    sources = [ "//components/test/run_all_unittests.cc" ]
650*6777b538SAndroid Build Coastguard Worker    deps = [
651*6777b538SAndroid Build Coastguard Worker      ":unit_tests",
652*6777b538SAndroid Build Coastguard Worker      "//components/metrics/demographics:unit_tests",
653*6777b538SAndroid Build Coastguard Worker      "//components/test:test_support",
654*6777b538SAndroid Build Coastguard Worker    ]
655*6777b538SAndroid Build Coastguard Worker  }
656*6777b538SAndroid Build Coastguard Worker}
657