1*6dbdd20aSAndroid Build Coastguard Worker# Copyright (C) 2019 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/fuzzer.gni") 16*6dbdd20aSAndroid Build Coastguard Workerimport("../../../gn/perfetto.gni") 17*6dbdd20aSAndroid Build Coastguard Workerimport("../../../gn/test.gni") 18*6dbdd20aSAndroid Build Coastguard Worker 19*6dbdd20aSAndroid Build Coastguard Workerassert(enable_perfetto_traced_perf) 20*6dbdd20aSAndroid Build Coastguard Worker 21*6dbdd20aSAndroid Build Coastguard Workerexecutable("traced_perf") { 22*6dbdd20aSAndroid Build Coastguard Worker deps = [ 23*6dbdd20aSAndroid Build Coastguard Worker ":traced_perf_main", 24*6dbdd20aSAndroid Build Coastguard Worker "../../../gn:default_deps", 25*6dbdd20aSAndroid Build Coastguard Worker ] 26*6dbdd20aSAndroid Build Coastguard Worker sources = [ "main.cc" ] 27*6dbdd20aSAndroid Build Coastguard Worker} 28*6dbdd20aSAndroid Build Coastguard Worker 29*6dbdd20aSAndroid Build Coastguard Workersource_set("traced_perf_main") { 30*6dbdd20aSAndroid Build Coastguard Worker deps = [ 31*6dbdd20aSAndroid Build Coastguard Worker ":proc_descriptors", 32*6dbdd20aSAndroid Build Coastguard Worker ":producer", 33*6dbdd20aSAndroid Build Coastguard Worker "../../../gn:default_deps", 34*6dbdd20aSAndroid Build Coastguard Worker "../../../src/base", 35*6dbdd20aSAndroid Build Coastguard Worker "../../../src/base:version", 36*6dbdd20aSAndroid Build Coastguard Worker "../../../src/tracing/ipc/producer", 37*6dbdd20aSAndroid Build Coastguard Worker ] 38*6dbdd20aSAndroid Build Coastguard Worker sources = [ 39*6dbdd20aSAndroid Build Coastguard Worker "traced_perf.cc", 40*6dbdd20aSAndroid Build Coastguard Worker "traced_perf.h", 41*6dbdd20aSAndroid Build Coastguard Worker ] 42*6dbdd20aSAndroid Build Coastguard Worker} 43*6dbdd20aSAndroid Build Coastguard Worker 44*6dbdd20aSAndroid Build Coastguard Workersource_set("producer") { 45*6dbdd20aSAndroid Build Coastguard Worker public_deps = [ 46*6dbdd20aSAndroid Build Coastguard Worker ":common_types", 47*6dbdd20aSAndroid Build Coastguard Worker ":regs_parsing", 48*6dbdd20aSAndroid Build Coastguard Worker ":unwinding", 49*6dbdd20aSAndroid Build Coastguard Worker "../../../include/perfetto/tracing/core", 50*6dbdd20aSAndroid Build Coastguard Worker "../../../src/tracing/service", # for metatrace 51*6dbdd20aSAndroid Build Coastguard Worker ] 52*6dbdd20aSAndroid Build Coastguard Worker deps = [ 53*6dbdd20aSAndroid Build Coastguard Worker ":proc_descriptors", 54*6dbdd20aSAndroid Build Coastguard Worker "../../../gn:default_deps", 55*6dbdd20aSAndroid Build Coastguard Worker "../../../protos/perfetto/common:cpp", 56*6dbdd20aSAndroid Build Coastguard Worker "../../../protos/perfetto/common:zero", 57*6dbdd20aSAndroid Build Coastguard Worker "../../../protos/perfetto/config:cpp", 58*6dbdd20aSAndroid Build Coastguard Worker "../../../protos/perfetto/config/profiling:cpp", 59*6dbdd20aSAndroid Build Coastguard Worker "../../../protos/perfetto/trace:zero", 60*6dbdd20aSAndroid Build Coastguard Worker "../../../protos/perfetto/trace/profiling:zero", 61*6dbdd20aSAndroid Build Coastguard Worker "../../../src/base", 62*6dbdd20aSAndroid Build Coastguard Worker "../../../src/base:unix_socket", 63*6dbdd20aSAndroid Build Coastguard Worker "../../../src/traced/probes/ftrace:ftrace_procfs", 64*6dbdd20aSAndroid Build Coastguard Worker "../../../src/tracing/ipc/producer", 65*6dbdd20aSAndroid Build Coastguard Worker "../common:callstack_trie", 66*6dbdd20aSAndroid Build Coastguard Worker "../common:interner", 67*6dbdd20aSAndroid Build Coastguard Worker "../common:interning_output", 68*6dbdd20aSAndroid Build Coastguard Worker "../common:proc_cmdline", 69*6dbdd20aSAndroid Build Coastguard Worker "../common:producer_support", 70*6dbdd20aSAndroid Build Coastguard Worker "../common:profiler_guardrails", 71*6dbdd20aSAndroid Build Coastguard Worker ] 72*6dbdd20aSAndroid Build Coastguard Worker sources = [ 73*6dbdd20aSAndroid Build Coastguard Worker "event_config.cc", 74*6dbdd20aSAndroid Build Coastguard Worker "event_config.h", 75*6dbdd20aSAndroid Build Coastguard Worker "event_reader.cc", 76*6dbdd20aSAndroid Build Coastguard Worker "event_reader.h", 77*6dbdd20aSAndroid Build Coastguard Worker "perf_producer.cc", 78*6dbdd20aSAndroid Build Coastguard Worker "perf_producer.h", 79*6dbdd20aSAndroid Build Coastguard Worker ] 80*6dbdd20aSAndroid Build Coastguard Worker} 81*6dbdd20aSAndroid Build Coastguard Worker 82*6dbdd20aSAndroid Build Coastguard Workersource_set("common_types") { 83*6dbdd20aSAndroid Build Coastguard Worker public_deps = [ "../../../gn:libunwindstack" ] 84*6dbdd20aSAndroid Build Coastguard Worker deps = [ 85*6dbdd20aSAndroid Build Coastguard Worker "../../../gn:default_deps", 86*6dbdd20aSAndroid Build Coastguard Worker "../common:unwind_support", 87*6dbdd20aSAndroid Build Coastguard Worker ] 88*6dbdd20aSAndroid Build Coastguard Worker sources = [ "common_types.h" ] 89*6dbdd20aSAndroid Build Coastguard Worker} 90*6dbdd20aSAndroid Build Coastguard Worker 91*6dbdd20aSAndroid Build Coastguard Workersource_set("unwinding") { 92*6dbdd20aSAndroid Build Coastguard Worker public_deps = [ 93*6dbdd20aSAndroid Build Coastguard Worker "../../../gn:libunwindstack", 94*6dbdd20aSAndroid Build Coastguard Worker "../../../src/tracing/service", # for metatrace 95*6dbdd20aSAndroid Build Coastguard Worker ] 96*6dbdd20aSAndroid Build Coastguard Worker deps = [ 97*6dbdd20aSAndroid Build Coastguard Worker ":common_types", 98*6dbdd20aSAndroid Build Coastguard Worker "../../../gn:default_deps", 99*6dbdd20aSAndroid Build Coastguard Worker "../../../include/perfetto/ext/tracing/core", 100*6dbdd20aSAndroid Build Coastguard Worker "../../../src/base", 101*6dbdd20aSAndroid Build Coastguard Worker "../../../src/kallsyms", 102*6dbdd20aSAndroid Build Coastguard Worker "../common:unwind_support", 103*6dbdd20aSAndroid Build Coastguard Worker ] 104*6dbdd20aSAndroid Build Coastguard Worker sources = [ 105*6dbdd20aSAndroid Build Coastguard Worker "frame_pointer_unwinder.cc", 106*6dbdd20aSAndroid Build Coastguard Worker "frame_pointer_unwinder.h", 107*6dbdd20aSAndroid Build Coastguard Worker "unwind_queue.h", 108*6dbdd20aSAndroid Build Coastguard Worker "unwinding.cc", 109*6dbdd20aSAndroid Build Coastguard Worker "unwinding.h", 110*6dbdd20aSAndroid Build Coastguard Worker ] 111*6dbdd20aSAndroid Build Coastguard Worker} 112*6dbdd20aSAndroid Build Coastguard Worker 113*6dbdd20aSAndroid Build Coastguard Workersource_set("regs_parsing") { 114*6dbdd20aSAndroid Build Coastguard Worker public_deps = [ "../../../gn:libunwindstack" ] 115*6dbdd20aSAndroid Build Coastguard Worker deps = [ 116*6dbdd20aSAndroid Build Coastguard Worker "../../../gn:bionic_kernel_uapi_headers", 117*6dbdd20aSAndroid Build Coastguard Worker "../../../gn:default_deps", 118*6dbdd20aSAndroid Build Coastguard Worker "../../../src/base", 119*6dbdd20aSAndroid Build Coastguard Worker ] 120*6dbdd20aSAndroid Build Coastguard Worker sources = [ 121*6dbdd20aSAndroid Build Coastguard Worker "regs_parsing.cc", 122*6dbdd20aSAndroid Build Coastguard Worker "regs_parsing.h", 123*6dbdd20aSAndroid Build Coastguard Worker ] 124*6dbdd20aSAndroid Build Coastguard Worker} 125*6dbdd20aSAndroid Build Coastguard Worker 126*6dbdd20aSAndroid Build Coastguard Workersource_set("proc_descriptors") { 127*6dbdd20aSAndroid Build Coastguard Worker deps = [ 128*6dbdd20aSAndroid Build Coastguard Worker "../../../gn:default_deps", 129*6dbdd20aSAndroid Build Coastguard Worker "../../../src/base", 130*6dbdd20aSAndroid Build Coastguard Worker ] 131*6dbdd20aSAndroid Build Coastguard Worker sources = [ 132*6dbdd20aSAndroid Build Coastguard Worker "proc_descriptors.cc", 133*6dbdd20aSAndroid Build Coastguard Worker "proc_descriptors.h", 134*6dbdd20aSAndroid Build Coastguard Worker ] 135*6dbdd20aSAndroid Build Coastguard Worker} 136*6dbdd20aSAndroid Build Coastguard Worker 137*6dbdd20aSAndroid Build Coastguard Workersource_set("producer_unittests") { 138*6dbdd20aSAndroid Build Coastguard Worker testonly = true 139*6dbdd20aSAndroid Build Coastguard Worker deps = [ 140*6dbdd20aSAndroid Build Coastguard Worker ":producer", 141*6dbdd20aSAndroid Build Coastguard Worker ":unwinding", 142*6dbdd20aSAndroid Build Coastguard Worker "../../../gn:default_deps", 143*6dbdd20aSAndroid Build Coastguard Worker "../../../gn:gtest_and_gmock", 144*6dbdd20aSAndroid Build Coastguard Worker "../../../protos/perfetto/common:cpp", 145*6dbdd20aSAndroid Build Coastguard Worker "../../../protos/perfetto/config:cpp", 146*6dbdd20aSAndroid Build Coastguard Worker "../../../protos/perfetto/config/profiling:cpp", 147*6dbdd20aSAndroid Build Coastguard Worker "../../../protos/perfetto/trace:zero", 148*6dbdd20aSAndroid Build Coastguard Worker "../../../src/protozero", 149*6dbdd20aSAndroid Build Coastguard Worker "../../base", 150*6dbdd20aSAndroid Build Coastguard Worker ] 151*6dbdd20aSAndroid Build Coastguard Worker sources = [ 152*6dbdd20aSAndroid Build Coastguard Worker "event_config_unittest.cc", 153*6dbdd20aSAndroid Build Coastguard Worker "frame_pointer_unwinder_unittest.cc", 154*6dbdd20aSAndroid Build Coastguard Worker "perf_producer_unittest.cc", 155*6dbdd20aSAndroid Build Coastguard Worker "unwind_queue_unittest.cc", 156*6dbdd20aSAndroid Build Coastguard Worker ] 157*6dbdd20aSAndroid Build Coastguard Worker} 158