• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2019 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15import("../../../gn/fuzzer.gni")
16import("../../../gn/perfetto.gni")
17import("../../../gn/test.gni")
18
19assert(enable_perfetto_traced_perf)
20
21executable("traced_perf") {
22  deps = [
23    ":traced_perf_main",
24    "../../../gn:default_deps",
25  ]
26  sources = [ "main.cc" ]
27}
28
29source_set("traced_perf_main") {
30  deps = [
31    ":proc_descriptors",
32    ":producer",
33    "../../../gn:default_deps",
34    "../../../src/base",
35    "../../../src/tracing/ipc/producer",
36  ]
37  sources = [
38    "traced_perf.cc",
39    "traced_perf.h",
40  ]
41}
42
43source_set("producer") {
44  public_deps = [
45    ":common_types",
46    ":regs_parsing",
47    ":unwinding",
48    "../../../include/perfetto/tracing/core",
49    "../../../src/tracing/core:service",  # for metatrace
50  ]
51  deps = [
52    ":proc_descriptors",
53    "../../../gn:default_deps",
54    "../../../protos/perfetto/common:cpp",
55    "../../../protos/perfetto/common:zero",
56    "../../../protos/perfetto/config:cpp",
57    "../../../protos/perfetto/config/profiling:cpp",
58    "../../../protos/perfetto/trace:zero",
59    "../../../protos/perfetto/trace/profiling:zero",
60    "../../../src/base",
61    "../../../src/base:unix_socket",
62    "../../../src/traced/probes/ftrace:ftrace_procfs",
63    "../../../src/tracing/ipc/producer",
64    "../common:callstack_trie",
65    "../common:interner",
66    "../common:interning_output",
67    "../common:proc_cmdline",
68    "../common:producer_support",
69    "../common:profiler_guardrails",
70  ]
71  sources = [
72    "event_config.cc",
73    "event_config.h",
74    "event_reader.cc",
75    "event_reader.h",
76    "perf_producer.cc",
77    "perf_producer.h",
78  ]
79}
80
81source_set("common_types") {
82  public_deps = [ "../../../gn:libunwindstack" ]
83  deps = [
84    "../../../gn:default_deps",
85    "../common:unwind_support",
86  ]
87  sources = [ "common_types.h" ]
88}
89
90source_set("unwinding") {
91  public_deps = [
92    "../../../gn:libunwindstack",
93    "../../../src/tracing/core:service",  # for metatrace
94  ]
95  deps = [
96    ":common_types",
97    "../../../gn:default_deps",
98    "../../../include/perfetto/ext/tracing/core",
99    "../../../src/base",
100    "../../../src/kallsyms",
101    "../common:unwind_support",
102  ]
103  sources = [
104    "unwind_queue.h",
105    "unwinding.cc",
106    "unwinding.h",
107  ]
108}
109
110source_set("regs_parsing") {
111  public_deps = [ "../../../gn:libunwindstack" ]
112  deps = [
113    "../../../gn:bionic_kernel_uapi_headers",
114    "../../../gn:default_deps",
115    "../../../src/base",
116  ]
117  sources = [
118    "regs_parsing.cc",
119    "regs_parsing.h",
120  ]
121}
122
123source_set("proc_descriptors") {
124  deps = [
125    "../../../gn:default_deps",
126    "../../../src/base",
127  ]
128  sources = [
129    "proc_descriptors.cc",
130    "proc_descriptors.h",
131  ]
132}
133
134source_set("producer_unittests") {
135  testonly = true
136  deps = [
137    ":producer",
138    ":unwinding",
139    "../../../gn:default_deps",
140    "../../../gn:gtest_and_gmock",
141    "../../../protos/perfetto/common:cpp",
142    "../../../protos/perfetto/config:cpp",
143    "../../../protos/perfetto/config/profiling:cpp",
144    "../../../protos/perfetto/trace:zero",
145    "../../../src/protozero",
146    "../../base",
147  ]
148  sources = [
149    "event_config_unittest.cc",
150    "unwind_queue_unittest.cc",
151  ]
152}
153