xref: /aosp_15_r20/external/perfetto/src/traced/probes/BUILD.gn (revision 6dbdd20afdafa5e3ca9b8809fa73465d530080dc)
1*6dbdd20aSAndroid Build Coastguard Worker# Copyright (C) 2017 The Android Open Source Project
2*6dbdd20aSAndroid Build Coastguard Worker#
3*6dbdd20aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*6dbdd20aSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*6dbdd20aSAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*6dbdd20aSAndroid Build Coastguard Worker#
7*6dbdd20aSAndroid Build Coastguard Worker#      http://www.apache.org/licenses/LICENSE-2.0
8*6dbdd20aSAndroid Build Coastguard Worker#
9*6dbdd20aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*6dbdd20aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*6dbdd20aSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*6dbdd20aSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*6dbdd20aSAndroid Build Coastguard Worker# limitations under the License.
14*6dbdd20aSAndroid Build Coastguard Worker
15*6dbdd20aSAndroid Build Coastguard Workerimport("../../../gn/perfetto.gni")
16*6dbdd20aSAndroid Build Coastguard Workerimport("../../../gn/test.gni")
17*6dbdd20aSAndroid Build Coastguard Worker
18*6dbdd20aSAndroid Build Coastguard Workerassert(enable_perfetto_traced_probes)
19*6dbdd20aSAndroid Build Coastguard Worker
20*6dbdd20aSAndroid Build Coastguard Worker# The unprivileged daemon that is allowed to access tracefs (for ftrace).
21*6dbdd20aSAndroid Build Coastguard Worker# Registers as a Producer on the traced daemon.
22*6dbdd20aSAndroid Build Coastguard Workerexecutable("traced_probes") {
23*6dbdd20aSAndroid Build Coastguard Worker  deps = [
24*6dbdd20aSAndroid Build Coastguard Worker    "../../../:libperfetto",
25*6dbdd20aSAndroid Build Coastguard Worker    "../../../gn:default_deps",
26*6dbdd20aSAndroid Build Coastguard Worker    "../../../include/perfetto/ext/traced",
27*6dbdd20aSAndroid Build Coastguard Worker  ]
28*6dbdd20aSAndroid Build Coastguard Worker  sources = [ "main.cc" ]
29*6dbdd20aSAndroid Build Coastguard Worker  assert_no_deps = [ "../../../gn:protobuf_lite" ]
30*6dbdd20aSAndroid Build Coastguard Worker}
31*6dbdd20aSAndroid Build Coastguard Worker
32*6dbdd20aSAndroid Build Coastguard Worker# Contains all the implementation but not the main() entry point. This target
33*6dbdd20aSAndroid Build Coastguard Worker# is shared both by the executable and tests.
34*6dbdd20aSAndroid Build Coastguard Workersource_set("probes") {
35*6dbdd20aSAndroid Build Coastguard Worker  public_deps = [ "../../../include/perfetto/ext/traced" ]
36*6dbdd20aSAndroid Build Coastguard Worker  deps = [
37*6dbdd20aSAndroid Build Coastguard Worker    ":probes_src",
38*6dbdd20aSAndroid Build Coastguard Worker    "../../../gn:default_deps",
39*6dbdd20aSAndroid Build Coastguard Worker    "../../base:version",
40*6dbdd20aSAndroid Build Coastguard Worker    "../../tracing/ipc/producer",
41*6dbdd20aSAndroid Build Coastguard Worker  ]
42*6dbdd20aSAndroid Build Coastguard Worker  sources = [ "probes.cc" ]
43*6dbdd20aSAndroid Build Coastguard Worker}
44*6dbdd20aSAndroid Build Coastguard Worker
45*6dbdd20aSAndroid Build Coastguard Workersource_set("probes_src") {
46*6dbdd20aSAndroid Build Coastguard Worker  public_deps = [
47*6dbdd20aSAndroid Build Coastguard Worker    "ftrace",
48*6dbdd20aSAndroid Build Coastguard Worker    "ftrace:ftrace_procfs",
49*6dbdd20aSAndroid Build Coastguard Worker  ]
50*6dbdd20aSAndroid Build Coastguard Worker  deps = [
51*6dbdd20aSAndroid Build Coastguard Worker    ":data_source",
52*6dbdd20aSAndroid Build Coastguard Worker    "../../../gn:default_deps",
53*6dbdd20aSAndroid Build Coastguard Worker    "../../../include/perfetto/ext/traced",
54*6dbdd20aSAndroid Build Coastguard Worker    "../../../protos/perfetto/config/ftrace:cpp",
55*6dbdd20aSAndroid Build Coastguard Worker    "../../../protos/perfetto/trace:zero",
56*6dbdd20aSAndroid Build Coastguard Worker    "../../../protos/perfetto/trace/ps:zero",
57*6dbdd20aSAndroid Build Coastguard Worker    "../../../src/kernel_utils:syscall_table",
58*6dbdd20aSAndroid Build Coastguard Worker    "../../android_stats",
59*6dbdd20aSAndroid Build Coastguard Worker    "../../base",
60*6dbdd20aSAndroid Build Coastguard Worker    "../../tracing/core",
61*6dbdd20aSAndroid Build Coastguard Worker    "../../tracing/ipc/producer",
62*6dbdd20aSAndroid Build Coastguard Worker    "android_game_intervention_list",
63*6dbdd20aSAndroid Build Coastguard Worker    "android_log",
64*6dbdd20aSAndroid Build Coastguard Worker    "android_system_property",
65*6dbdd20aSAndroid Build Coastguard Worker    "common",
66*6dbdd20aSAndroid Build Coastguard Worker    "filesystem",
67*6dbdd20aSAndroid Build Coastguard Worker    "initial_display_state",
68*6dbdd20aSAndroid Build Coastguard Worker    "metatrace",
69*6dbdd20aSAndroid Build Coastguard Worker    "packages_list",
70*6dbdd20aSAndroid Build Coastguard Worker    "power",
71*6dbdd20aSAndroid Build Coastguard Worker    "ps",
72*6dbdd20aSAndroid Build Coastguard Worker    "statsd_client",
73*6dbdd20aSAndroid Build Coastguard Worker    "sys_stats",
74*6dbdd20aSAndroid Build Coastguard Worker    "system_info",
75*6dbdd20aSAndroid Build Coastguard Worker  ]
76*6dbdd20aSAndroid Build Coastguard Worker  sources = [
77*6dbdd20aSAndroid Build Coastguard Worker    "kmem_activity_trigger.cc",
78*6dbdd20aSAndroid Build Coastguard Worker    "kmem_activity_trigger.h",
79*6dbdd20aSAndroid Build Coastguard Worker    "probes_producer.cc",
80*6dbdd20aSAndroid Build Coastguard Worker    "probes_producer.h",
81*6dbdd20aSAndroid Build Coastguard Worker  ]
82*6dbdd20aSAndroid Build Coastguard Worker}
83*6dbdd20aSAndroid Build Coastguard Worker
84*6dbdd20aSAndroid Build Coastguard Worker# Base class for data sources in traced_probes.
85*6dbdd20aSAndroid Build Coastguard Worker# Needs to be a separate target to avoid cyclical deps.
86*6dbdd20aSAndroid Build Coastguard Workersource_set("data_source") {
87*6dbdd20aSAndroid Build Coastguard Worker  deps = [
88*6dbdd20aSAndroid Build Coastguard Worker    "../../../gn:default_deps",
89*6dbdd20aSAndroid Build Coastguard Worker    "../../tracing/core",
90*6dbdd20aSAndroid Build Coastguard Worker  ]
91*6dbdd20aSAndroid Build Coastguard Worker  sources = [
92*6dbdd20aSAndroid Build Coastguard Worker    "probes_data_source.cc",
93*6dbdd20aSAndroid Build Coastguard Worker    "probes_data_source.h",
94*6dbdd20aSAndroid Build Coastguard Worker  ]
95*6dbdd20aSAndroid Build Coastguard Worker}
96*6dbdd20aSAndroid Build Coastguard Worker
97*6dbdd20aSAndroid Build Coastguard Workerperfetto_unittest_source_set("unittests") {
98*6dbdd20aSAndroid Build Coastguard Worker  testonly = true
99*6dbdd20aSAndroid Build Coastguard Worker  deps = [
100*6dbdd20aSAndroid Build Coastguard Worker    ":probes_src",
101*6dbdd20aSAndroid Build Coastguard Worker    "../../../gn:default_deps",
102*6dbdd20aSAndroid Build Coastguard Worker    "../../../gn:gtest_and_gmock",
103*6dbdd20aSAndroid Build Coastguard Worker    "../../tracing/test:test_support",
104*6dbdd20aSAndroid Build Coastguard Worker    "android_game_intervention_list:unittests",
105*6dbdd20aSAndroid Build Coastguard Worker    "android_log:unittests",
106*6dbdd20aSAndroid Build Coastguard Worker    "android_system_property:unittests",
107*6dbdd20aSAndroid Build Coastguard Worker    "common:unittests",
108*6dbdd20aSAndroid Build Coastguard Worker    "filesystem:unittests",
109*6dbdd20aSAndroid Build Coastguard Worker    "ftrace:unittests",
110*6dbdd20aSAndroid Build Coastguard Worker    "initial_display_state:unittests",
111*6dbdd20aSAndroid Build Coastguard Worker    "packages_list:unittests",
112*6dbdd20aSAndroid Build Coastguard Worker    "power:unittests",
113*6dbdd20aSAndroid Build Coastguard Worker    "ps:unittests",
114*6dbdd20aSAndroid Build Coastguard Worker    "statsd_client:unittests",
115*6dbdd20aSAndroid Build Coastguard Worker    "sys_stats:unittests",
116*6dbdd20aSAndroid Build Coastguard Worker    "system_info:unittests",
117*6dbdd20aSAndroid Build Coastguard Worker  ]
118*6dbdd20aSAndroid Build Coastguard Worker}
119