• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2022 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/perfetto_cc_proto_descriptor.gni")
16
17source_set("minimal") {
18  sources = [
19    "active_chrome_processes_tracker.cc",
20    "active_chrome_processes_tracker.h",
21    "chrome_string_lookup.cc",
22    "chrome_string_lookup.h",
23    "chrome_system_probes_module.cc",
24    "chrome_system_probes_module.h",
25    "chrome_system_probes_parser.cc",
26    "chrome_system_probes_parser.h",
27    "default_modules.cc",
28    "default_modules.h",
29    "heap_profile_tracker.cc",
30    "heap_profile_tracker.h",
31    "memory_tracker_snapshot_module.cc",
32    "memory_tracker_snapshot_module.h",
33    "memory_tracker_snapshot_parser.cc",
34    "memory_tracker_snapshot_parser.h",
35    "metadata_minimal_module.cc",
36    "metadata_minimal_module.h",
37    "network_trace_module.cc",
38    "network_trace_module.h",
39    "packet_analyzer.cc",
40    "packet_analyzer.h",
41    "packet_sequence_state.h",
42    "packet_sequence_state_generation.cc",
43    "perf_sample_tracker.cc",
44    "perf_sample_tracker.h",
45    "profile_module.cc",
46    "profile_module.h",
47    "profile_packet_utils.cc",
48    "profile_packet_utils.h",
49    "profiler_util.cc",
50    "profiler_util.h",
51    "proto_incremental_state.h",
52    "proto_trace_parser.cc",
53    "proto_trace_parser.h",
54    "proto_trace_reader.cc",
55    "proto_trace_reader.h",
56    "proto_trace_tokenizer.cc",
57    "proto_trace_tokenizer.h",
58    "stack_profile_tracker.cc",
59    "stack_profile_tracker.h",
60    "track_event_module.cc",
61    "track_event_module.h",
62    "track_event_parser.cc",
63    "track_event_parser.h",
64    "track_event_tokenizer.cc",
65    "track_event_tokenizer.h",
66    "track_event_tracker.cc",
67    "track_event_tracker.h",
68  ]
69  public_deps = [ ":proto_importer_module" ]
70  deps = [
71    ":packet_sequence_state_generation_hdr",
72    "../../../../gn:default_deps",
73    "../../../../protos/perfetto/common:zero",
74    "../../../../protos/perfetto/config:zero",
75    "../../../../protos/perfetto/trace:zero",
76    "../../../../protos/perfetto/trace:zero",
77    "../../../../protos/perfetto/trace/android:zero",
78    "../../../../protos/perfetto/trace/chrome:zero",
79    "../../../../protos/perfetto/trace/ftrace:zero",
80    "../../../../protos/perfetto/trace/interned_data:zero",
81    "../../../../protos/perfetto/trace/perfetto:zero",
82    "../../../../protos/perfetto/trace/power:zero",
83    "../../../../protos/perfetto/trace/profiling:zero",
84    "../../../../protos/perfetto/trace/ps:zero",
85    "../../../../protos/perfetto/trace/sys_stats:zero",
86    "../../../../protos/perfetto/trace/system_info:zero",
87    "../../../../protos/perfetto/trace/track_event:zero",
88    "../../../../protos/perfetto/trace/translation:zero",
89    "../../../base",
90    "../../../protozero",
91    "../../containers",
92    "../../sorter",
93    "../../storage",
94    "../../tables",
95    "../../types",
96    "../../util:gzip",
97    "../../util:stack_traces_util",
98    "../common",
99    "../common:parser_types",
100    "../ftrace:minimal",
101    "../json:minimal",
102    "../memory_tracker:graph_processor",
103  ]
104}
105
106source_set("full") {
107  sources = [
108    "additional_modules.cc",
109    "additional_modules.h",
110    "android_camera_event_module.cc",
111    "android_camera_event_module.h",
112    "android_probes_module.cc",
113    "android_probes_module.h",
114    "android_probes_parser.cc",
115    "android_probes_parser.h",
116    "android_probes_tracker.cc",
117    "android_probes_tracker.h",
118    "content_analyzer.cc",
119    "content_analyzer.h",
120    "frame_timeline_event_parser.cc",
121    "frame_timeline_event_parser.h",
122    "gpu_event_parser.cc",
123    "gpu_event_parser.h",
124    "graphics_event_module.cc",
125    "graphics_event_module.h",
126    "graphics_frame_event_parser.cc",
127    "graphics_frame_event_parser.h",
128    "heap_graph_module.cc",
129    "heap_graph_module.h",
130    "heap_graph_tracker.cc",
131    "heap_graph_tracker.h",
132    "metadata_module.cc",
133    "metadata_module.h",
134    "statsd_module.cc",
135    "statsd_module.h",
136    "system_probes_module.cc",
137    "system_probes_module.h",
138    "system_probes_parser.cc",
139    "system_probes_parser.h",
140    "translation_table_module.cc",
141    "translation_table_module.h",
142    "vulkan_memory_tracker.cc",
143    "vulkan_memory_tracker.h",
144  ]
145  deps = [
146    ":gen_cc_config_descriptor",
147    ":gen_cc_statsd_atoms_descriptor",
148    ":gen_cc_trace_descriptor",
149    ":minimal",
150    "../../../../gn:default_deps",
151    "../../../../include/perfetto/ext/traced:sys_stats_counters",
152    "../../../../protos/perfetto/common:zero",
153    "../../../../protos/perfetto/config:zero",
154    "../../../../protos/perfetto/config:zero",
155    "../../../../protos/perfetto/trace:zero",
156    "../../../../protos/perfetto/trace:zero",
157    "../../../../protos/perfetto/trace/android:zero",
158    "../../../../protos/perfetto/trace/gpu:zero",
159    "../../../../protos/perfetto/trace/interned_data:zero",
160    "../../../../protos/perfetto/trace/power:zero",
161    "../../../../protos/perfetto/trace/profiling:zero",
162    "../../../../protos/perfetto/trace/profiling:zero",
163    "../../../../protos/perfetto/trace/ps:zero",
164    "../../../../protos/perfetto/trace/statsd:zero",
165    "../../../../protos/perfetto/trace/sys_stats:zero",
166    "../../../../protos/perfetto/trace/system_info:zero",
167    "../../../../protos/perfetto/trace/translation:zero",
168    "../../../base",
169    "../../../protozero",
170    "../../sorter",
171    "../../storage",
172    "../../tables",
173    "../../types",
174    "../../util:descriptors",
175    "../../util:proto_profiler",
176    "../../util:proto_to_args_parser",
177    "../common",
178    "../common:parser_types",
179    "../ftrace:full",
180    "../syscalls:full",
181  ]
182}
183
184source_set("proto_importer_module") {
185  sources = [
186    "proto_importer_module.cc",
187    "proto_importer_module.h",
188  ]
189  deps = [
190    "../../../../gn:default_deps",
191    "../../../base",
192    "../../types",
193    "../common:trace_parser_hdr",
194  ]
195}
196
197source_set("packet_sequence_state_generation_hdr") {
198  sources = [ "packet_sequence_state_generation.h" ]
199  deps = [
200    "../../../../gn:default_deps",
201    "../../../../include/perfetto/ext/base",
202    "../../../../protos/perfetto/trace:non_minimal_zero",
203    "../../../../protos/perfetto/trace/track_event:zero",
204    "../../util:interned_message_view",
205  ]
206}
207
208perfetto_cc_proto_descriptor("gen_cc_statsd_atoms_descriptor") {
209  descriptor_name = "atoms.descriptor"
210  descriptor_path = "atoms.descriptor"
211}
212
213perfetto_cc_proto_descriptor("gen_cc_trace_descriptor") {
214  descriptor_name = "trace.descriptor"
215  descriptor_target = "../../../../protos/perfetto/trace:descriptor"
216}
217
218perfetto_cc_proto_descriptor("gen_cc_track_event_descriptor") {
219  descriptor_name = "track_event.descriptor"
220  descriptor_target = "../../../../protos/perfetto/trace/track_event:descriptor"
221}
222
223perfetto_cc_proto_descriptor("gen_cc_chrome_track_event_descriptor") {
224  descriptor_name = "chrome_track_event.descriptor"
225  descriptor_target = "../../../../protos/third_party/chromium:descriptor"
226}
227
228perfetto_cc_proto_descriptor("gen_cc_config_descriptor") {
229  descriptor_name = "config.descriptor"
230  descriptor_target = "../../../../protos/perfetto/config:descriptor"
231}
232
233source_set("unittests") {
234  testonly = true
235  sources = [
236    "active_chrome_processes_tracker_unittest.cc",
237    "heap_graph_tracker_unittest.cc",
238    "heap_profile_tracker_unittest.cc",
239    "network_trace_module_unittest.cc",
240    "perf_sample_tracker_unittest.cc",
241    "proto_trace_parser_unittest.cc",
242  ]
243  deps = [
244    ":full",
245    ":minimal",
246    "../../../../gn:default_deps",
247    "../../../../gn:gtest_and_gmock",
248    "../../../../protos/perfetto/common:cpp",
249    "../../../../protos/perfetto/common:zero",
250    "../../../../protos/perfetto/config:zero",
251    "../../../../protos/perfetto/trace:non_minimal_cpp",
252    "../../../../protos/perfetto/trace:zero",
253    "../../../../protos/perfetto/trace/android:zero",
254    "../../../../protos/perfetto/trace/chrome:zero",
255    "../../../../protos/perfetto/trace/ftrace:zero",
256    "../../../../protos/perfetto/trace/interned_data:zero",
257    "../../../../protos/perfetto/trace/profiling:cpp",
258    "../../../../protos/perfetto/trace/profiling:zero",
259    "../../../../protos/perfetto/trace/ps:zero",
260    "../../../../protos/perfetto/trace/sys_stats:zero",
261    "../../../../protos/perfetto/trace/track_event:zero",
262    "../../../protozero",
263    "../../sorter",
264    "../../storage",
265    "../../types",
266    "../../util:descriptors",
267    "../common",
268    "../ftrace:full",
269  ]
270}
271