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