xref: /aosp_15_r20/external/webrtc/api/test/metrics/BUILD.gn (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1*d9f75844SAndroid Build Coastguard Worker# Copyright (c) 2022 The WebRTC project authors. All Rights Reserved.
2*d9f75844SAndroid Build Coastguard Worker#
3*d9f75844SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license
4*d9f75844SAndroid Build Coastguard Worker# that can be found in the LICENSE file in the root of the source
5*d9f75844SAndroid Build Coastguard Worker# tree. An additional intellectual property rights grant can be found
6*d9f75844SAndroid Build Coastguard Worker# in the file PATENTS.  All contributing project authors may
7*d9f75844SAndroid Build Coastguard Worker# be found in the AUTHORS file in the root of the source tree.
8*d9f75844SAndroid Build Coastguard Worker
9*d9f75844SAndroid Build Coastguard Workerimport("../../../webrtc.gni")
10*d9f75844SAndroid Build Coastguard Workerif (rtc_enable_protobuf) {
11*d9f75844SAndroid Build Coastguard Worker  import("//third_party/protobuf/proto_library.gni")
12*d9f75844SAndroid Build Coastguard Worker}
13*d9f75844SAndroid Build Coastguard Worker
14*d9f75844SAndroid Build Coastguard Workergroup("metrics") {
15*d9f75844SAndroid Build Coastguard Worker  deps = [
16*d9f75844SAndroid Build Coastguard Worker    ":global_metrics_logger_and_exporter",
17*d9f75844SAndroid Build Coastguard Worker    ":metric",
18*d9f75844SAndroid Build Coastguard Worker    ":metrics_accumulator",
19*d9f75844SAndroid Build Coastguard Worker    ":metrics_exporter",
20*d9f75844SAndroid Build Coastguard Worker    ":metrics_logger",
21*d9f75844SAndroid Build Coastguard Worker    ":stdout_metrics_exporter",
22*d9f75844SAndroid Build Coastguard Worker  ]
23*d9f75844SAndroid Build Coastguard Worker}
24*d9f75844SAndroid Build Coastguard Worker
25*d9f75844SAndroid Build Coastguard Workerif (rtc_include_tests) {
26*d9f75844SAndroid Build Coastguard Worker  group("metrics_unittests") {
27*d9f75844SAndroid Build Coastguard Worker    testonly = true
28*d9f75844SAndroid Build Coastguard Worker
29*d9f75844SAndroid Build Coastguard Worker    deps = [
30*d9f75844SAndroid Build Coastguard Worker      ":global_metrics_logger_and_exporter_test",
31*d9f75844SAndroid Build Coastguard Worker      ":metrics_accumulator_test",
32*d9f75844SAndroid Build Coastguard Worker      ":metrics_logger_test",
33*d9f75844SAndroid Build Coastguard Worker      ":print_result_proxy_metrics_exporter_test",
34*d9f75844SAndroid Build Coastguard Worker      ":stdout_metrics_exporter_test",
35*d9f75844SAndroid Build Coastguard Worker    ]
36*d9f75844SAndroid Build Coastguard Worker
37*d9f75844SAndroid Build Coastguard Worker    if (rtc_enable_protobuf) {
38*d9f75844SAndroid Build Coastguard Worker      deps += [
39*d9f75844SAndroid Build Coastguard Worker        ":chrome_perf_dashboard_metrics_exporter_test",
40*d9f75844SAndroid Build Coastguard Worker        ":metrics_set_proto_file_exporter_test",
41*d9f75844SAndroid Build Coastguard Worker      ]
42*d9f75844SAndroid Build Coastguard Worker    }
43*d9f75844SAndroid Build Coastguard Worker  }
44*d9f75844SAndroid Build Coastguard Worker}
45*d9f75844SAndroid Build Coastguard Worker
46*d9f75844SAndroid Build Coastguard Workerrtc_library("metric") {
47*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
48*d9f75844SAndroid Build Coastguard Worker  sources = [
49*d9f75844SAndroid Build Coastguard Worker    "metric.cc",
50*d9f75844SAndroid Build Coastguard Worker    "metric.h",
51*d9f75844SAndroid Build Coastguard Worker  ]
52*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
53*d9f75844SAndroid Build Coastguard Worker  deps = [ "../../../api/units:timestamp" ]
54*d9f75844SAndroid Build Coastguard Worker}
55*d9f75844SAndroid Build Coastguard Worker
56*d9f75844SAndroid Build Coastguard Workerrtc_library("metrics_logger") {
57*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
58*d9f75844SAndroid Build Coastguard Worker  sources = [
59*d9f75844SAndroid Build Coastguard Worker    "metrics_logger.cc",
60*d9f75844SAndroid Build Coastguard Worker    "metrics_logger.h",
61*d9f75844SAndroid Build Coastguard Worker  ]
62*d9f75844SAndroid Build Coastguard Worker  deps = [
63*d9f75844SAndroid Build Coastguard Worker    ":metric",
64*d9f75844SAndroid Build Coastguard Worker    ":metrics_accumulator",
65*d9f75844SAndroid Build Coastguard Worker    "../..:array_view",
66*d9f75844SAndroid Build Coastguard Worker    "../../../rtc_base/synchronization:mutex",
67*d9f75844SAndroid Build Coastguard Worker    "../../../system_wrappers",
68*d9f75844SAndroid Build Coastguard Worker    "../../numerics",
69*d9f75844SAndroid Build Coastguard Worker  ]
70*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
71*d9f75844SAndroid Build Coastguard Worker}
72*d9f75844SAndroid Build Coastguard Worker
73*d9f75844SAndroid Build Coastguard Workerrtc_library("metrics_accumulator") {
74*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
75*d9f75844SAndroid Build Coastguard Worker  sources = [
76*d9f75844SAndroid Build Coastguard Worker    "metrics_accumulator.cc",
77*d9f75844SAndroid Build Coastguard Worker    "metrics_accumulator.h",
78*d9f75844SAndroid Build Coastguard Worker  ]
79*d9f75844SAndroid Build Coastguard Worker  deps = [
80*d9f75844SAndroid Build Coastguard Worker    ":metric",
81*d9f75844SAndroid Build Coastguard Worker    "../../../rtc_base:macromagic",
82*d9f75844SAndroid Build Coastguard Worker    "../../../rtc_base/synchronization:mutex",
83*d9f75844SAndroid Build Coastguard Worker    "../../numerics",
84*d9f75844SAndroid Build Coastguard Worker    "../../units:timestamp",
85*d9f75844SAndroid Build Coastguard Worker  ]
86*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
87*d9f75844SAndroid Build Coastguard Worker}
88*d9f75844SAndroid Build Coastguard Worker
89*d9f75844SAndroid Build Coastguard Workerrtc_library("metrics_exporter") {
90*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
91*d9f75844SAndroid Build Coastguard Worker  sources = [ "metrics_exporter.h" ]
92*d9f75844SAndroid Build Coastguard Worker  deps = [
93*d9f75844SAndroid Build Coastguard Worker    ":metric",
94*d9f75844SAndroid Build Coastguard Worker    "../..:array_view",
95*d9f75844SAndroid Build Coastguard Worker  ]
96*d9f75844SAndroid Build Coastguard Worker}
97*d9f75844SAndroid Build Coastguard Worker
98*d9f75844SAndroid Build Coastguard Workerrtc_library("stdout_metrics_exporter") {
99*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
100*d9f75844SAndroid Build Coastguard Worker  sources = [
101*d9f75844SAndroid Build Coastguard Worker    "stdout_metrics_exporter.cc",
102*d9f75844SAndroid Build Coastguard Worker    "stdout_metrics_exporter.h",
103*d9f75844SAndroid Build Coastguard Worker  ]
104*d9f75844SAndroid Build Coastguard Worker  deps = [
105*d9f75844SAndroid Build Coastguard Worker    ":metric",
106*d9f75844SAndroid Build Coastguard Worker    ":metrics_exporter",
107*d9f75844SAndroid Build Coastguard Worker    "../..:array_view",
108*d9f75844SAndroid Build Coastguard Worker    "../../../rtc_base:stringutils",
109*d9f75844SAndroid Build Coastguard Worker  ]
110*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
111*d9f75844SAndroid Build Coastguard Worker}
112*d9f75844SAndroid Build Coastguard Worker
113*d9f75844SAndroid Build Coastguard Workerrtc_library("chrome_perf_dashboard_metrics_exporter") {
114*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
115*d9f75844SAndroid Build Coastguard Worker  testonly = true
116*d9f75844SAndroid Build Coastguard Worker  sources = [
117*d9f75844SAndroid Build Coastguard Worker    "chrome_perf_dashboard_metrics_exporter.cc",
118*d9f75844SAndroid Build Coastguard Worker    "chrome_perf_dashboard_metrics_exporter.h",
119*d9f75844SAndroid Build Coastguard Worker  ]
120*d9f75844SAndroid Build Coastguard Worker  deps = [
121*d9f75844SAndroid Build Coastguard Worker    ":metric",
122*d9f75844SAndroid Build Coastguard Worker    ":metrics_exporter",
123*d9f75844SAndroid Build Coastguard Worker    "../../../api:array_view",
124*d9f75844SAndroid Build Coastguard Worker    "../../../test:fileutils",
125*d9f75844SAndroid Build Coastguard Worker    "../../../test:perf_test",
126*d9f75844SAndroid Build Coastguard Worker  ]
127*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
128*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/memory",
129*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
130*d9f75844SAndroid Build Coastguard Worker  ]
131*d9f75844SAndroid Build Coastguard Worker}
132*d9f75844SAndroid Build Coastguard Worker
133*d9f75844SAndroid Build Coastguard Workerif (rtc_enable_protobuf) {
134*d9f75844SAndroid Build Coastguard Worker  proto_library("metric_proto") {
135*d9f75844SAndroid Build Coastguard Worker    visibility = [ "*" ]
136*d9f75844SAndroid Build Coastguard Worker    sources = [ "proto/metric.proto" ]
137*d9f75844SAndroid Build Coastguard Worker    proto_out_dir = "api/test/metrics/proto"
138*d9f75844SAndroid Build Coastguard Worker    cc_generator_options = "lite"
139*d9f75844SAndroid Build Coastguard Worker  }
140*d9f75844SAndroid Build Coastguard Worker}
141*d9f75844SAndroid Build Coastguard Worker
142*d9f75844SAndroid Build Coastguard Workerrtc_library("metrics_set_proto_file_exporter") {
143*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
144*d9f75844SAndroid Build Coastguard Worker  testonly = true
145*d9f75844SAndroid Build Coastguard Worker  sources = [
146*d9f75844SAndroid Build Coastguard Worker    "metrics_set_proto_file_exporter.cc",
147*d9f75844SAndroid Build Coastguard Worker    "metrics_set_proto_file_exporter.h",
148*d9f75844SAndroid Build Coastguard Worker  ]
149*d9f75844SAndroid Build Coastguard Worker  deps = [
150*d9f75844SAndroid Build Coastguard Worker    ":metric",
151*d9f75844SAndroid Build Coastguard Worker    ":metrics_exporter",
152*d9f75844SAndroid Build Coastguard Worker    "../..:array_view",
153*d9f75844SAndroid Build Coastguard Worker    "../../../rtc_base:logging",
154*d9f75844SAndroid Build Coastguard Worker    "../../../test:fileutils",
155*d9f75844SAndroid Build Coastguard Worker  ]
156*d9f75844SAndroid Build Coastguard Worker
157*d9f75844SAndroid Build Coastguard Worker  if (rtc_enable_protobuf) {
158*d9f75844SAndroid Build Coastguard Worker    deps += [ ":metric_proto" ]
159*d9f75844SAndroid Build Coastguard Worker  }
160*d9f75844SAndroid Build Coastguard Worker}
161*d9f75844SAndroid Build Coastguard Worker
162*d9f75844SAndroid Build Coastguard Workerrtc_library("print_result_proxy_metrics_exporter") {
163*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
164*d9f75844SAndroid Build Coastguard Worker  testonly = true
165*d9f75844SAndroid Build Coastguard Worker  sources = [
166*d9f75844SAndroid Build Coastguard Worker    "print_result_proxy_metrics_exporter.cc",
167*d9f75844SAndroid Build Coastguard Worker    "print_result_proxy_metrics_exporter.h",
168*d9f75844SAndroid Build Coastguard Worker  ]
169*d9f75844SAndroid Build Coastguard Worker  deps = [
170*d9f75844SAndroid Build Coastguard Worker    ":metric",
171*d9f75844SAndroid Build Coastguard Worker    ":metrics_exporter",
172*d9f75844SAndroid Build Coastguard Worker    "../..:array_view",
173*d9f75844SAndroid Build Coastguard Worker    "../../../test:perf_test",
174*d9f75844SAndroid Build Coastguard Worker  ]
175*d9f75844SAndroid Build Coastguard Worker}
176*d9f75844SAndroid Build Coastguard Worker
177*d9f75844SAndroid Build Coastguard Workerrtc_library("global_metrics_logger_and_exporter") {
178*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
179*d9f75844SAndroid Build Coastguard Worker  sources = [
180*d9f75844SAndroid Build Coastguard Worker    "global_metrics_logger_and_exporter.cc",
181*d9f75844SAndroid Build Coastguard Worker    "global_metrics_logger_and_exporter.h",
182*d9f75844SAndroid Build Coastguard Worker  ]
183*d9f75844SAndroid Build Coastguard Worker  deps = [
184*d9f75844SAndroid Build Coastguard Worker    ":metrics_exporter",
185*d9f75844SAndroid Build Coastguard Worker    ":metrics_logger",
186*d9f75844SAndroid Build Coastguard Worker    "../../../rtc_base:checks",
187*d9f75844SAndroid Build Coastguard Worker    "../../../system_wrappers",
188*d9f75844SAndroid Build Coastguard Worker  ]
189*d9f75844SAndroid Build Coastguard Worker}
190*d9f75844SAndroid Build Coastguard Worker
191*d9f75844SAndroid Build Coastguard Workerif (rtc_include_tests) {
192*d9f75844SAndroid Build Coastguard Worker  rtc_library("metrics_logger_test") {
193*d9f75844SAndroid Build Coastguard Worker    testonly = true
194*d9f75844SAndroid Build Coastguard Worker    sources = [ "metrics_logger_test.cc" ]
195*d9f75844SAndroid Build Coastguard Worker    deps = [
196*d9f75844SAndroid Build Coastguard Worker      ":metric",
197*d9f75844SAndroid Build Coastguard Worker      ":metrics_logger",
198*d9f75844SAndroid Build Coastguard Worker      "../../../system_wrappers",
199*d9f75844SAndroid Build Coastguard Worker      "../../../test:test_support",
200*d9f75844SAndroid Build Coastguard Worker      "../../numerics",
201*d9f75844SAndroid Build Coastguard Worker    ]
202*d9f75844SAndroid Build Coastguard Worker    absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
203*d9f75844SAndroid Build Coastguard Worker  }
204*d9f75844SAndroid Build Coastguard Worker
205*d9f75844SAndroid Build Coastguard Worker  rtc_library("metrics_accumulator_test") {
206*d9f75844SAndroid Build Coastguard Worker    testonly = true
207*d9f75844SAndroid Build Coastguard Worker    sources = [ "metrics_accumulator_test.cc" ]
208*d9f75844SAndroid Build Coastguard Worker    deps = [
209*d9f75844SAndroid Build Coastguard Worker      ":metric",
210*d9f75844SAndroid Build Coastguard Worker      ":metrics_accumulator",
211*d9f75844SAndroid Build Coastguard Worker      "../../../test:test_support",
212*d9f75844SAndroid Build Coastguard Worker      "../../units:timestamp",
213*d9f75844SAndroid Build Coastguard Worker    ]
214*d9f75844SAndroid Build Coastguard Worker    absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
215*d9f75844SAndroid Build Coastguard Worker  }
216*d9f75844SAndroid Build Coastguard Worker
217*d9f75844SAndroid Build Coastguard Worker  rtc_library("stdout_metrics_exporter_test") {
218*d9f75844SAndroid Build Coastguard Worker    testonly = true
219*d9f75844SAndroid Build Coastguard Worker    sources = [ "stdout_metrics_exporter_test.cc" ]
220*d9f75844SAndroid Build Coastguard Worker    deps = [
221*d9f75844SAndroid Build Coastguard Worker      ":metric",
222*d9f75844SAndroid Build Coastguard Worker      ":stdout_metrics_exporter",
223*d9f75844SAndroid Build Coastguard Worker      "../../../test:test_support",
224*d9f75844SAndroid Build Coastguard Worker      "../../units:timestamp",
225*d9f75844SAndroid Build Coastguard Worker    ]
226*d9f75844SAndroid Build Coastguard Worker  }
227*d9f75844SAndroid Build Coastguard Worker
228*d9f75844SAndroid Build Coastguard Worker  rtc_library("print_result_proxy_metrics_exporter_test") {
229*d9f75844SAndroid Build Coastguard Worker    testonly = true
230*d9f75844SAndroid Build Coastguard Worker    sources = [ "print_result_proxy_metrics_exporter_test.cc" ]
231*d9f75844SAndroid Build Coastguard Worker    deps = [
232*d9f75844SAndroid Build Coastguard Worker      ":metric",
233*d9f75844SAndroid Build Coastguard Worker      ":print_result_proxy_metrics_exporter",
234*d9f75844SAndroid Build Coastguard Worker      "../../../test:test_support",
235*d9f75844SAndroid Build Coastguard Worker      "../../units:timestamp",
236*d9f75844SAndroid Build Coastguard Worker    ]
237*d9f75844SAndroid Build Coastguard Worker  }
238*d9f75844SAndroid Build Coastguard Worker
239*d9f75844SAndroid Build Coastguard Worker  rtc_library("global_metrics_logger_and_exporter_test") {
240*d9f75844SAndroid Build Coastguard Worker    testonly = true
241*d9f75844SAndroid Build Coastguard Worker    sources = [ "global_metrics_logger_and_exporter_test.cc" ]
242*d9f75844SAndroid Build Coastguard Worker    deps = [
243*d9f75844SAndroid Build Coastguard Worker      ":global_metrics_logger_and_exporter",
244*d9f75844SAndroid Build Coastguard Worker      ":metric",
245*d9f75844SAndroid Build Coastguard Worker      ":metrics_exporter",
246*d9f75844SAndroid Build Coastguard Worker      ":metrics_logger",
247*d9f75844SAndroid Build Coastguard Worker      "../../../system_wrappers",
248*d9f75844SAndroid Build Coastguard Worker      "../../../test:test_support",
249*d9f75844SAndroid Build Coastguard Worker    ]
250*d9f75844SAndroid Build Coastguard Worker    absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
251*d9f75844SAndroid Build Coastguard Worker  }
252*d9f75844SAndroid Build Coastguard Worker
253*d9f75844SAndroid Build Coastguard Worker  if (rtc_enable_protobuf) {
254*d9f75844SAndroid Build Coastguard Worker    rtc_library("metrics_set_proto_file_exporter_test") {
255*d9f75844SAndroid Build Coastguard Worker      testonly = true
256*d9f75844SAndroid Build Coastguard Worker      sources = [ "metrics_set_proto_file_exporter_test.cc" ]
257*d9f75844SAndroid Build Coastguard Worker      deps = [
258*d9f75844SAndroid Build Coastguard Worker        ":metric",
259*d9f75844SAndroid Build Coastguard Worker        ":metric_proto",
260*d9f75844SAndroid Build Coastguard Worker        ":metrics_set_proto_file_exporter",
261*d9f75844SAndroid Build Coastguard Worker        "../../../rtc_base:protobuf_utils",
262*d9f75844SAndroid Build Coastguard Worker        "../../../test:fileutils",
263*d9f75844SAndroid Build Coastguard Worker        "../../../test:test_support",
264*d9f75844SAndroid Build Coastguard Worker        "../../units:timestamp",
265*d9f75844SAndroid Build Coastguard Worker      ]
266*d9f75844SAndroid Build Coastguard Worker    }
267*d9f75844SAndroid Build Coastguard Worker
268*d9f75844SAndroid Build Coastguard Worker    rtc_library("chrome_perf_dashboard_metrics_exporter_test") {
269*d9f75844SAndroid Build Coastguard Worker      testonly = true
270*d9f75844SAndroid Build Coastguard Worker      sources = [ "chrome_perf_dashboard_metrics_exporter_test.cc" ]
271*d9f75844SAndroid Build Coastguard Worker      deps = [
272*d9f75844SAndroid Build Coastguard Worker        ":chrome_perf_dashboard_metrics_exporter",
273*d9f75844SAndroid Build Coastguard Worker        ":metric",
274*d9f75844SAndroid Build Coastguard Worker        "../../../api/units:timestamp",
275*d9f75844SAndroid Build Coastguard Worker        "../../../test:fileutils",
276*d9f75844SAndroid Build Coastguard Worker        "../../../test:test_support",
277*d9f75844SAndroid Build Coastguard Worker        "//third_party/catapult/tracing/tracing:histogram",
278*d9f75844SAndroid Build Coastguard Worker      ]
279*d9f75844SAndroid Build Coastguard Worker    }
280*d9f75844SAndroid Build Coastguard Worker  }
281*d9f75844SAndroid Build Coastguard Worker}
282