• 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#
15# This file is automatically generated by tools/gen_bazel. Do not edit.
16
17load("@perfetto_cfg//:perfetto_cfg.bzl", "PERFETTO_CONFIG")
18load(
19    "@perfetto//bazel:rules.bzl",
20    "perfetto_build_config_cc_library",
21    "perfetto_cc_binary",
22    "perfetto_filegroup",
23    "perfetto_genrule",
24    "perfetto_cc_ipc_library",
25    "perfetto_cc_library",
26    "perfetto_cc_proto_descriptor",
27    "perfetto_cc_proto_library",
28    "perfetto_cc_protocpp_library",
29    "perfetto_cc_protozero_library",
30    "perfetto_java_proto_library",
31    "perfetto_java_lite_proto_library",
32    "perfetto_proto_library",
33    "perfetto_proto_descriptor",
34    "perfetto_py_binary",
35    "perfetto_py_library",
36    "perfetto_py_proto_library",
37    "perfetto_gensignature_internal_only",
38)
39
40package(default_visibility = ["//visibility:private"])
41
42licenses(["notice"])
43
44exports_files(["NOTICE"])
45
46# ##############################################################################
47# Internal targets
48# ##############################################################################
49
50# GN target: //src/ipc/protoc_plugin:ipc_plugin
51perfetto_cc_binary(
52    name = "ipc_plugin",
53    srcs = [
54        "src/ipc/protoc_plugin/ipc_plugin.cc",
55    ],
56    deps = [
57        ":src_base_base",
58    ] + PERFETTO_CONFIG.deps.protoc_lib,
59)
60
61# GN target: //src/ipc:perfetto_ipc
62perfetto_cc_library(
63    name = "perfetto_ipc",
64    srcs = [
65        ":src_ipc_client",
66        ":src_ipc_common",
67        ":src_ipc_host",
68    ],
69    hdrs = [
70        ":include_perfetto_base_base",
71        ":include_perfetto_ext_base_base",
72        ":include_perfetto_ext_ipc_ipc",
73        ":include_perfetto_protozero_protozero",
74    ],
75    deps = [
76        ":protos_perfetto_ipc_wire_protocol_cpp",
77        ":src_base_base",
78        ":src_base_unix_socket",
79    ],
80    linkstatic = True,
81)
82
83# GN target: //src/protozero/protoc_plugin:cppgen_plugin
84perfetto_cc_binary(
85    name = "cppgen_plugin",
86    srcs = [
87        "src/protozero/protoc_plugin/cppgen_plugin.cc",
88    ],
89    deps = [
90        ":src_base_base",
91    ] + PERFETTO_CONFIG.deps.protoc_lib,
92)
93
94# GN target: //src/protozero/protoc_plugin:protozero_plugin
95perfetto_cc_binary(
96    name = "protozero_plugin",
97    srcs = [
98        "src/protozero/protoc_plugin/protozero_plugin.cc",
99    ],
100    deps = [
101        ":src_base_base",
102    ] + PERFETTO_CONFIG.deps.protoc_lib,
103)
104
105# GN target: //src/protozero:protozero
106perfetto_cc_library(
107    name = "protozero",
108    srcs = [
109        "src/protozero/field.cc",
110        "src/protozero/message.cc",
111        "src/protozero/message_arena.cc",
112        "src/protozero/message_handle.cc",
113        "src/protozero/packed_repeated_fields.cc",
114        "src/protozero/proto_decoder.cc",
115        "src/protozero/scattered_heap_buffer.cc",
116        "src/protozero/scattered_stream_null_delegate.cc",
117        "src/protozero/scattered_stream_writer.cc",
118        "src/protozero/static_buffer.cc",
119        "src/protozero/virtual_destructors.cc",
120    ],
121    hdrs = [
122        ":include_perfetto_base_base",
123        ":include_perfetto_protozero_protozero",
124    ],
125    deps = [
126        ":src_base_base",
127    ],
128    linkstatic = True,
129)
130
131# GN target: //test:client_api_example
132perfetto_cc_binary(
133    name = "client_api_example",
134    srcs = [
135        ":include_perfetto_base_base",
136        ":include_perfetto_protozero_protozero",
137        ":include_perfetto_tracing_core_forward_decls",
138        ":include_perfetto_tracing_tracing",
139        "test/client_api_example.cc",
140    ],
141    deps = [
142        ":libperfetto_client_experimental",
143        ":protos_perfetto_common_cpp",
144        ":protos_perfetto_common_zero",
145        ":protos_perfetto_config_android_zero",
146        ":protos_perfetto_config_ftrace_zero",
147        ":protos_perfetto_config_gpu_zero",
148        ":protos_perfetto_config_inode_file_zero",
149        ":protos_perfetto_config_interceptors_zero",
150        ":protos_perfetto_config_power_zero",
151        ":protos_perfetto_config_process_stats_zero",
152        ":protos_perfetto_config_profiling_zero",
153        ":protos_perfetto_config_sys_stats_zero",
154        ":protos_perfetto_config_track_event_cpp",
155        ":protos_perfetto_config_track_event_zero",
156        ":protos_perfetto_config_zero",
157        ":protos_perfetto_trace_android_zero",
158        ":protos_perfetto_trace_chrome_zero",
159        ":protos_perfetto_trace_filesystem_zero",
160        ":protos_perfetto_trace_ftrace_zero",
161        ":protos_perfetto_trace_gpu_zero",
162        ":protos_perfetto_trace_interned_data_zero",
163        ":protos_perfetto_trace_minimal_zero",
164        ":protos_perfetto_trace_non_minimal_zero",
165        ":protos_perfetto_trace_perfetto_zero",
166        ":protos_perfetto_trace_power_zero",
167        ":protos_perfetto_trace_profiling_zero",
168        ":protos_perfetto_trace_ps_zero",
169        ":protos_perfetto_trace_sys_stats_zero",
170        ":protos_perfetto_trace_system_info_zero",
171        ":protos_perfetto_trace_track_event_cpp",
172        ":protos_perfetto_trace_track_event_zero",
173        ":protos_perfetto_trace_translation_zero",
174    ],
175)
176
177# GN target: //tools/proto_filter:proto_filter
178perfetto_cc_binary(
179    name = "proto_filter",
180    srcs = [
181        ":src_protozero_filtering_bytecode_common",
182        ":src_protozero_filtering_bytecode_generator",
183        ":src_protozero_filtering_bytecode_parser",
184        ":src_protozero_filtering_filter_util",
185        ":src_protozero_filtering_message_filter",
186        "tools/proto_filter/proto_filter.cc",
187    ],
188    deps = [
189        ":protozero",
190        ":src_base_base",
191    ] + PERFETTO_CONFIG.deps.protobuf_full,
192)
193
194# GN target: //tools/proto_merger:proto_merger
195perfetto_cc_binary(
196    name = "proto_merger",
197    srcs = [
198        "tools/proto_merger/allowlist.cc",
199        "tools/proto_merger/allowlist.h",
200        "tools/proto_merger/main.cc",
201        "tools/proto_merger/proto_file.cc",
202        "tools/proto_merger/proto_file.h",
203        "tools/proto_merger/proto_file_serializer.cc",
204        "tools/proto_merger/proto_file_serializer.h",
205        "tools/proto_merger/proto_merger.cc",
206        "tools/proto_merger/proto_merger.h",
207    ],
208    deps = [
209        ":src_base_base",
210    ] + PERFETTO_CONFIG.deps.protobuf_full,
211)
212
213# GN target: //:libperfetto
214perfetto_cc_library(
215    name = "libperfetto",
216    srcs = [
217        ":src_android_internal_headers",
218        ":src_android_internal_lazy_library_loader",
219        ":src_android_stats_android_stats",
220        ":src_android_stats_perfetto_atoms",
221        ":src_kallsyms_kallsyms",
222        ":src_protozero_filtering_bytecode_common",
223        ":src_protozero_filtering_bytecode_parser",
224        ":src_protozero_filtering_message_filter",
225        ":src_traced_probes_android_log_android_log",
226        ":src_traced_probes_android_system_property_android_system_property",
227        ":src_traced_probes_common_common",
228        ":src_traced_probes_data_source",
229        ":src_traced_probes_filesystem_filesystem",
230        ":src_traced_probes_ftrace_format_parser_format_parser",
231        ":src_traced_probes_ftrace_ftrace",
232        ":src_traced_probes_ftrace_ftrace_procfs",
233        ":src_traced_probes_initial_display_state_initial_display_state",
234        ":src_traced_probes_metatrace_metatrace",
235        ":src_traced_probes_packages_list_packages_list",
236        ":src_traced_probes_packages_list_packages_list_parser",
237        ":src_traced_probes_power_power",
238        ":src_traced_probes_probes",
239        ":src_traced_probes_probes_src",
240        ":src_traced_probes_ps_ps",
241        ":src_traced_probes_sys_stats_sys_stats",
242        ":src_traced_probes_system_info_system_info",
243        ":src_traced_service_service",
244        ":src_tracing_common",
245        ":src_tracing_consumer_api_deprecated_consumer_api_deprecated",
246        ":src_tracing_core_core",
247        ":src_tracing_core_service",
248        ":src_tracing_ipc_common",
249        ":src_tracing_ipc_consumer_consumer",
250        ":src_tracing_ipc_default_socket",
251        ":src_tracing_ipc_producer_producer",
252        ":src_tracing_ipc_service_service",
253    ],
254    hdrs = [
255        ":include_perfetto_base_base",
256        ":include_perfetto_ext_base_base",
257        ":include_perfetto_ext_ipc_ipc",
258        ":include_perfetto_ext_traced_sys_stats_counters",
259        ":include_perfetto_ext_traced_traced",
260        ":include_perfetto_ext_tracing_core_core",
261        ":include_perfetto_ext_tracing_ipc_ipc",
262        ":include_perfetto_protozero_protozero",
263        ":include_perfetto_public_public",
264        ":include_perfetto_tracing_core_core",
265        ":include_perfetto_tracing_core_forward_decls",
266        ":include_perfetto_tracing_tracing",
267    ],
268    deps = [
269        ":perfetto_ipc",
270        ":protos_perfetto_common_cpp",
271        ":protos_perfetto_common_zero",
272        ":protos_perfetto_config_android_cpp",
273        ":protos_perfetto_config_android_zero",
274        ":protos_perfetto_config_cpp",
275        ":protos_perfetto_config_ftrace_cpp",
276        ":protos_perfetto_config_ftrace_zero",
277        ":protos_perfetto_config_gpu_cpp",
278        ":protos_perfetto_config_gpu_zero",
279        ":protos_perfetto_config_inode_file_cpp",
280        ":protos_perfetto_config_inode_file_zero",
281        ":protos_perfetto_config_interceptors_cpp",
282        ":protos_perfetto_config_interceptors_zero",
283        ":protos_perfetto_config_power_cpp",
284        ":protos_perfetto_config_power_zero",
285        ":protos_perfetto_config_process_stats_cpp",
286        ":protos_perfetto_config_process_stats_zero",
287        ":protos_perfetto_config_profiling_cpp",
288        ":protos_perfetto_config_profiling_zero",
289        ":protos_perfetto_config_sys_stats_cpp",
290        ":protos_perfetto_config_sys_stats_zero",
291        ":protos_perfetto_config_track_event_cpp",
292        ":protos_perfetto_config_track_event_zero",
293        ":protos_perfetto_config_zero",
294        ":protos_perfetto_ipc_cpp",
295        ":protos_perfetto_ipc_ipc",
296        ":protos_perfetto_trace_android_zero",
297        ":protos_perfetto_trace_chrome_zero",
298        ":protos_perfetto_trace_filesystem_zero",
299        ":protos_perfetto_trace_ftrace_zero",
300        ":protos_perfetto_trace_gpu_zero",
301        ":protos_perfetto_trace_interned_data_zero",
302        ":protos_perfetto_trace_minimal_zero",
303        ":protos_perfetto_trace_non_minimal_zero",
304        ":protos_perfetto_trace_perfetto_zero",
305        ":protos_perfetto_trace_power_zero",
306        ":protos_perfetto_trace_profiling_zero",
307        ":protos_perfetto_trace_ps_zero",
308        ":protos_perfetto_trace_sys_stats_zero",
309        ":protos_perfetto_trace_system_info_zero",
310        ":protos_perfetto_trace_track_event_cpp",
311        ":protos_perfetto_trace_track_event_zero",
312        ":protos_perfetto_trace_translation_zero",
313        ":protozero",
314        ":src_base_base",
315    ],
316    linkstatic = True,
317)
318
319# GN target: //include/perfetto/base:base
320perfetto_filegroup(
321    name = "include_perfetto_base_base",
322    srcs = [
323        "include/perfetto/base/build_config.h",
324        "include/perfetto/base/compiler.h",
325        "include/perfetto/base/export.h",
326        "include/perfetto/base/flat_set.h",
327        "include/perfetto/base/logging.h",
328        "include/perfetto/base/platform_handle.h",
329        "include/perfetto/base/proc_utils.h",
330        "include/perfetto/base/status.h",
331        "include/perfetto/base/task_runner.h",
332        "include/perfetto/base/template_util.h",
333        "include/perfetto/base/thread_utils.h",
334        "include/perfetto/base/time.h",
335    ],
336)
337
338# GN target: //include/perfetto/ext/base/http:http
339perfetto_filegroup(
340    name = "include_perfetto_ext_base_http_http",
341    srcs = [
342        "include/perfetto/ext/base/http/http_server.h",
343        "include/perfetto/ext/base/http/sha1.h",
344    ],
345)
346
347# GN target: //include/perfetto/ext/base:base
348perfetto_filegroup(
349    name = "include_perfetto_ext_base_base",
350    srcs = [
351        "include/perfetto/ext/base/android_utils.h",
352        "include/perfetto/ext/base/base64.h",
353        "include/perfetto/ext/base/circular_queue.h",
354        "include/perfetto/ext/base/container_annotations.h",
355        "include/perfetto/ext/base/crash_keys.h",
356        "include/perfetto/ext/base/ctrl_c_handler.h",
357        "include/perfetto/ext/base/endian.h",
358        "include/perfetto/ext/base/event_fd.h",
359        "include/perfetto/ext/base/file_utils.h",
360        "include/perfetto/ext/base/flat_hash_map.h",
361        "include/perfetto/ext/base/getopt.h",
362        "include/perfetto/ext/base/getopt_compat.h",
363        "include/perfetto/ext/base/hash.h",
364        "include/perfetto/ext/base/metatrace.h",
365        "include/perfetto/ext/base/metatrace_events.h",
366        "include/perfetto/ext/base/no_destructor.h",
367        "include/perfetto/ext/base/optional.h",
368        "include/perfetto/ext/base/paged_memory.h",
369        "include/perfetto/ext/base/periodic_task.h",
370        "include/perfetto/ext/base/pipe.h",
371        "include/perfetto/ext/base/scoped_file.h",
372        "include/perfetto/ext/base/small_set.h",
373        "include/perfetto/ext/base/small_vector.h",
374        "include/perfetto/ext/base/string_splitter.h",
375        "include/perfetto/ext/base/string_utils.h",
376        "include/perfetto/ext/base/string_view.h",
377        "include/perfetto/ext/base/string_writer.h",
378        "include/perfetto/ext/base/subprocess.h",
379        "include/perfetto/ext/base/sys_types.h",
380        "include/perfetto/ext/base/temp_file.h",
381        "include/perfetto/ext/base/thread_annotations.h",
382        "include/perfetto/ext/base/thread_checker.h",
383        "include/perfetto/ext/base/thread_task_runner.h",
384        "include/perfetto/ext/base/thread_utils.h",
385        "include/perfetto/ext/base/unix_socket.h",
386        "include/perfetto/ext/base/unix_task_runner.h",
387        "include/perfetto/ext/base/utils.h",
388        "include/perfetto/ext/base/uuid.h",
389        "include/perfetto/ext/base/version.h",
390        "include/perfetto/ext/base/waitable_event.h",
391        "include/perfetto/ext/base/watchdog.h",
392        "include/perfetto/ext/base/watchdog_noop.h",
393        "include/perfetto/ext/base/watchdog_posix.h",
394        "include/perfetto/ext/base/weak_ptr.h",
395    ],
396)
397
398# GN target: //include/perfetto/ext/ipc:ipc
399perfetto_filegroup(
400    name = "include_perfetto_ext_ipc_ipc",
401    srcs = [
402        "include/perfetto/ext/ipc/async_result.h",
403        "include/perfetto/ext/ipc/basic_types.h",
404        "include/perfetto/ext/ipc/client.h",
405        "include/perfetto/ext/ipc/client_info.h",
406        "include/perfetto/ext/ipc/codegen_helpers.h",
407        "include/perfetto/ext/ipc/deferred.h",
408        "include/perfetto/ext/ipc/host.h",
409        "include/perfetto/ext/ipc/service.h",
410        "include/perfetto/ext/ipc/service_descriptor.h",
411        "include/perfetto/ext/ipc/service_proxy.h",
412    ],
413)
414
415# GN target: //include/perfetto/ext/trace_processor/importers/memory_tracker:memory_tracker
416perfetto_filegroup(
417    name = "include_perfetto_ext_trace_processor_importers_memory_tracker_memory_tracker",
418    srcs = [
419        "include/perfetto/ext/trace_processor/importers/memory_tracker/graph.h",
420        "include/perfetto/ext/trace_processor/importers/memory_tracker/graph_processor.h",
421        "include/perfetto/ext/trace_processor/importers/memory_tracker/memory_allocator_node_id.h",
422        "include/perfetto/ext/trace_processor/importers/memory_tracker/memory_graph_edge.h",
423        "include/perfetto/ext/trace_processor/importers/memory_tracker/raw_memory_graph_node.h",
424        "include/perfetto/ext/trace_processor/importers/memory_tracker/raw_process_memory_node.h",
425    ],
426)
427
428# GN target: //include/perfetto/ext/trace_processor:demangle
429perfetto_filegroup(
430    name = "include_perfetto_ext_trace_processor_demangle",
431    srcs = [
432        "include/perfetto/ext/trace_processor/demangle.h",
433    ],
434)
435
436# GN target: //include/perfetto/ext/trace_processor:export_json
437perfetto_filegroup(
438    name = "include_perfetto_ext_trace_processor_export_json",
439    srcs = [
440        "include/perfetto/ext/trace_processor/export_json.h",
441    ],
442)
443
444# GN target: //include/perfetto/ext/traced:sys_stats_counters
445perfetto_filegroup(
446    name = "include_perfetto_ext_traced_sys_stats_counters",
447    srcs = [
448        "include/perfetto/ext/traced/sys_stats_counters.h",
449    ],
450)
451
452# GN target: //include/perfetto/ext/traced:traced
453perfetto_filegroup(
454    name = "include_perfetto_ext_traced_traced",
455    srcs = [
456        "include/perfetto/ext/traced/data_source_types.h",
457        "include/perfetto/ext/traced/traced.h",
458    ],
459)
460
461# GN target: //include/perfetto/ext/tracing/core:core
462perfetto_filegroup(
463    name = "include_perfetto_ext_tracing_core_core",
464    srcs = [
465        "include/perfetto/ext/tracing/core/basic_types.h",
466        "include/perfetto/ext/tracing/core/commit_data_request.h",
467        "include/perfetto/ext/tracing/core/consumer.h",
468        "include/perfetto/ext/tracing/core/observable_events.h",
469        "include/perfetto/ext/tracing/core/producer.h",
470        "include/perfetto/ext/tracing/core/shared_memory.h",
471        "include/perfetto/ext/tracing/core/shared_memory_abi.h",
472        "include/perfetto/ext/tracing/core/shared_memory_arbiter.h",
473        "include/perfetto/ext/tracing/core/slice.h",
474        "include/perfetto/ext/tracing/core/trace_packet.h",
475        "include/perfetto/ext/tracing/core/trace_stats.h",
476        "include/perfetto/ext/tracing/core/trace_writer.h",
477        "include/perfetto/ext/tracing/core/tracing_service.h",
478    ],
479)
480
481# GN target: //include/perfetto/ext/tracing/ipc:ipc
482perfetto_filegroup(
483    name = "include_perfetto_ext_tracing_ipc_ipc",
484    srcs = [
485        "include/perfetto/ext/tracing/ipc/consumer_ipc_client.h",
486        "include/perfetto/ext/tracing/ipc/default_socket.h",
487        "include/perfetto/ext/tracing/ipc/producer_ipc_client.h",
488        "include/perfetto/ext/tracing/ipc/service_ipc_host.h",
489    ],
490)
491
492# GN target: //include/perfetto/profiling:pprof_builder
493perfetto_filegroup(
494    name = "include_perfetto_profiling_pprof_builder",
495    srcs = [
496        "include/perfetto/profiling/pprof_builder.h",
497    ],
498)
499
500# GN target: //include/perfetto/protozero:protozero
501perfetto_filegroup(
502    name = "include_perfetto_protozero_protozero",
503    srcs = [
504        "include/perfetto/protozero/contiguous_memory_range.h",
505        "include/perfetto/protozero/copyable_ptr.h",
506        "include/perfetto/protozero/cpp_message_obj.h",
507        "include/perfetto/protozero/field.h",
508        "include/perfetto/protozero/field_writer.h",
509        "include/perfetto/protozero/message.h",
510        "include/perfetto/protozero/message_arena.h",
511        "include/perfetto/protozero/message_handle.h",
512        "include/perfetto/protozero/packed_repeated_fields.h",
513        "include/perfetto/protozero/proto_decoder.h",
514        "include/perfetto/protozero/proto_utils.h",
515        "include/perfetto/protozero/root_message.h",
516        "include/perfetto/protozero/scattered_heap_buffer.h",
517        "include/perfetto/protozero/scattered_stream_null_delegate.h",
518        "include/perfetto/protozero/scattered_stream_writer.h",
519        "include/perfetto/protozero/static_buffer.h",
520    ],
521)
522
523# GN target: //include/perfetto/public:public
524perfetto_filegroup(
525    name = "include_perfetto_public_public",
526    srcs = [
527        "include/perfetto/public/consumer_api.h",
528    ],
529)
530
531# GN target: //include/perfetto/trace_processor:basic_types
532perfetto_filegroup(
533    name = "include_perfetto_trace_processor_basic_types",
534    srcs = [
535        "include/perfetto/trace_processor/basic_types.h",
536        "include/perfetto/trace_processor/status.h",
537    ],
538)
539
540# GN target: //include/perfetto/trace_processor:storage
541perfetto_filegroup(
542    name = "include_perfetto_trace_processor_storage",
543    srcs = [
544        "include/perfetto/trace_processor/trace_blob.h",
545        "include/perfetto/trace_processor/trace_blob_view.h",
546        "include/perfetto/trace_processor/trace_processor_storage.h",
547    ],
548)
549
550# GN target: //include/perfetto/trace_processor:trace_processor
551perfetto_filegroup(
552    name = "include_perfetto_trace_processor_trace_processor",
553    srcs = [
554        "include/perfetto/trace_processor/iterator.h",
555        "include/perfetto/trace_processor/read_trace.h",
556        "include/perfetto/trace_processor/ref_counted.h",
557        "include/perfetto/trace_processor/trace_processor.h",
558    ],
559)
560
561# GN target: //include/perfetto/tracing/core:core
562perfetto_filegroup(
563    name = "include_perfetto_tracing_core_core",
564    srcs = [
565        "include/perfetto/tracing/core/chrome_config.h",
566        "include/perfetto/tracing/core/data_source_config.h",
567        "include/perfetto/tracing/core/data_source_descriptor.h",
568        "include/perfetto/tracing/core/trace_config.h",
569        "include/perfetto/tracing/core/tracing_service_capabilities.h",
570        "include/perfetto/tracing/core/tracing_service_state.h",
571    ],
572)
573
574# GN target: //include/perfetto/tracing/core:forward_decls
575perfetto_filegroup(
576    name = "include_perfetto_tracing_core_forward_decls",
577    srcs = [
578        "include/perfetto/tracing/core/forward_decls.h",
579    ],
580)
581
582# GN target: //include/perfetto/tracing:tracing
583perfetto_filegroup(
584    name = "include_perfetto_tracing_tracing",
585    srcs = [
586        "include/perfetto/tracing/backend_type.h",
587        "include/perfetto/tracing/buffer_exhausted_policy.h",
588        "include/perfetto/tracing/console_interceptor.h",
589        "include/perfetto/tracing/data_source.h",
590        "include/perfetto/tracing/debug_annotation.h",
591        "include/perfetto/tracing/event_context.h",
592        "include/perfetto/tracing/interceptor.h",
593        "include/perfetto/tracing/internal/basic_types.h",
594        "include/perfetto/tracing/internal/checked_scope.h",
595        "include/perfetto/tracing/internal/compile_time_hash.h",
596        "include/perfetto/tracing/internal/data_source_internal.h",
597        "include/perfetto/tracing/internal/in_process_tracing_backend.h",
598        "include/perfetto/tracing/internal/interceptor_trace_writer.h",
599        "include/perfetto/tracing/internal/system_tracing_backend.h",
600        "include/perfetto/tracing/internal/tracing_backend_fake.h",
601        "include/perfetto/tracing/internal/tracing_muxer.h",
602        "include/perfetto/tracing/internal/tracing_tls.h",
603        "include/perfetto/tracing/internal/track_event_data_source.h",
604        "include/perfetto/tracing/internal/track_event_internal.h",
605        "include/perfetto/tracing/internal/track_event_interned_fields.h",
606        "include/perfetto/tracing/internal/track_event_macros.h",
607        "include/perfetto/tracing/internal/write_track_event_args.h",
608        "include/perfetto/tracing/locked_handle.h",
609        "include/perfetto/tracing/platform.h",
610        "include/perfetto/tracing/string_helpers.h",
611        "include/perfetto/tracing/trace_writer_base.h",
612        "include/perfetto/tracing/traced_proto.h",
613        "include/perfetto/tracing/traced_value.h",
614        "include/perfetto/tracing/traced_value_forward.h",
615        "include/perfetto/tracing/tracing.h",
616        "include/perfetto/tracing/tracing_backend.h",
617        "include/perfetto/tracing/tracing_policy.h",
618        "include/perfetto/tracing/track.h",
619        "include/perfetto/tracing/track_event.h",
620        "include/perfetto/tracing/track_event_args.h",
621        "include/perfetto/tracing/track_event_category_registry.h",
622        "include/perfetto/tracing/track_event_interned_data_index.h",
623        "include/perfetto/tracing/track_event_legacy.h",
624        "include/perfetto/tracing/track_event_state_tracker.h",
625    ],
626)
627
628# GN target: //src/android_internal:headers
629perfetto_filegroup(
630    name = "src_android_internal_headers",
631    srcs = [
632        "src/android_internal/atrace_hal.h",
633        "src/android_internal/health_hal.h",
634        "src/android_internal/incident_service.h",
635        "src/android_internal/power_stats.h",
636        "src/android_internal/statsd_logging.h",
637        "src/android_internal/tracing_service_proxy.h",
638    ],
639)
640
641# GN target: //src/android_internal:lazy_library_loader
642perfetto_filegroup(
643    name = "src_android_internal_lazy_library_loader",
644    srcs = [
645        "src/android_internal/lazy_library_loader.cc",
646        "src/android_internal/lazy_library_loader.h",
647    ],
648)
649
650# GN target: //src/android_stats:android_stats
651perfetto_filegroup(
652    name = "src_android_stats_android_stats",
653    srcs = [
654        "src/android_stats/statsd_logging_helper.cc",
655        "src/android_stats/statsd_logging_helper.h",
656    ],
657)
658
659# GN target: //src/android_stats:perfetto_atoms
660perfetto_filegroup(
661    name = "src_android_stats_perfetto_atoms",
662    srcs = [
663        "src/android_stats/perfetto_atoms.h",
664    ],
665)
666
667# GN target: //src/base/http:http
668perfetto_cc_library(
669    name = "src_base_http_http",
670    srcs = [
671        "src/base/http/http_server.cc",
672        "src/base/http/sha1.cc",
673    ],
674    hdrs = [
675        ":include_perfetto_base_base",
676        ":include_perfetto_ext_base_base",
677        ":include_perfetto_ext_base_http_http",
678    ],
679    deps = [
680        ":src_base_base",
681        ":src_base_unix_socket",
682    ],
683    linkstatic = True,
684)
685
686# GN target: //src/base:base
687perfetto_cc_library(
688    name = "src_base_base",
689    srcs = [
690        "src/base/android_utils.cc",
691        "src/base/base64.cc",
692        "src/base/crash_keys.cc",
693        "src/base/ctrl_c_handler.cc",
694        "src/base/event_fd.cc",
695        "src/base/file_utils.cc",
696        "src/base/getopt_compat.cc",
697        "src/base/log_ring_buffer.h",
698        "src/base/logging.cc",
699        "src/base/metatrace.cc",
700        "src/base/paged_memory.cc",
701        "src/base/periodic_task.cc",
702        "src/base/pipe.cc",
703        "src/base/status.cc",
704        "src/base/string_splitter.cc",
705        "src/base/string_utils.cc",
706        "src/base/string_view.cc",
707        "src/base/subprocess.cc",
708        "src/base/subprocess_posix.cc",
709        "src/base/subprocess_windows.cc",
710        "src/base/temp_file.cc",
711        "src/base/thread_checker.cc",
712        "src/base/thread_task_runner.cc",
713        "src/base/time.cc",
714        "src/base/unix_task_runner.cc",
715        "src/base/utils.cc",
716        "src/base/uuid.cc",
717        "src/base/version.cc",
718        "src/base/virtual_destructors.cc",
719        "src/base/waitable_event.cc",
720        "src/base/watchdog_posix.cc",
721    ],
722    hdrs = [
723        ":include_perfetto_base_base",
724        ":include_perfetto_ext_base_base",
725    ],
726    deps = [
727    ] + PERFETTO_CONFIG.deps.version_header,
728    linkstatic = True,
729)
730
731# GN target: //src/base:unix_socket
732perfetto_cc_library(
733    name = "src_base_unix_socket",
734    srcs = [
735        "src/base/unix_socket.cc",
736    ],
737    hdrs = [
738        ":include_perfetto_base_base",
739        ":include_perfetto_ext_base_base",
740    ],
741    linkstatic = True,
742)
743
744perfetto_genrule(
745    name = "src_base_version_gen_h",
746    srcs = [
747        "CHANGELOG",
748    ],
749    outs = [
750        "perfetto_version.gen.h",
751    ],
752    cmd = "$(location gen_version_header_py) --cpp_out=$@ --changelog=$(location CHANGELOG)",
753    exec_tools = [
754        ":gen_version_header_py",
755    ],
756)
757
758# GN target: //src/ipc:client
759perfetto_filegroup(
760    name = "src_ipc_client",
761    srcs = [
762        "src/ipc/client_impl.cc",
763        "src/ipc/client_impl.h",
764        "src/ipc/service_proxy.cc",
765    ],
766)
767
768# GN target: //src/ipc:common
769perfetto_filegroup(
770    name = "src_ipc_common",
771    srcs = [
772        "src/ipc/buffered_frame_deserializer.cc",
773        "src/ipc/buffered_frame_deserializer.h",
774        "src/ipc/deferred.cc",
775        "src/ipc/virtual_destructors.cc",
776    ],
777)
778
779# GN target: //src/ipc:host
780perfetto_filegroup(
781    name = "src_ipc_host",
782    srcs = [
783        "src/ipc/host_impl.cc",
784        "src/ipc/host_impl.h",
785    ],
786)
787
788# GN target: //src/kallsyms:kallsyms
789perfetto_filegroup(
790    name = "src_kallsyms_kallsyms",
791    srcs = [
792        "src/kallsyms/kernel_symbol_map.cc",
793        "src/kallsyms/kernel_symbol_map.h",
794        "src/kallsyms/lazy_kernel_symbolizer.cc",
795        "src/kallsyms/lazy_kernel_symbolizer.h",
796    ],
797)
798
799perfetto_cc_proto_descriptor(
800    name = "src_perfetto_cmd_gen_cc_config_descriptor",
801    deps = [
802        ":protos_perfetto_config_descriptor",
803    ],
804    outs = [
805        "src/perfetto_cmd/config.descriptor.h",
806    ],
807)
808
809# GN target: //src/perfetto_cmd:perfetto_cmd
810perfetto_filegroup(
811    name = "src_perfetto_cmd_perfetto_cmd",
812    srcs = [
813        "src/perfetto_cmd/config.cc",
814        "src/perfetto_cmd/config.h",
815        "src/perfetto_cmd/packet_writer.cc",
816        "src/perfetto_cmd/packet_writer.h",
817        "src/perfetto_cmd/pbtxt_to_pb.cc",
818        "src/perfetto_cmd/pbtxt_to_pb.h",
819        "src/perfetto_cmd/perfetto_cmd.cc",
820        "src/perfetto_cmd/perfetto_cmd.h",
821        "src/perfetto_cmd/rate_limiter.cc",
822        "src/perfetto_cmd/rate_limiter.h",
823    ],
824)
825
826# GN target: //src/perfetto_cmd:trigger_producer
827perfetto_filegroup(
828    name = "src_perfetto_cmd_trigger_producer",
829    srcs = [
830        "src/perfetto_cmd/trigger_producer.cc",
831        "src/perfetto_cmd/trigger_producer.h",
832    ],
833)
834
835# GN target: //src/profiling/symbolizer:symbolize_database
836perfetto_filegroup(
837    name = "src_profiling_symbolizer_symbolize_database",
838    srcs = [
839        "src/profiling/symbolizer/symbolize_database.cc",
840        "src/profiling/symbolizer/symbolize_database.h",
841    ],
842)
843
844# GN target: //src/profiling/symbolizer:symbolizer
845perfetto_filegroup(
846    name = "src_profiling_symbolizer_symbolizer",
847    srcs = [
848        "src/profiling/symbolizer/breakpad_parser.cc",
849        "src/profiling/symbolizer/breakpad_parser.h",
850        "src/profiling/symbolizer/breakpad_symbolizer.cc",
851        "src/profiling/symbolizer/breakpad_symbolizer.h",
852        "src/profiling/symbolizer/elf.h",
853        "src/profiling/symbolizer/local_symbolizer.cc",
854        "src/profiling/symbolizer/local_symbolizer.h",
855        "src/profiling/symbolizer/scoped_read_mmap.h",
856        "src/profiling/symbolizer/scoped_read_mmap_posix.cc",
857        "src/profiling/symbolizer/scoped_read_mmap_windows.cc",
858        "src/profiling/symbolizer/subprocess.h",
859        "src/profiling/symbolizer/subprocess_posix.cc",
860        "src/profiling/symbolizer/subprocess_windows.cc",
861        "src/profiling/symbolizer/symbolizer.cc",
862        "src/profiling/symbolizer/symbolizer.h",
863    ],
864)
865
866# GN target: //src/profiling:deobfuscator
867perfetto_filegroup(
868    name = "src_profiling_deobfuscator",
869    srcs = [
870        "src/profiling/deobfuscator.cc",
871        "src/profiling/deobfuscator.h",
872    ],
873)
874
875# GN target: //src/protozero/filtering:bytecode_common
876perfetto_filegroup(
877    name = "src_protozero_filtering_bytecode_common",
878    srcs = [
879        "src/protozero/filtering/filter_bytecode_common.h",
880    ],
881)
882
883# GN target: //src/protozero/filtering:bytecode_generator
884perfetto_filegroup(
885    name = "src_protozero_filtering_bytecode_generator",
886    srcs = [
887        "src/protozero/filtering/filter_bytecode_generator.cc",
888        "src/protozero/filtering/filter_bytecode_generator.h",
889    ],
890)
891
892# GN target: //src/protozero/filtering:bytecode_parser
893perfetto_filegroup(
894    name = "src_protozero_filtering_bytecode_parser",
895    srcs = [
896        "src/protozero/filtering/filter_bytecode_parser.cc",
897        "src/protozero/filtering/filter_bytecode_parser.h",
898    ],
899)
900
901# GN target: //src/protozero/filtering:filter_util
902perfetto_filegroup(
903    name = "src_protozero_filtering_filter_util",
904    srcs = [
905        "src/protozero/filtering/filter_util.cc",
906        "src/protozero/filtering/filter_util.h",
907    ],
908)
909
910# GN target: //src/protozero/filtering:message_filter
911perfetto_filegroup(
912    name = "src_protozero_filtering_message_filter",
913    srcs = [
914        "src/protozero/filtering/message_filter.cc",
915        "src/protozero/filtering/message_filter.h",
916        "src/protozero/filtering/message_tokenizer.h",
917    ],
918)
919
920# GN target: //src/protozero:proto_ring_buffer
921perfetto_filegroup(
922    name = "src_protozero_proto_ring_buffer",
923    srcs = [
924        "src/protozero/proto_ring_buffer.cc",
925        "src/protozero/proto_ring_buffer.h",
926    ],
927)
928
929# GN target: //src/trace_processor/analysis:analysis
930perfetto_filegroup(
931    name = "src_trace_processor_analysis_analysis",
932    srcs = [
933        "src/trace_processor/analysis/describe_slice.cc",
934        "src/trace_processor/analysis/describe_slice.h",
935    ],
936)
937
938# GN target: //src/trace_processor/containers:containers
939perfetto_cc_library(
940    name = "src_trace_processor_containers_containers",
941    srcs = [
942        "src/trace_processor/containers/bit_vector.cc",
943        "src/trace_processor/containers/bit_vector_iterators.cc",
944        "src/trace_processor/containers/nullable_vector.cc",
945        "src/trace_processor/containers/row_map.cc",
946        "src/trace_processor/containers/string_pool.cc",
947    ],
948    hdrs = [
949        ":include_perfetto_base_base",
950        ":include_perfetto_protozero_protozero",
951        "src/trace_processor/containers/bit_vector.h",
952        "src/trace_processor/containers/bit_vector_iterators.h",
953        "src/trace_processor/containers/null_term_string_view.h",
954        "src/trace_processor/containers/nullable_vector.h",
955        "src/trace_processor/containers/row_map.h",
956        "src/trace_processor/containers/string_pool.h",
957    ],
958    deps = [
959        ":src_base_base",
960    ],
961    linkstatic = True,
962)
963
964# GN target: //src/trace_processor/db:db
965perfetto_filegroup(
966    name = "src_trace_processor_db_db",
967    srcs = [
968        "src/trace_processor/db/column.cc",
969        "src/trace_processor/db/column.h",
970        "src/trace_processor/db/compare.h",
971        "src/trace_processor/db/table.cc",
972        "src/trace_processor/db/table.h",
973        "src/trace_processor/db/typed_column.h",
974        "src/trace_processor/db/typed_column_internal.h",
975    ],
976)
977
978# GN target: //src/trace_processor/importers/common:common
979perfetto_filegroup(
980    name = "src_trace_processor_importers_common_common",
981    srcs = [
982        "src/trace_processor/importers/common/args_tracker.cc",
983        "src/trace_processor/importers/common/args_tracker.h",
984        "src/trace_processor/importers/common/args_translation_table.cc",
985        "src/trace_processor/importers/common/args_translation_table.h",
986        "src/trace_processor/importers/common/chunked_trace_reader.h",
987        "src/trace_processor/importers/common/clock_tracker.cc",
988        "src/trace_processor/importers/common/clock_tracker.h",
989        "src/trace_processor/importers/common/event_tracker.cc",
990        "src/trace_processor/importers/common/event_tracker.h",
991        "src/trace_processor/importers/common/flow_tracker.cc",
992        "src/trace_processor/importers/common/flow_tracker.h",
993        "src/trace_processor/importers/common/global_args_tracker.cc",
994        "src/trace_processor/importers/common/global_args_tracker.h",
995        "src/trace_processor/importers/common/process_tracker.cc",
996        "src/trace_processor/importers/common/process_tracker.h",
997        "src/trace_processor/importers/common/slice_tracker.cc",
998        "src/trace_processor/importers/common/slice_tracker.h",
999        "src/trace_processor/importers/common/slice_translation_table.cc",
1000        "src/trace_processor/importers/common/slice_translation_table.h",
1001        "src/trace_processor/importers/common/system_info_tracker.cc",
1002        "src/trace_processor/importers/common/system_info_tracker.h",
1003        "src/trace_processor/importers/common/trace_parser.h",
1004        "src/trace_processor/importers/common/track_tracker.cc",
1005        "src/trace_processor/importers/common/track_tracker.h",
1006    ],
1007)
1008
1009# GN target: //src/trace_processor/importers/memory_tracker:graph_processor
1010perfetto_filegroup(
1011    name = "src_trace_processor_importers_memory_tracker_graph_processor",
1012    srcs = [
1013        "src/trace_processor/importers/memory_tracker/graph.cc",
1014        "src/trace_processor/importers/memory_tracker/graph_processor.cc",
1015        "src/trace_processor/importers/memory_tracker/memory_allocator_node_id.cc",
1016        "src/trace_processor/importers/memory_tracker/raw_memory_graph_node.cc",
1017        "src/trace_processor/importers/memory_tracker/raw_process_memory_node.cc",
1018    ],
1019)
1020
1021perfetto_cc_proto_descriptor(
1022    name = "src_trace_processor_importers_gen_cc_chrome_track_event_descriptor",
1023    deps = [
1024        ":protos_third_party_chromium_descriptor",
1025    ],
1026    outs = [
1027        "src/trace_processor/importers/chrome_track_event.descriptor.h",
1028    ],
1029)
1030
1031perfetto_cc_proto_descriptor(
1032    name = "src_trace_processor_importers_gen_cc_config_descriptor",
1033    deps = [
1034        ":protos_perfetto_config_descriptor",
1035    ],
1036    outs = [
1037        "src/trace_processor/importers/config.descriptor.h",
1038    ],
1039)
1040
1041perfetto_cc_proto_descriptor(
1042    name = "src_trace_processor_importers_gen_cc_track_event_descriptor",
1043    deps = [
1044        ":protos_perfetto_trace_track_event_descriptor",
1045    ],
1046    outs = [
1047        "src/trace_processor/importers/track_event.descriptor.h",
1048    ],
1049)
1050
1051perfetto_genrule(
1052    name = "src_trace_processor_metrics_sql_gen_amalgamated_sql_metrics",
1053    srcs = [
1054        "src/trace_processor/metrics/sql/android/android_batt.sql",
1055        "src/trace_processor/metrics/sql/android/android_camera.sql",
1056        "src/trace_processor/metrics/sql/android/android_camera_unagg.sql",
1057        "src/trace_processor/metrics/sql/android/android_cpu.sql",
1058        "src/trace_processor/metrics/sql/android/android_cpu_agg.sql",
1059        "src/trace_processor/metrics/sql/android/android_cpu_raw_metrics_per_core.sql",
1060        "src/trace_processor/metrics/sql/android/android_dma_heap.sql",
1061        "src/trace_processor/metrics/sql/android/android_dvfs.sql",
1062        "src/trace_processor/metrics/sql/android/android_fastrpc.sql",
1063        "src/trace_processor/metrics/sql/android/android_gpu.sql",
1064        "src/trace_processor/metrics/sql/android/android_hwcomposer.sql",
1065        "src/trace_processor/metrics/sql/android/android_hwui_metric.sql",
1066        "src/trace_processor/metrics/sql/android/android_hwui_threads.sql",
1067        "src/trace_processor/metrics/sql/android/android_ion.sql",
1068        "src/trace_processor/metrics/sql/android/android_irq_runtime.sql",
1069        "src/trace_processor/metrics/sql/android/android_jank.sql",
1070        "src/trace_processor/metrics/sql/android/android_lmk.sql",
1071        "src/trace_processor/metrics/sql/android/android_lmk_reason.sql",
1072        "src/trace_processor/metrics/sql/android/android_mem.sql",
1073        "src/trace_processor/metrics/sql/android/android_mem_unagg.sql",
1074        "src/trace_processor/metrics/sql/android/android_multiuser.sql",
1075        "src/trace_processor/metrics/sql/android/android_multiuser_populator.sql",
1076        "src/trace_processor/metrics/sql/android/android_netperf.sql",
1077        "src/trace_processor/metrics/sql/android/android_other_traces.sql",
1078        "src/trace_processor/metrics/sql/android/android_package_list.sql",
1079        "src/trace_processor/metrics/sql/android/android_powrails.sql",
1080        "src/trace_processor/metrics/sql/android/android_proxy_power.sql",
1081        "src/trace_processor/metrics/sql/android/android_rt_runtime.sql",
1082        "src/trace_processor/metrics/sql/android/android_simpleperf.sql",
1083        "src/trace_processor/metrics/sql/android/android_startup.sql",
1084        "src/trace_processor/metrics/sql/android/android_surfaceflinger.sql",
1085        "src/trace_processor/metrics/sql/android/android_sysui_cuj.sql",
1086        "src/trace_processor/metrics/sql/android/android_sysui_cuj_jank_query.sql",
1087        "src/trace_processor/metrics/sql/android/android_sysui_cuj_surfaceflinger.sql",
1088        "src/trace_processor/metrics/sql/android/android_task_names.sql",
1089        "src/trace_processor/metrics/sql/android/android_thread_time_in_state.sql",
1090        "src/trace_processor/metrics/sql/android/android_trace_quality.sql",
1091        "src/trace_processor/metrics/sql/android/android_trusty_workqueues.sql",
1092        "src/trace_processor/metrics/sql/android/composer_execution.sql",
1093        "src/trace_processor/metrics/sql/android/composition_layers.sql",
1094        "src/trace_processor/metrics/sql/android/cpu_info.sql",
1095        "src/trace_processor/metrics/sql/android/display_metrics.sql",
1096        "src/trace_processor/metrics/sql/android/frame_missed.sql",
1097        "src/trace_processor/metrics/sql/android/g2d.sql",
1098        "src/trace_processor/metrics/sql/android/g2d_duration.sql",
1099        "src/trace_processor/metrics/sql/android/global_counter_span_view.sql",
1100        "src/trace_processor/metrics/sql/android/gpu_counter_span_view.sql",
1101        "src/trace_processor/metrics/sql/android/java_heap_histogram.sql",
1102        "src/trace_processor/metrics/sql/android/java_heap_stats.sql",
1103        "src/trace_processor/metrics/sql/android/mem_stats_priority_breakdown.sql",
1104        "src/trace_processor/metrics/sql/android/power_drain_in_watts.sql",
1105        "src/trace_processor/metrics/sql/android/power_profile_data.sql",
1106        "src/trace_processor/metrics/sql/android/process_counter_span_view.sql",
1107        "src/trace_processor/metrics/sql/android/process_mem.sql",
1108        "src/trace_processor/metrics/sql/android/process_metadata.sql",
1109        "src/trace_processor/metrics/sql/android/process_oom_score.sql",
1110        "src/trace_processor/metrics/sql/android/process_unagg_mem_view.sql",
1111        "src/trace_processor/metrics/sql/android/profiler_smaps.sql",
1112        "src/trace_processor/metrics/sql/android/span_view_stats.sql",
1113        "src/trace_processor/metrics/sql/android/startup/hsc.sql",
1114        "src/trace_processor/metrics/sql/android/startup/launches.sql",
1115        "src/trace_processor/metrics/sql/android/startup/launches_maxsdk28.sql",
1116        "src/trace_processor/metrics/sql/android/startup/launches_minsdk29.sql",
1117        "src/trace_processor/metrics/sql/android/startup/launches_minsdk33.sql",
1118        "src/trace_processor/metrics/sql/android/thread_counter_span_view.sql",
1119        "src/trace_processor/metrics/sql/android/unsymbolized_frames.sql",
1120        "src/trace_processor/metrics/sql/chrome/actual_power_by_category.sql",
1121        "src/trace_processor/metrics/sql/chrome/actual_power_by_rail_mode.sql",
1122        "src/trace_processor/metrics/sql/chrome/chrome_event_metadata.sql",
1123        "src/trace_processor/metrics/sql/chrome/chrome_histogram_hashes.sql",
1124        "src/trace_processor/metrics/sql/chrome/chrome_performance_mark_hashes.sql",
1125        "src/trace_processor/metrics/sql/chrome/chrome_processes.sql",
1126        "src/trace_processor/metrics/sql/chrome/chrome_slice_names.sql",
1127        "src/trace_processor/metrics/sql/chrome/chrome_thread_slice.sql",
1128        "src/trace_processor/metrics/sql/chrome/chrome_user_event_hashes.sql",
1129        "src/trace_processor/metrics/sql/chrome/cpu_time_by_category.sql",
1130        "src/trace_processor/metrics/sql/chrome/cpu_time_by_rail_mode.sql",
1131        "src/trace_processor/metrics/sql/chrome/estimated_power_by_category.sql",
1132        "src/trace_processor/metrics/sql/chrome/estimated_power_by_rail_mode.sql",
1133        "src/trace_processor/metrics/sql/chrome/gesture_flow_event.sql",
1134        "src/trace_processor/metrics/sql/chrome/gesture_flow_event_queuing_delay.sql",
1135        "src/trace_processor/metrics/sql/chrome/gesture_jank.sql",
1136        "src/trace_processor/metrics/sql/chrome/jank_utilities.sql",
1137        "src/trace_processor/metrics/sql/chrome/rail_modes.sql",
1138        "src/trace_processor/metrics/sql/chrome/scroll_flow_event.sql",
1139        "src/trace_processor/metrics/sql/chrome/scroll_flow_event_queuing_delay.sql",
1140        "src/trace_processor/metrics/sql/chrome/scroll_jank.sql",
1141        "src/trace_processor/metrics/sql/chrome/scroll_jank_cause.sql",
1142        "src/trace_processor/metrics/sql/chrome/scroll_jank_cause_blocking_task.sql",
1143        "src/trace_processor/metrics/sql/chrome/scroll_jank_cause_blocking_touch_move.sql",
1144        "src/trace_processor/metrics/sql/chrome/scroll_jank_cause_get_bitmap.sql",
1145        "src/trace_processor/metrics/sql/chrome/scroll_jank_cause_queuing_delay.sql",
1146        "src/trace_processor/metrics/sql/chrome/sufficient_chrome_processes.sql",
1147        "src/trace_processor/metrics/sql/chrome/test_chrome_metric.sql",
1148        "src/trace_processor/metrics/sql/chrome/touch_flow_event.sql",
1149        "src/trace_processor/metrics/sql/chrome/touch_flow_event_queuing_delay.sql",
1150        "src/trace_processor/metrics/sql/chrome/touch_jank.sql",
1151        "src/trace_processor/metrics/sql/experimental/blink_gc_metric.sql",
1152        "src/trace_processor/metrics/sql/experimental/chrome_dropped_frames.sql",
1153        "src/trace_processor/metrics/sql/experimental/chrome_long_latency.sql",
1154        "src/trace_processor/metrics/sql/experimental/frame_times.sql",
1155        "src/trace_processor/metrics/sql/experimental/media_metric.sql",
1156        "src/trace_processor/metrics/sql/experimental/reported_by_page.sql",
1157        "src/trace_processor/metrics/sql/trace_metadata.sql",
1158        "src/trace_processor/metrics/sql/trace_stats.sql",
1159        "src/trace_processor/metrics/sql/webview/webview_power_usage.sql",
1160    ],
1161    outs = [
1162        "src/trace_processor/metrics/sql/amalgamated_sql_metrics.h",
1163    ],
1164    cmd = "$(location gen_amalgamated_sql_metrics_py) --cpp_out=$@ $(SRCS)",
1165    exec_tools = [
1166        ":gen_amalgamated_sql_metrics_py",
1167    ],
1168)
1169
1170perfetto_cc_proto_descriptor(
1171    name = "src_trace_processor_metrics_gen_cc_all_chrome_metrics_descriptor",
1172    deps = [
1173        ":protos_perfetto_metrics_chrome_descriptor",
1174    ],
1175    outs = [
1176        "src/trace_processor/metrics/all_chrome_metrics.descriptor.h",
1177    ],
1178)
1179
1180perfetto_cc_proto_descriptor(
1181    name = "src_trace_processor_metrics_gen_cc_metrics_descriptor",
1182    deps = [
1183        ":protos_perfetto_metrics_descriptor",
1184    ],
1185    outs = [
1186        "src/trace_processor/metrics/metrics.descriptor.h",
1187    ],
1188)
1189
1190# GN target: //src/trace_processor/metrics:metrics
1191perfetto_filegroup(
1192    name = "src_trace_processor_metrics_metrics",
1193    srcs = [
1194        "src/trace_processor/metrics/metrics.cc",
1195        "src/trace_processor/metrics/metrics.h",
1196    ],
1197)
1198
1199# GN target: //src/trace_processor/rpc:httpd
1200perfetto_filegroup(
1201    name = "src_trace_processor_rpc_httpd",
1202    srcs = [
1203        "src/trace_processor/rpc/httpd.cc",
1204        "src/trace_processor/rpc/httpd.h",
1205    ],
1206)
1207
1208# GN target: //src/trace_processor/rpc:rpc
1209perfetto_filegroup(
1210    name = "src_trace_processor_rpc_rpc",
1211    srcs = [
1212        "src/trace_processor/rpc/query_result_serializer.cc",
1213        "src/trace_processor/rpc/query_result_serializer.h",
1214        "src/trace_processor/rpc/rpc.cc",
1215        "src/trace_processor/rpc/rpc.h",
1216    ],
1217)
1218
1219# GN target: //src/trace_processor/sqlite:sqlite
1220perfetto_filegroup(
1221    name = "src_trace_processor_sqlite_sqlite",
1222    srcs = [
1223        "src/trace_processor/sqlite/create_function.cc",
1224        "src/trace_processor/sqlite/create_function.h",
1225        "src/trace_processor/sqlite/create_function_internal.cc",
1226        "src/trace_processor/sqlite/create_function_internal.h",
1227        "src/trace_processor/sqlite/create_view_function.cc",
1228        "src/trace_processor/sqlite/create_view_function.h",
1229        "src/trace_processor/sqlite/db_sqlite_table.cc",
1230        "src/trace_processor/sqlite/db_sqlite_table.h",
1231        "src/trace_processor/sqlite/query_cache.h",
1232        "src/trace_processor/sqlite/query_constraints.cc",
1233        "src/trace_processor/sqlite/query_constraints.h",
1234        "src/trace_processor/sqlite/register_function.cc",
1235        "src/trace_processor/sqlite/register_function.h",
1236        "src/trace_processor/sqlite/scoped_db.h",
1237        "src/trace_processor/sqlite/span_join_operator_table.cc",
1238        "src/trace_processor/sqlite/span_join_operator_table.h",
1239        "src/trace_processor/sqlite/sql_stats_table.cc",
1240        "src/trace_processor/sqlite/sql_stats_table.h",
1241        "src/trace_processor/sqlite/sqlite3_str_split.cc",
1242        "src/trace_processor/sqlite/sqlite3_str_split.h",
1243        "src/trace_processor/sqlite/sqlite_raw_table.cc",
1244        "src/trace_processor/sqlite/sqlite_raw_table.h",
1245        "src/trace_processor/sqlite/sqlite_table.cc",
1246        "src/trace_processor/sqlite/sqlite_table.h",
1247        "src/trace_processor/sqlite/sqlite_utils.h",
1248        "src/trace_processor/sqlite/stats_table.cc",
1249        "src/trace_processor/sqlite/stats_table.h",
1250        "src/trace_processor/sqlite/window_operator_table.cc",
1251        "src/trace_processor/sqlite/window_operator_table.h",
1252    ],
1253)
1254
1255# GN target: //src/trace_processor/storage:storage
1256perfetto_filegroup(
1257    name = "src_trace_processor_storage_storage",
1258    srcs = [
1259        "src/trace_processor/storage/metadata.h",
1260        "src/trace_processor/storage/stats.h",
1261        "src/trace_processor/storage/trace_storage.cc",
1262        "src/trace_processor/storage/trace_storage.h",
1263    ],
1264)
1265
1266# GN target: //src/trace_processor/tables:tables
1267perfetto_filegroup(
1268    name = "src_trace_processor_tables_tables",
1269    srcs = [
1270        "src/trace_processor/tables/android_tables.h",
1271        "src/trace_processor/tables/counter_tables.h",
1272        "src/trace_processor/tables/flow_tables.h",
1273        "src/trace_processor/tables/macros.h",
1274        "src/trace_processor/tables/macros_internal.h",
1275        "src/trace_processor/tables/memory_tables.h",
1276        "src/trace_processor/tables/metadata_tables.h",
1277        "src/trace_processor/tables/profiler_tables.h",
1278        "src/trace_processor/tables/slice_tables.h",
1279        "src/trace_processor/tables/table_destructors.cc",
1280        "src/trace_processor/tables/track_tables.h",
1281    ],
1282)
1283
1284# GN target: //src/trace_processor/types:types
1285perfetto_filegroup(
1286    name = "src_trace_processor_types_types",
1287    srcs = [
1288        "src/trace_processor/types/destructible.cc",
1289        "src/trace_processor/types/destructible.h",
1290        "src/trace_processor/types/gfp_flags.cc",
1291        "src/trace_processor/types/gfp_flags.h",
1292        "src/trace_processor/types/softirq_action.h",
1293        "src/trace_processor/types/task_state.cc",
1294        "src/trace_processor/types/task_state.h",
1295        "src/trace_processor/types/tcp_state.h",
1296        "src/trace_processor/types/trace_processor_context.h",
1297        "src/trace_processor/types/variadic.cc",
1298        "src/trace_processor/types/variadic.h",
1299        "src/trace_processor/types/version_number.h",
1300    ],
1301)
1302
1303# GN target: //src/trace_processor/util:descriptors
1304perfetto_filegroup(
1305    name = "src_trace_processor_util_descriptors",
1306    srcs = [
1307        "src/trace_processor/util/descriptors.cc",
1308        "src/trace_processor/util/descriptors.h",
1309    ],
1310)
1311
1312# GN target: //src/trace_processor/util:gzip
1313perfetto_filegroup(
1314    name = "src_trace_processor_util_gzip",
1315    srcs = [
1316        "src/trace_processor/util/gzip_utils.cc",
1317        "src/trace_processor/util/gzip_utils.h",
1318    ],
1319)
1320
1321# GN target: //src/trace_processor/util:interned_message_view
1322perfetto_filegroup(
1323    name = "src_trace_processor_util_interned_message_view",
1324    srcs = [
1325        "src/trace_processor/util/interned_message_view.h",
1326    ],
1327)
1328
1329# GN target: //src/trace_processor/util:proto_to_args_parser
1330perfetto_filegroup(
1331    name = "src_trace_processor_util_proto_to_args_parser",
1332    srcs = [
1333        "src/trace_processor/util/debug_annotation_parser.cc",
1334        "src/trace_processor/util/debug_annotation_parser.h",
1335        "src/trace_processor/util/proto_to_args_parser.cc",
1336        "src/trace_processor/util/proto_to_args_parser.h",
1337    ],
1338)
1339
1340# GN target: //src/trace_processor/util:protozero_to_text
1341perfetto_filegroup(
1342    name = "src_trace_processor_util_protozero_to_text",
1343    srcs = [
1344        "src/trace_processor/util/protozero_to_text.cc",
1345        "src/trace_processor/util/protozero_to_text.h",
1346    ],
1347)
1348
1349# GN target: //src/trace_processor/util:util
1350perfetto_filegroup(
1351    name = "src_trace_processor_util_util",
1352    srcs = [
1353        "src/trace_processor/util/status_macros.h",
1354    ],
1355)
1356
1357# GN target: //src/trace_processor:demangle
1358perfetto_cc_library(
1359    name = "src_trace_processor_demangle",
1360    srcs = [
1361        "src/trace_processor/demangle.cc",
1362    ],
1363    hdrs = [
1364        ":include_perfetto_base_base",
1365        ":include_perfetto_ext_base_base",
1366        ":include_perfetto_ext_trace_processor_demangle",
1367    ],
1368    deps = [
1369    ] + PERFETTO_CONFIG.deps.llvm_demangle,
1370    linkstatic = True,
1371)
1372
1373# GN target: //src/trace_processor:export_json
1374perfetto_filegroup(
1375    name = "src_trace_processor_export_json",
1376    srcs = [
1377        "src/trace_processor/export_json.cc",
1378        "src/trace_processor/export_json.h",
1379    ],
1380)
1381
1382# GN target: //src/trace_processor:ftrace_descriptors
1383perfetto_filegroup(
1384    name = "src_trace_processor_ftrace_descriptors",
1385    srcs = [
1386        "src/trace_processor/importers/ftrace/ftrace_descriptors.cc",
1387        "src/trace_processor/importers/ftrace/ftrace_descriptors.h",
1388    ],
1389)
1390
1391# GN target: //src/trace_processor:lib
1392perfetto_filegroup(
1393    name = "src_trace_processor_lib",
1394    srcs = [
1395        "src/trace_processor/dynamic/ancestor_generator.cc",
1396        "src/trace_processor/dynamic/ancestor_generator.h",
1397        "src/trace_processor/dynamic/connected_flow_generator.cc",
1398        "src/trace_processor/dynamic/connected_flow_generator.h",
1399        "src/trace_processor/dynamic/descendant_generator.cc",
1400        "src/trace_processor/dynamic/descendant_generator.h",
1401        "src/trace_processor/dynamic/describe_slice_generator.cc",
1402        "src/trace_processor/dynamic/describe_slice_generator.h",
1403        "src/trace_processor/dynamic/experimental_annotated_stack_generator.cc",
1404        "src/trace_processor/dynamic/experimental_annotated_stack_generator.h",
1405        "src/trace_processor/dynamic/experimental_counter_dur_generator.cc",
1406        "src/trace_processor/dynamic/experimental_counter_dur_generator.h",
1407        "src/trace_processor/dynamic/experimental_flamegraph_generator.cc",
1408        "src/trace_processor/dynamic/experimental_flamegraph_generator.h",
1409        "src/trace_processor/dynamic/experimental_flat_slice_generator.cc",
1410        "src/trace_processor/dynamic/experimental_flat_slice_generator.h",
1411        "src/trace_processor/dynamic/experimental_sched_upid_generator.cc",
1412        "src/trace_processor/dynamic/experimental_sched_upid_generator.h",
1413        "src/trace_processor/dynamic/experimental_slice_layout_generator.cc",
1414        "src/trace_processor/dynamic/experimental_slice_layout_generator.h",
1415        "src/trace_processor/dynamic/thread_state_generator.cc",
1416        "src/trace_processor/dynamic/thread_state_generator.h",
1417        "src/trace_processor/iterator_impl.cc",
1418        "src/trace_processor/iterator_impl.h",
1419        "src/trace_processor/read_trace.cc",
1420        "src/trace_processor/trace_processor.cc",
1421        "src/trace_processor/trace_processor_impl.cc",
1422        "src/trace_processor/trace_processor_impl.h",
1423    ],
1424)
1425
1426# GN target: //src/trace_processor:metatrace
1427perfetto_filegroup(
1428    name = "src_trace_processor_metatrace",
1429    srcs = [
1430        "src/trace_processor/tp_metatrace.cc",
1431        "src/trace_processor/tp_metatrace.h",
1432    ],
1433)
1434
1435# GN target: //src/trace_processor:storage_full
1436perfetto_filegroup(
1437    name = "src_trace_processor_storage_full",
1438    srcs = [
1439        "src/trace_processor/importers/additional_modules.cc",
1440        "src/trace_processor/importers/additional_modules.h",
1441        "src/trace_processor/importers/ftrace/binder_tracker.cc",
1442        "src/trace_processor/importers/ftrace/binder_tracker.h",
1443        "src/trace_processor/importers/ftrace/ftrace_module_impl.cc",
1444        "src/trace_processor/importers/ftrace/ftrace_module_impl.h",
1445        "src/trace_processor/importers/ftrace/ftrace_parser.cc",
1446        "src/trace_processor/importers/ftrace/ftrace_parser.h",
1447        "src/trace_processor/importers/ftrace/ftrace_tokenizer.cc",
1448        "src/trace_processor/importers/ftrace/ftrace_tokenizer.h",
1449        "src/trace_processor/importers/ftrace/rss_stat_tracker.cc",
1450        "src/trace_processor/importers/ftrace/rss_stat_tracker.h",
1451        "src/trace_processor/importers/ftrace/sched_event_tracker.cc",
1452        "src/trace_processor/importers/ftrace/sched_event_tracker.h",
1453        "src/trace_processor/importers/fuchsia/fuchsia_record.cc",
1454        "src/trace_processor/importers/fuchsia/fuchsia_trace_parser.cc",
1455        "src/trace_processor/importers/fuchsia/fuchsia_trace_parser.h",
1456        "src/trace_processor/importers/fuchsia/fuchsia_trace_tokenizer.cc",
1457        "src/trace_processor/importers/fuchsia/fuchsia_trace_tokenizer.h",
1458        "src/trace_processor/importers/fuchsia/fuchsia_trace_utils.cc",
1459        "src/trace_processor/importers/gzip/gzip_trace_parser.cc",
1460        "src/trace_processor/importers/gzip/gzip_trace_parser.h",
1461        "src/trace_processor/importers/json/json_trace_parser.cc",
1462        "src/trace_processor/importers/json/json_trace_parser.h",
1463        "src/trace_processor/importers/json/json_trace_tokenizer.cc",
1464        "src/trace_processor/importers/json/json_trace_tokenizer.h",
1465        "src/trace_processor/importers/proto/android_probes_module.cc",
1466        "src/trace_processor/importers/proto/android_probes_module.h",
1467        "src/trace_processor/importers/proto/android_probes_parser.cc",
1468        "src/trace_processor/importers/proto/android_probes_parser.h",
1469        "src/trace_processor/importers/proto/android_probes_tracker.cc",
1470        "src/trace_processor/importers/proto/android_probes_tracker.h",
1471        "src/trace_processor/importers/proto/frame_timeline_event_parser.cc",
1472        "src/trace_processor/importers/proto/frame_timeline_event_parser.h",
1473        "src/trace_processor/importers/proto/gpu_event_parser.cc",
1474        "src/trace_processor/importers/proto/gpu_event_parser.h",
1475        "src/trace_processor/importers/proto/graphics_event_module.cc",
1476        "src/trace_processor/importers/proto/graphics_event_module.h",
1477        "src/trace_processor/importers/proto/graphics_frame_event_parser.cc",
1478        "src/trace_processor/importers/proto/graphics_frame_event_parser.h",
1479        "src/trace_processor/importers/proto/heap_graph_module.cc",
1480        "src/trace_processor/importers/proto/heap_graph_module.h",
1481        "src/trace_processor/importers/proto/heap_graph_tracker.cc",
1482        "src/trace_processor/importers/proto/heap_graph_tracker.h",
1483        "src/trace_processor/importers/proto/system_probes_module.cc",
1484        "src/trace_processor/importers/proto/system_probes_module.h",
1485        "src/trace_processor/importers/proto/system_probes_parser.cc",
1486        "src/trace_processor/importers/proto/system_probes_parser.h",
1487        "src/trace_processor/importers/proto/vulkan_memory_tracker.cc",
1488        "src/trace_processor/importers/proto/vulkan_memory_tracker.h",
1489        "src/trace_processor/importers/syscalls/syscall_tracker.cc",
1490        "src/trace_processor/importers/syscalls/syscalls_aarch32.h",
1491        "src/trace_processor/importers/syscalls/syscalls_aarch64.h",
1492        "src/trace_processor/importers/syscalls/syscalls_armeabi.h",
1493        "src/trace_processor/importers/syscalls/syscalls_x86.h",
1494        "src/trace_processor/importers/syscalls/syscalls_x86_64.h",
1495        "src/trace_processor/importers/systrace/systrace_line_parser.cc",
1496        "src/trace_processor/importers/systrace/systrace_line_parser.h",
1497        "src/trace_processor/importers/systrace/systrace_line_tokenizer.cc",
1498        "src/trace_processor/importers/systrace/systrace_line_tokenizer.h",
1499        "src/trace_processor/importers/systrace/systrace_parser.cc",
1500        "src/trace_processor/importers/systrace/systrace_parser.h",
1501        "src/trace_processor/importers/systrace/systrace_trace_parser.cc",
1502        "src/trace_processor/importers/systrace/systrace_trace_parser.h",
1503    ],
1504)
1505
1506# GN target: //src/trace_processor:storage_minimal
1507perfetto_filegroup(
1508    name = "src_trace_processor_storage_minimal",
1509    srcs = [
1510        "src/trace_processor/forwarding_trace_parser.cc",
1511        "src/trace_processor/forwarding_trace_parser.h",
1512        "src/trace_processor/importers/default_modules.cc",
1513        "src/trace_processor/importers/default_modules.h",
1514        "src/trace_processor/importers/ftrace/ftrace_module.cc",
1515        "src/trace_processor/importers/ftrace/ftrace_module.h",
1516        "src/trace_processor/importers/fuchsia/fuchsia_record.h",
1517        "src/trace_processor/importers/fuchsia/fuchsia_trace_utils.h",
1518        "src/trace_processor/importers/json/json_utils.cc",
1519        "src/trace_processor/importers/json/json_utils.h",
1520        "src/trace_processor/importers/ninja/ninja_log_parser.cc",
1521        "src/trace_processor/importers/ninja/ninja_log_parser.h",
1522        "src/trace_processor/importers/proto/android_camera_event_module.cc",
1523        "src/trace_processor/importers/proto/android_camera_event_module.h",
1524        "src/trace_processor/importers/proto/async_track_set_tracker.cc",
1525        "src/trace_processor/importers/proto/async_track_set_tracker.h",
1526        "src/trace_processor/importers/proto/chrome_string_lookup.cc",
1527        "src/trace_processor/importers/proto/chrome_string_lookup.h",
1528        "src/trace_processor/importers/proto/chrome_system_probes_module.cc",
1529        "src/trace_processor/importers/proto/chrome_system_probes_module.h",
1530        "src/trace_processor/importers/proto/chrome_system_probes_parser.cc",
1531        "src/trace_processor/importers/proto/chrome_system_probes_parser.h",
1532        "src/trace_processor/importers/proto/flamegraph_construction_algorithms.cc",
1533        "src/trace_processor/importers/proto/flamegraph_construction_algorithms.h",
1534        "src/trace_processor/importers/proto/heap_profile_tracker.cc",
1535        "src/trace_processor/importers/proto/heap_profile_tracker.h",
1536        "src/trace_processor/importers/proto/memory_tracker_snapshot_module.cc",
1537        "src/trace_processor/importers/proto/memory_tracker_snapshot_module.h",
1538        "src/trace_processor/importers/proto/memory_tracker_snapshot_parser.cc",
1539        "src/trace_processor/importers/proto/memory_tracker_snapshot_parser.h",
1540        "src/trace_processor/importers/proto/metadata_module.cc",
1541        "src/trace_processor/importers/proto/metadata_module.h",
1542        "src/trace_processor/importers/proto/metadata_tracker.cc",
1543        "src/trace_processor/importers/proto/metadata_tracker.h",
1544        "src/trace_processor/importers/proto/packet_sequence_state.cc",
1545        "src/trace_processor/importers/proto/packet_sequence_state.h",
1546        "src/trace_processor/importers/proto/perf_sample_tracker.cc",
1547        "src/trace_processor/importers/proto/perf_sample_tracker.h",
1548        "src/trace_processor/importers/proto/profile_module.cc",
1549        "src/trace_processor/importers/proto/profile_module.h",
1550        "src/trace_processor/importers/proto/profile_packet_utils.cc",
1551        "src/trace_processor/importers/proto/profile_packet_utils.h",
1552        "src/trace_processor/importers/proto/profiler_util.cc",
1553        "src/trace_processor/importers/proto/profiler_util.h",
1554        "src/trace_processor/importers/proto/proto_importer_module.cc",
1555        "src/trace_processor/importers/proto/proto_importer_module.h",
1556        "src/trace_processor/importers/proto/proto_incremental_state.h",
1557        "src/trace_processor/importers/proto/proto_trace_parser.cc",
1558        "src/trace_processor/importers/proto/proto_trace_parser.h",
1559        "src/trace_processor/importers/proto/proto_trace_reader.cc",
1560        "src/trace_processor/importers/proto/proto_trace_reader.h",
1561        "src/trace_processor/importers/proto/proto_trace_tokenizer.cc",
1562        "src/trace_processor/importers/proto/proto_trace_tokenizer.h",
1563        "src/trace_processor/importers/proto/stack_profile_tracker.cc",
1564        "src/trace_processor/importers/proto/stack_profile_tracker.h",
1565        "src/trace_processor/importers/proto/track_event_module.cc",
1566        "src/trace_processor/importers/proto/track_event_module.h",
1567        "src/trace_processor/importers/proto/track_event_parser.cc",
1568        "src/trace_processor/importers/proto/track_event_parser.h",
1569        "src/trace_processor/importers/proto/track_event_tokenizer.cc",
1570        "src/trace_processor/importers/proto/track_event_tokenizer.h",
1571        "src/trace_processor/importers/proto/track_event_tracker.cc",
1572        "src/trace_processor/importers/proto/track_event_tracker.h",
1573        "src/trace_processor/importers/proto/translation_table_module.cc",
1574        "src/trace_processor/importers/proto/translation_table_module.h",
1575        "src/trace_processor/importers/syscalls/syscall_tracker.h",
1576        "src/trace_processor/importers/systrace/systrace_line.h",
1577        "src/trace_processor/timestamped_trace_piece.h",
1578        "src/trace_processor/trace_blob.cc",
1579        "src/trace_processor/trace_processor_context.cc",
1580        "src/trace_processor/trace_processor_storage.cc",
1581        "src/trace_processor/trace_processor_storage_impl.cc",
1582        "src/trace_processor/trace_processor_storage_impl.h",
1583        "src/trace_processor/trace_sorter.cc",
1584        "src/trace_processor/trace_sorter.h",
1585        "src/trace_processor/virtual_destructors.cc",
1586    ],
1587)
1588
1589# GN target: //src/traced/probes/android_log:android_log
1590perfetto_filegroup(
1591    name = "src_traced_probes_android_log_android_log",
1592    srcs = [
1593        "src/traced/probes/android_log/android_log_data_source.cc",
1594        "src/traced/probes/android_log/android_log_data_source.h",
1595    ],
1596)
1597
1598# GN target: //src/traced/probes/android_system_property:android_system_property
1599perfetto_filegroup(
1600    name = "src_traced_probes_android_system_property_android_system_property",
1601    srcs = [
1602        "src/traced/probes/android_system_property/android_system_property_data_source.cc",
1603        "src/traced/probes/android_system_property/android_system_property_data_source.h",
1604    ],
1605)
1606
1607# GN target: //src/traced/probes/common:common
1608perfetto_filegroup(
1609    name = "src_traced_probes_common_common",
1610    srcs = [
1611        "src/traced/probes/common/cpu_freq_info.cc",
1612        "src/traced/probes/common/cpu_freq_info.h",
1613    ],
1614)
1615
1616# GN target: //src/traced/probes/filesystem:filesystem
1617perfetto_filegroup(
1618    name = "src_traced_probes_filesystem_filesystem",
1619    srcs = [
1620        "src/traced/probes/filesystem/file_scanner.cc",
1621        "src/traced/probes/filesystem/file_scanner.h",
1622        "src/traced/probes/filesystem/fs_mount.cc",
1623        "src/traced/probes/filesystem/fs_mount.h",
1624        "src/traced/probes/filesystem/inode_file_data_source.cc",
1625        "src/traced/probes/filesystem/inode_file_data_source.h",
1626        "src/traced/probes/filesystem/lru_inode_cache.cc",
1627        "src/traced/probes/filesystem/lru_inode_cache.h",
1628        "src/traced/probes/filesystem/prefix_finder.cc",
1629        "src/traced/probes/filesystem/prefix_finder.h",
1630        "src/traced/probes/filesystem/range_tree.cc",
1631        "src/traced/probes/filesystem/range_tree.h",
1632    ],
1633)
1634
1635# GN target: //src/traced/probes/ftrace/format_parser:format_parser
1636perfetto_filegroup(
1637    name = "src_traced_probes_ftrace_format_parser_format_parser",
1638    srcs = [
1639        "src/traced/probes/ftrace/format_parser/format_parser.cc",
1640        "src/traced/probes/ftrace/format_parser/format_parser.h",
1641    ],
1642)
1643
1644# GN target: //src/traced/probes/ftrace:ftrace
1645perfetto_filegroup(
1646    name = "src_traced_probes_ftrace_ftrace",
1647    srcs = [
1648        "src/traced/probes/ftrace/atrace_hal_wrapper.cc",
1649        "src/traced/probes/ftrace/atrace_hal_wrapper.h",
1650        "src/traced/probes/ftrace/atrace_wrapper.cc",
1651        "src/traced/probes/ftrace/atrace_wrapper.h",
1652        "src/traced/probes/ftrace/compact_sched.cc",
1653        "src/traced/probes/ftrace/compact_sched.h",
1654        "src/traced/probes/ftrace/cpu_reader.cc",
1655        "src/traced/probes/ftrace/cpu_reader.h",
1656        "src/traced/probes/ftrace/cpu_stats_parser.cc",
1657        "src/traced/probes/ftrace/cpu_stats_parser.h",
1658        "src/traced/probes/ftrace/discover_vendor_tracepoints.cc",
1659        "src/traced/probes/ftrace/discover_vendor_tracepoints.h",
1660        "src/traced/probes/ftrace/event_info.cc",
1661        "src/traced/probes/ftrace/event_info.h",
1662        "src/traced/probes/ftrace/event_info_constants.cc",
1663        "src/traced/probes/ftrace/event_info_constants.h",
1664        "src/traced/probes/ftrace/ftrace_config_muxer.cc",
1665        "src/traced/probes/ftrace/ftrace_config_muxer.h",
1666        "src/traced/probes/ftrace/ftrace_config_utils.cc",
1667        "src/traced/probes/ftrace/ftrace_config_utils.h",
1668        "src/traced/probes/ftrace/ftrace_controller.cc",
1669        "src/traced/probes/ftrace/ftrace_controller.h",
1670        "src/traced/probes/ftrace/ftrace_data_source.cc",
1671        "src/traced/probes/ftrace/ftrace_data_source.h",
1672        "src/traced/probes/ftrace/ftrace_metadata.h",
1673        "src/traced/probes/ftrace/ftrace_stats.cc",
1674        "src/traced/probes/ftrace/ftrace_stats.h",
1675        "src/traced/probes/ftrace/printk_formats_parser.cc",
1676        "src/traced/probes/ftrace/printk_formats_parser.h",
1677        "src/traced/probes/ftrace/proto_translation_table.cc",
1678        "src/traced/probes/ftrace/proto_translation_table.h",
1679    ],
1680)
1681
1682# GN target: //src/traced/probes/ftrace:ftrace_procfs
1683perfetto_filegroup(
1684    name = "src_traced_probes_ftrace_ftrace_procfs",
1685    srcs = [
1686        "src/traced/probes/ftrace/ftrace_procfs.cc",
1687        "src/traced/probes/ftrace/ftrace_procfs.h",
1688    ],
1689)
1690
1691# GN target: //src/traced/probes/initial_display_state:initial_display_state
1692perfetto_filegroup(
1693    name = "src_traced_probes_initial_display_state_initial_display_state",
1694    srcs = [
1695        "src/traced/probes/initial_display_state/initial_display_state_data_source.cc",
1696        "src/traced/probes/initial_display_state/initial_display_state_data_source.h",
1697    ],
1698)
1699
1700# GN target: //src/traced/probes/metatrace:metatrace
1701perfetto_filegroup(
1702    name = "src_traced_probes_metatrace_metatrace",
1703    srcs = [
1704        "src/traced/probes/metatrace/metatrace_data_source.cc",
1705        "src/traced/probes/metatrace/metatrace_data_source.h",
1706    ],
1707)
1708
1709# GN target: //src/traced/probes/packages_list:packages_list
1710perfetto_filegroup(
1711    name = "src_traced_probes_packages_list_packages_list",
1712    srcs = [
1713        "src/traced/probes/packages_list/packages_list_data_source.cc",
1714        "src/traced/probes/packages_list/packages_list_data_source.h",
1715    ],
1716)
1717
1718# GN target: //src/traced/probes/packages_list:packages_list_parser
1719perfetto_filegroup(
1720    name = "src_traced_probes_packages_list_packages_list_parser",
1721    srcs = [
1722        "src/traced/probes/packages_list/packages_list_parser.cc",
1723        "src/traced/probes/packages_list/packages_list_parser.h",
1724    ],
1725)
1726
1727# GN target: //src/traced/probes/power:power
1728perfetto_filegroup(
1729    name = "src_traced_probes_power_power",
1730    srcs = [
1731        "src/traced/probes/power/android_power_data_source.cc",
1732        "src/traced/probes/power/android_power_data_source.h",
1733        "src/traced/probes/power/linux_power_sysfs_data_source.cc",
1734        "src/traced/probes/power/linux_power_sysfs_data_source.h",
1735    ],
1736)
1737
1738# GN target: //src/traced/probes/ps:ps
1739perfetto_filegroup(
1740    name = "src_traced_probes_ps_ps",
1741    srcs = [
1742        "src/traced/probes/ps/process_stats_data_source.cc",
1743        "src/traced/probes/ps/process_stats_data_source.h",
1744    ],
1745)
1746
1747# GN target: //src/traced/probes/sys_stats:sys_stats
1748perfetto_filegroup(
1749    name = "src_traced_probes_sys_stats_sys_stats",
1750    srcs = [
1751        "src/traced/probes/sys_stats/sys_stats_data_source.cc",
1752        "src/traced/probes/sys_stats/sys_stats_data_source.h",
1753    ],
1754)
1755
1756# GN target: //src/traced/probes/system_info:system_info
1757perfetto_filegroup(
1758    name = "src_traced_probes_system_info_system_info",
1759    srcs = [
1760        "src/traced/probes/system_info/system_info_data_source.cc",
1761        "src/traced/probes/system_info/system_info_data_source.h",
1762    ],
1763)
1764
1765# GN target: //src/traced/probes:data_source
1766perfetto_filegroup(
1767    name = "src_traced_probes_data_source",
1768    srcs = [
1769        "src/traced/probes/probes_data_source.cc",
1770        "src/traced/probes/probes_data_source.h",
1771    ],
1772)
1773
1774# GN target: //src/traced/probes:probes
1775perfetto_filegroup(
1776    name = "src_traced_probes_probes",
1777    srcs = [
1778        "src/traced/probes/probes.cc",
1779    ],
1780)
1781
1782# GN target: //src/traced/probes:probes_src
1783perfetto_filegroup(
1784    name = "src_traced_probes_probes_src",
1785    srcs = [
1786        "src/traced/probes/kmem_activity_trigger.cc",
1787        "src/traced/probes/kmem_activity_trigger.h",
1788        "src/traced/probes/probes_producer.cc",
1789        "src/traced/probes/probes_producer.h",
1790    ],
1791)
1792
1793# GN target: //src/traced/service:service
1794perfetto_filegroup(
1795    name = "src_traced_service_service",
1796    srcs = [
1797        "src/traced/service/builtin_producer.cc",
1798        "src/traced/service/builtin_producer.h",
1799        "src/traced/service/service.cc",
1800    ],
1801)
1802
1803# GN target: //src/tracing/consumer_api_deprecated:consumer_api_deprecated
1804perfetto_filegroup(
1805    name = "src_tracing_consumer_api_deprecated_consumer_api_deprecated",
1806    srcs = [
1807        "src/tracing/consumer_api_deprecated/consumer_api_deprecated.cc",
1808    ],
1809)
1810
1811# GN target: //src/tracing/core:core
1812perfetto_filegroup(
1813    name = "src_tracing_core_core",
1814    srcs = [
1815        "src/tracing/core/id_allocator.cc",
1816        "src/tracing/core/id_allocator.h",
1817        "src/tracing/core/null_trace_writer.cc",
1818        "src/tracing/core/null_trace_writer.h",
1819        "src/tracing/core/patch_list.h",
1820        "src/tracing/core/shared_memory_abi.cc",
1821        "src/tracing/core/shared_memory_arbiter_impl.cc",
1822        "src/tracing/core/shared_memory_arbiter_impl.h",
1823        "src/tracing/core/trace_packet.cc",
1824        "src/tracing/core/trace_writer_impl.cc",
1825        "src/tracing/core/trace_writer_impl.h",
1826        "src/tracing/core/virtual_destructors.cc",
1827    ],
1828)
1829
1830# GN target: //src/tracing/core:service
1831perfetto_filegroup(
1832    name = "src_tracing_core_service",
1833    srcs = [
1834        "src/tracing/core/metatrace_writer.cc",
1835        "src/tracing/core/metatrace_writer.h",
1836        "src/tracing/core/packet_stream_validator.cc",
1837        "src/tracing/core/packet_stream_validator.h",
1838        "src/tracing/core/trace_buffer.cc",
1839        "src/tracing/core/trace_buffer.h",
1840        "src/tracing/core/tracing_service_impl.cc",
1841        "src/tracing/core/tracing_service_impl.h",
1842    ],
1843)
1844
1845# GN target: //src/tracing/ipc/consumer:consumer
1846perfetto_filegroup(
1847    name = "src_tracing_ipc_consumer_consumer",
1848    srcs = [
1849        "src/tracing/ipc/consumer/consumer_ipc_client_impl.cc",
1850        "src/tracing/ipc/consumer/consumer_ipc_client_impl.h",
1851    ],
1852)
1853
1854# GN target: //src/tracing/ipc/producer:producer
1855perfetto_filegroup(
1856    name = "src_tracing_ipc_producer_producer",
1857    srcs = [
1858        "src/tracing/ipc/producer/producer_ipc_client_impl.cc",
1859        "src/tracing/ipc/producer/producer_ipc_client_impl.h",
1860    ],
1861)
1862
1863# GN target: //src/tracing/ipc/service:service
1864perfetto_filegroup(
1865    name = "src_tracing_ipc_service_service",
1866    srcs = [
1867        "src/tracing/ipc/service/consumer_ipc_service.cc",
1868        "src/tracing/ipc/service/consumer_ipc_service.h",
1869        "src/tracing/ipc/service/producer_ipc_service.cc",
1870        "src/tracing/ipc/service/producer_ipc_service.h",
1871        "src/tracing/ipc/service/service_ipc_host_impl.cc",
1872        "src/tracing/ipc/service/service_ipc_host_impl.h",
1873    ],
1874)
1875
1876# GN target: //src/tracing/ipc:common
1877perfetto_filegroup(
1878    name = "src_tracing_ipc_common",
1879    srcs = [
1880        "src/tracing/ipc/memfd.cc",
1881        "src/tracing/ipc/memfd.h",
1882        "src/tracing/ipc/posix_shared_memory.cc",
1883        "src/tracing/ipc/posix_shared_memory.h",
1884        "src/tracing/ipc/shared_memory_windows.cc",
1885        "src/tracing/ipc/shared_memory_windows.h",
1886    ],
1887)
1888
1889# GN target: //src/tracing/ipc:default_socket
1890perfetto_filegroup(
1891    name = "src_tracing_ipc_default_socket",
1892    srcs = [
1893        "src/tracing/ipc/default_socket.cc",
1894    ],
1895)
1896
1897# GN target: //src/tracing:client_api_without_backends
1898perfetto_filegroup(
1899    name = "src_tracing_client_api_without_backends",
1900    srcs = [
1901        "src/tracing/console_interceptor.cc",
1902        "src/tracing/data_source.cc",
1903        "src/tracing/debug_annotation.cc",
1904        "src/tracing/event_context.cc",
1905        "src/tracing/interceptor.cc",
1906        "src/tracing/internal/checked_scope.cc",
1907        "src/tracing/internal/interceptor_trace_writer.cc",
1908        "src/tracing/internal/tracing_backend_fake.cc",
1909        "src/tracing/internal/tracing_muxer_fake.cc",
1910        "src/tracing/internal/tracing_muxer_fake.h",
1911        "src/tracing/internal/tracing_muxer_impl.cc",
1912        "src/tracing/internal/tracing_muxer_impl.h",
1913        "src/tracing/internal/track_event_internal.cc",
1914        "src/tracing/internal/track_event_interned_fields.cc",
1915        "src/tracing/platform.cc",
1916        "src/tracing/traced_value.cc",
1917        "src/tracing/tracing.cc",
1918        "src/tracing/tracing_policy.cc",
1919        "src/tracing/track.cc",
1920        "src/tracing/track_event_category_registry.cc",
1921        "src/tracing/track_event_legacy.cc",
1922        "src/tracing/track_event_state_tracker.cc",
1923        "src/tracing/virtual_destructors.cc",
1924    ],
1925)
1926
1927# GN target: //src/tracing:common
1928perfetto_filegroup(
1929    name = "src_tracing_common",
1930    srcs = [
1931        "src/tracing/trace_writer_base.cc",
1932    ],
1933)
1934
1935# GN target: //src/tracing:in_process_backend
1936perfetto_filegroup(
1937    name = "src_tracing_in_process_backend",
1938    srcs = [
1939        "src/tracing/internal/in_process_tracing_backend.cc",
1940    ],
1941)
1942
1943# GN target: //src/tracing:platform_impl
1944perfetto_filegroup(
1945    name = "src_tracing_platform_impl",
1946    srcs = [
1947        "src/tracing/platform_posix.cc",
1948        "src/tracing/platform_windows.cc",
1949    ],
1950)
1951
1952# GN target: //src/tracing:system_backend
1953perfetto_filegroup(
1954    name = "src_tracing_system_backend",
1955    srcs = [
1956        "src/tracing/internal/system_tracing_backend.cc",
1957    ],
1958)
1959
1960perfetto_cc_proto_descriptor(
1961    name = "tools_trace_to_text_gen_cc_trace_descriptor",
1962    deps = [
1963        ":protos_perfetto_trace_descriptor",
1964    ],
1965    outs = [
1966        "tools/trace_to_text/trace.descriptor.h",
1967    ],
1968)
1969
1970# GN target: //tools/trace_to_text:lib
1971perfetto_filegroup(
1972    name = "tools_trace_to_text_lib",
1973    srcs = [
1974        "tools/trace_to_text/deobfuscate_profile.cc",
1975        "tools/trace_to_text/deobfuscate_profile.h",
1976        "tools/trace_to_text/symbolize_profile.cc",
1977        "tools/trace_to_text/symbolize_profile.h",
1978        "tools/trace_to_text/trace_to_hprof.cc",
1979        "tools/trace_to_text/trace_to_hprof.h",
1980        "tools/trace_to_text/trace_to_json.cc",
1981        "tools/trace_to_text/trace_to_json.h",
1982        "tools/trace_to_text/trace_to_profile.cc",
1983        "tools/trace_to_text/trace_to_profile.h",
1984        "tools/trace_to_text/trace_to_systrace.cc",
1985        "tools/trace_to_text/trace_to_systrace.h",
1986        "tools/trace_to_text/trace_to_text.cc",
1987        "tools/trace_to_text/trace_to_text.h",
1988    ],
1989)
1990
1991# GN target: //tools/trace_to_text:main
1992perfetto_filegroup(
1993    name = "tools_trace_to_text_main",
1994    srcs = [
1995        "tools/trace_to_text/main.cc",
1996    ],
1997)
1998
1999# GN target: //tools/trace_to_text:pprofbuilder
2000perfetto_filegroup(
2001    name = "tools_trace_to_text_pprofbuilder",
2002    srcs = [
2003        "tools/trace_to_text/pprof_builder.cc",
2004    ],
2005)
2006
2007# GN target: //tools/trace_to_text:utils
2008perfetto_filegroup(
2009    name = "tools_trace_to_text_utils",
2010    srcs = [
2011        "tools/trace_to_text/utils.cc",
2012        "tools/trace_to_text/utils.h",
2013    ],
2014)
2015
2016# ##############################################################################
2017# Proto libraries
2018# ##############################################################################
2019
2020# GN target: [//protos/perfetto/config:source_set]
2021perfetto_proto_library(
2022    name = "config_proto",
2023    visibility = PERFETTO_CONFIG.public_visibility,
2024    deps = [
2025        ":protos_perfetto_common_protos",
2026        ":protos_perfetto_config_android_protos",
2027        ":protos_perfetto_config_ftrace_protos",
2028        ":protos_perfetto_config_gpu_protos",
2029        ":protos_perfetto_config_inode_file_protos",
2030        ":protos_perfetto_config_interceptors_protos",
2031        ":protos_perfetto_config_power_protos",
2032        ":protos_perfetto_config_process_stats_protos",
2033        ":protos_perfetto_config_profiling_protos",
2034        ":protos_perfetto_config_protos",
2035        ":protos_perfetto_config_sys_stats_protos",
2036        ":protos_perfetto_config_track_event_protos",
2037    ],
2038)
2039
2040# GN target: [//protos/perfetto/config:source_set]
2041perfetto_cc_proto_library(
2042    name = "config_cc_proto",
2043    visibility = PERFETTO_CONFIG.public_visibility,
2044    deps = [
2045        ":config_proto",
2046    ],
2047)
2048
2049# GN target: [//protos/perfetto/config:source_set]
2050perfetto_java_proto_library(
2051    name = "config_java_proto",
2052    visibility = PERFETTO_CONFIG.public_visibility,
2053    deps = [
2054        ":config_proto",
2055    ],
2056)
2057
2058# GN target: [//protos/perfetto/config:source_set]
2059perfetto_java_lite_proto_library(
2060    name = "config_java_proto_lite",
2061    visibility = PERFETTO_CONFIG.public_visibility,
2062    deps = [
2063        ":config_proto",
2064    ],
2065)
2066
2067# GN target: [//protos/perfetto/config:source_set]
2068perfetto_py_proto_library(
2069    name = "config_py_pb2",
2070    visibility = PERFETTO_CONFIG.public_visibility,
2071    deps = [
2072        ":config_proto",
2073    ],
2074)
2075
2076# GN target: [//protos/perfetto/trace:non_minimal_source_set, //protos/perfetto/trace:minimal_source_set]
2077perfetto_proto_library(
2078    name = "trace_proto",
2079    visibility = PERFETTO_CONFIG.public_visibility,
2080    deps = [
2081        ":protos_perfetto_common_protos",
2082        ":protos_perfetto_config_android_protos",
2083        ":protos_perfetto_config_ftrace_protos",
2084        ":protos_perfetto_config_gpu_protos",
2085        ":protos_perfetto_config_inode_file_protos",
2086        ":protos_perfetto_config_interceptors_protos",
2087        ":protos_perfetto_config_power_protos",
2088        ":protos_perfetto_config_process_stats_protos",
2089        ":protos_perfetto_config_profiling_protos",
2090        ":protos_perfetto_config_protos",
2091        ":protos_perfetto_config_sys_stats_protos",
2092        ":protos_perfetto_config_track_event_protos",
2093        ":protos_perfetto_trace_android_protos",
2094        ":protos_perfetto_trace_chrome_protos",
2095        ":protos_perfetto_trace_filesystem_protos",
2096        ":protos_perfetto_trace_ftrace_protos",
2097        ":protos_perfetto_trace_gpu_protos",
2098        ":protos_perfetto_trace_interned_data_protos",
2099        ":protos_perfetto_trace_minimal_protos",
2100        ":protos_perfetto_trace_non_minimal_protos",
2101        ":protos_perfetto_trace_perfetto_protos",
2102        ":protos_perfetto_trace_power_protos",
2103        ":protos_perfetto_trace_profiling_protos",
2104        ":protos_perfetto_trace_ps_protos",
2105        ":protos_perfetto_trace_sys_stats_protos",
2106        ":protos_perfetto_trace_system_info_protos",
2107        ":protos_perfetto_trace_track_event_protos",
2108        ":protos_perfetto_trace_translation_protos",
2109    ],
2110)
2111
2112# GN target: [//protos/perfetto/trace:non_minimal_source_set, //protos/perfetto/trace:minimal_source_set]
2113perfetto_cc_proto_library(
2114    name = "trace_cc_proto",
2115    visibility = PERFETTO_CONFIG.public_visibility,
2116    deps = [
2117        ":trace_proto",
2118    ],
2119)
2120
2121# GN target: [//protos/perfetto/trace:non_minimal_source_set, //protos/perfetto/trace:minimal_source_set]
2122perfetto_java_proto_library(
2123    name = "trace_java_proto",
2124    visibility = PERFETTO_CONFIG.public_visibility,
2125    deps = [
2126        ":trace_proto",
2127    ],
2128)
2129
2130# GN target: [//protos/perfetto/trace:non_minimal_source_set, //protos/perfetto/trace:minimal_source_set]
2131perfetto_java_lite_proto_library(
2132    name = "trace_java_proto_lite",
2133    visibility = PERFETTO_CONFIG.public_visibility,
2134    deps = [
2135        ":trace_proto",
2136    ],
2137)
2138
2139# GN target: [//protos/perfetto/trace:non_minimal_source_set, //protos/perfetto/trace:minimal_source_set]
2140perfetto_py_proto_library(
2141    name = "trace_py_pb2",
2142    visibility = PERFETTO_CONFIG.public_visibility,
2143    deps = [
2144        ":trace_proto",
2145    ],
2146)
2147
2148# GN target: [//protos/perfetto/metrics:source_set]
2149perfetto_proto_library(
2150    name = "metrics_proto",
2151    visibility = PERFETTO_CONFIG.public_visibility,
2152    deps = [
2153        ":protos_perfetto_metrics_android_protos",
2154        ":protos_perfetto_metrics_protos",
2155    ],
2156)
2157
2158# GN target: [//protos/perfetto/metrics:source_set]
2159perfetto_cc_proto_library(
2160    name = "metrics_cc_proto",
2161    visibility = PERFETTO_CONFIG.public_visibility,
2162    deps = [
2163        ":metrics_proto",
2164    ],
2165)
2166
2167# GN target: [//protos/perfetto/metrics:source_set]
2168perfetto_java_proto_library(
2169    name = "metrics_java_proto",
2170    visibility = PERFETTO_CONFIG.public_visibility,
2171    deps = [
2172        ":metrics_proto",
2173    ],
2174)
2175
2176# GN target: [//protos/perfetto/metrics:source_set]
2177perfetto_java_lite_proto_library(
2178    name = "metrics_java_proto_lite",
2179    visibility = PERFETTO_CONFIG.public_visibility,
2180    deps = [
2181        ":metrics_proto",
2182    ],
2183)
2184
2185# GN target: [//protos/perfetto/metrics:source_set]
2186perfetto_py_proto_library(
2187    name = "metrics_py_pb2",
2188    visibility = PERFETTO_CONFIG.public_visibility,
2189    deps = [
2190        ":metrics_proto",
2191    ],
2192)
2193
2194# GN target: [//protos/third_party/chromium:source_set]
2195perfetto_proto_library(
2196    name = "chromium_proto",
2197    visibility = PERFETTO_CONFIG.public_visibility,
2198    deps = [
2199        ":protos_perfetto_trace_track_event_protos",
2200        ":protos_third_party_chromium_protos",
2201    ],
2202)
2203
2204# GN target: [//protos/third_party/chromium:source_set]
2205perfetto_cc_proto_library(
2206    name = "chromium_cc_proto",
2207    visibility = PERFETTO_CONFIG.public_visibility,
2208    deps = [
2209        ":chromium_proto",
2210    ],
2211)
2212
2213# GN target: [//protos/third_party/chromium:source_set]
2214perfetto_java_proto_library(
2215    name = "chromium_java_proto",
2216    visibility = PERFETTO_CONFIG.public_visibility,
2217    deps = [
2218        ":chromium_proto",
2219    ],
2220)
2221
2222# GN target: [//protos/third_party/chromium:source_set]
2223perfetto_java_lite_proto_library(
2224    name = "chromium_java_proto_lite",
2225    visibility = PERFETTO_CONFIG.public_visibility,
2226    deps = [
2227        ":chromium_proto",
2228    ],
2229)
2230
2231# GN target: [//protos/third_party/chromium:source_set]
2232perfetto_py_proto_library(
2233    name = "chromium_py_pb2",
2234    visibility = PERFETTO_CONFIG.public_visibility,
2235    deps = [
2236        ":chromium_proto",
2237    ],
2238)
2239
2240# GN target: [//protos/perfetto/metrics/chrome:source_set]
2241perfetto_proto_library(
2242    name = "chrome_metrics_proto",
2243    visibility = PERFETTO_CONFIG.public_visibility,
2244    deps = [
2245        ":protos_perfetto_metrics_android_protos",
2246        ":protos_perfetto_metrics_chrome_protos",
2247        ":protos_perfetto_metrics_custom_options_protos",
2248        ":protos_perfetto_metrics_protos",
2249    ],
2250)
2251
2252# GN target: [//protos/perfetto/metrics/chrome:source_set]
2253perfetto_cc_proto_library(
2254    name = "chrome_metrics_cc_proto",
2255    visibility = PERFETTO_CONFIG.public_visibility,
2256    deps = [
2257        ":chrome_metrics_proto",
2258    ],
2259)
2260
2261# GN target: [//protos/perfetto/metrics/chrome:source_set]
2262perfetto_java_proto_library(
2263    name = "chrome_metrics_java_proto",
2264    visibility = PERFETTO_CONFIG.public_visibility,
2265    deps = [
2266        ":chrome_metrics_proto",
2267    ],
2268)
2269
2270# GN target: [//protos/perfetto/metrics/chrome:source_set]
2271perfetto_java_lite_proto_library(
2272    name = "chrome_metrics_java_proto_lite",
2273    visibility = PERFETTO_CONFIG.public_visibility,
2274    deps = [
2275        ":chrome_metrics_proto",
2276    ],
2277)
2278
2279# GN target: [//protos/perfetto/metrics/chrome:source_set]
2280perfetto_py_proto_library(
2281    name = "chrome_metrics_py_pb2",
2282    visibility = PERFETTO_CONFIG.public_visibility,
2283    deps = [
2284        ":chrome_metrics_proto",
2285    ],
2286)
2287
2288# GN target: //protos/perfetto/common:cpp
2289perfetto_cc_protocpp_library(
2290    name = "protos_perfetto_common_cpp",
2291    deps = [
2292        ":protos_perfetto_common_protos",
2293    ],
2294)
2295
2296# GN target: //protos/perfetto/common:source_set
2297perfetto_proto_library(
2298    name = "protos_perfetto_common_protos",
2299    srcs = [
2300        "protos/perfetto/common/android_energy_consumer_descriptor.proto",
2301        "protos/perfetto/common/android_log_constants.proto",
2302        "protos/perfetto/common/builtin_clock.proto",
2303        "protos/perfetto/common/commit_data_request.proto",
2304        "protos/perfetto/common/data_source_descriptor.proto",
2305        "protos/perfetto/common/descriptor.proto",
2306        "protos/perfetto/common/ftrace_descriptor.proto",
2307        "protos/perfetto/common/gpu_counter_descriptor.proto",
2308        "protos/perfetto/common/interceptor_descriptor.proto",
2309        "protos/perfetto/common/observable_events.proto",
2310        "protos/perfetto/common/perf_events.proto",
2311        "protos/perfetto/common/sys_stats_counters.proto",
2312        "protos/perfetto/common/trace_stats.proto",
2313        "protos/perfetto/common/tracing_service_capabilities.proto",
2314        "protos/perfetto/common/tracing_service_state.proto",
2315        "protos/perfetto/common/track_event_descriptor.proto",
2316    ],
2317    visibility = [
2318        PERFETTO_CONFIG.proto_library_visibility,
2319    ],
2320)
2321
2322# GN target: //protos/perfetto/common:zero
2323perfetto_cc_protozero_library(
2324    name = "protos_perfetto_common_zero",
2325    deps = [
2326        ":protos_perfetto_common_protos",
2327    ],
2328)
2329
2330# GN target: //protos/perfetto/config/android:cpp
2331perfetto_cc_protocpp_library(
2332    name = "protos_perfetto_config_android_cpp",
2333    deps = [
2334        ":protos_perfetto_common_cpp",
2335        ":protos_perfetto_config_android_protos",
2336    ],
2337)
2338
2339# GN target: //protos/perfetto/config/android:source_set
2340perfetto_proto_library(
2341    name = "protos_perfetto_config_android_protos",
2342    srcs = [
2343        "protos/perfetto/config/android/android_log_config.proto",
2344        "protos/perfetto/config/android/android_polled_state_config.proto",
2345        "protos/perfetto/config/android/android_system_property_config.proto",
2346        "protos/perfetto/config/android/packages_list_config.proto",
2347    ],
2348    visibility = [
2349        PERFETTO_CONFIG.proto_library_visibility,
2350    ],
2351    deps = [
2352        ":protos_perfetto_common_protos",
2353    ],
2354)
2355
2356# GN target: //protos/perfetto/config/android:zero
2357perfetto_cc_protozero_library(
2358    name = "protos_perfetto_config_android_zero",
2359    deps = [
2360        ":protos_perfetto_common_zero",
2361        ":protos_perfetto_config_android_protos",
2362    ],
2363)
2364
2365# GN target: //protos/perfetto/config:cpp
2366perfetto_cc_protocpp_library(
2367    name = "protos_perfetto_config_cpp",
2368    deps = [
2369        ":protos_perfetto_common_cpp",
2370        ":protos_perfetto_config_android_cpp",
2371        ":protos_perfetto_config_ftrace_cpp",
2372        ":protos_perfetto_config_gpu_cpp",
2373        ":protos_perfetto_config_inode_file_cpp",
2374        ":protos_perfetto_config_interceptors_cpp",
2375        ":protos_perfetto_config_power_cpp",
2376        ":protos_perfetto_config_process_stats_cpp",
2377        ":protos_perfetto_config_profiling_cpp",
2378        ":protos_perfetto_config_protos",
2379        ":protos_perfetto_config_sys_stats_cpp",
2380        ":protos_perfetto_config_track_event_cpp",
2381    ],
2382)
2383
2384# GN target: //protos/perfetto/config:descriptor
2385perfetto_proto_descriptor(
2386    name = "protos_perfetto_config_descriptor",
2387    deps = [
2388        ":protos_perfetto_config_protos",
2389    ],
2390    outs = [
2391        "protos_perfetto_config_descriptor.bin",
2392    ],
2393)
2394
2395# GN target: //protos/perfetto/config/ftrace:cpp
2396perfetto_cc_protocpp_library(
2397    name = "protos_perfetto_config_ftrace_cpp",
2398    deps = [
2399        ":protos_perfetto_config_ftrace_protos",
2400    ],
2401)
2402
2403# GN target: //protos/perfetto/config/ftrace:source_set
2404perfetto_proto_library(
2405    name = "protos_perfetto_config_ftrace_protos",
2406    srcs = [
2407        "protos/perfetto/config/ftrace/ftrace_config.proto",
2408    ],
2409    visibility = [
2410        PERFETTO_CONFIG.proto_library_visibility,
2411    ],
2412)
2413
2414# GN target: //protos/perfetto/config/ftrace:zero
2415perfetto_cc_protozero_library(
2416    name = "protos_perfetto_config_ftrace_zero",
2417    deps = [
2418        ":protos_perfetto_config_ftrace_protos",
2419    ],
2420)
2421
2422# GN target: //protos/perfetto/config/gpu:cpp
2423perfetto_cc_protocpp_library(
2424    name = "protos_perfetto_config_gpu_cpp",
2425    deps = [
2426        ":protos_perfetto_config_gpu_protos",
2427    ],
2428)
2429
2430# GN target: //protos/perfetto/config/gpu:source_set
2431perfetto_proto_library(
2432    name = "protos_perfetto_config_gpu_protos",
2433    srcs = [
2434        "protos/perfetto/config/gpu/gpu_counter_config.proto",
2435        "protos/perfetto/config/gpu/vulkan_memory_config.proto",
2436    ],
2437    visibility = [
2438        PERFETTO_CONFIG.proto_library_visibility,
2439    ],
2440)
2441
2442# GN target: //protos/perfetto/config/gpu:zero
2443perfetto_cc_protozero_library(
2444    name = "protos_perfetto_config_gpu_zero",
2445    deps = [
2446        ":protos_perfetto_config_gpu_protos",
2447    ],
2448)
2449
2450# GN target: //protos/perfetto/config/inode_file:cpp
2451perfetto_cc_protocpp_library(
2452    name = "protos_perfetto_config_inode_file_cpp",
2453    deps = [
2454        ":protos_perfetto_config_inode_file_protos",
2455    ],
2456)
2457
2458# GN target: //protos/perfetto/config/inode_file:source_set
2459perfetto_proto_library(
2460    name = "protos_perfetto_config_inode_file_protos",
2461    srcs = [
2462        "protos/perfetto/config/inode_file/inode_file_config.proto",
2463    ],
2464    visibility = [
2465        PERFETTO_CONFIG.proto_library_visibility,
2466    ],
2467)
2468
2469# GN target: //protos/perfetto/config/inode_file:zero
2470perfetto_cc_protozero_library(
2471    name = "protos_perfetto_config_inode_file_zero",
2472    deps = [
2473        ":protos_perfetto_config_inode_file_protos",
2474    ],
2475)
2476
2477# GN target: //protos/perfetto/config/interceptors:cpp
2478perfetto_cc_protocpp_library(
2479    name = "protos_perfetto_config_interceptors_cpp",
2480    deps = [
2481        ":protos_perfetto_common_cpp",
2482        ":protos_perfetto_config_interceptors_protos",
2483    ],
2484)
2485
2486# GN target: //protos/perfetto/config/interceptors:source_set
2487perfetto_proto_library(
2488    name = "protos_perfetto_config_interceptors_protos",
2489    srcs = [
2490        "protos/perfetto/config/interceptors/console_config.proto",
2491    ],
2492    visibility = [
2493        PERFETTO_CONFIG.proto_library_visibility,
2494    ],
2495    deps = [
2496        ":protos_perfetto_common_protos",
2497    ],
2498)
2499
2500# GN target: //protos/perfetto/config/interceptors:zero
2501perfetto_cc_protozero_library(
2502    name = "protos_perfetto_config_interceptors_zero",
2503    deps = [
2504        ":protos_perfetto_common_zero",
2505        ":protos_perfetto_config_interceptors_protos",
2506    ],
2507)
2508
2509# GN target: //protos/perfetto/config/power:cpp
2510perfetto_cc_protocpp_library(
2511    name = "protos_perfetto_config_power_cpp",
2512    deps = [
2513        ":protos_perfetto_config_power_protos",
2514    ],
2515)
2516
2517# GN target: //protos/perfetto/config/power:source_set
2518perfetto_proto_library(
2519    name = "protos_perfetto_config_power_protos",
2520    srcs = [
2521        "protos/perfetto/config/power/android_power_config.proto",
2522    ],
2523    visibility = [
2524        PERFETTO_CONFIG.proto_library_visibility,
2525    ],
2526)
2527
2528# GN target: //protos/perfetto/config/power:zero
2529perfetto_cc_protozero_library(
2530    name = "protos_perfetto_config_power_zero",
2531    deps = [
2532        ":protos_perfetto_config_power_protos",
2533    ],
2534)
2535
2536# GN target: //protos/perfetto/config/process_stats:cpp
2537perfetto_cc_protocpp_library(
2538    name = "protos_perfetto_config_process_stats_cpp",
2539    deps = [
2540        ":protos_perfetto_config_process_stats_protos",
2541    ],
2542)
2543
2544# GN target: //protos/perfetto/config/process_stats:source_set
2545perfetto_proto_library(
2546    name = "protos_perfetto_config_process_stats_protos",
2547    srcs = [
2548        "protos/perfetto/config/process_stats/process_stats_config.proto",
2549    ],
2550    visibility = [
2551        PERFETTO_CONFIG.proto_library_visibility,
2552    ],
2553)
2554
2555# GN target: //protos/perfetto/config/process_stats:zero
2556perfetto_cc_protozero_library(
2557    name = "protos_perfetto_config_process_stats_zero",
2558    deps = [
2559        ":protos_perfetto_config_process_stats_protos",
2560    ],
2561)
2562
2563# GN target: //protos/perfetto/config/profiling:cpp
2564perfetto_cc_protocpp_library(
2565    name = "protos_perfetto_config_profiling_cpp",
2566    deps = [
2567        ":protos_perfetto_common_cpp",
2568        ":protos_perfetto_config_profiling_protos",
2569    ],
2570)
2571
2572# GN target: //protos/perfetto/config/profiling:source_set
2573perfetto_proto_library(
2574    name = "protos_perfetto_config_profiling_protos",
2575    srcs = [
2576        "protos/perfetto/config/profiling/heapprofd_config.proto",
2577        "protos/perfetto/config/profiling/java_hprof_config.proto",
2578        "protos/perfetto/config/profiling/perf_event_config.proto",
2579    ],
2580    visibility = [
2581        PERFETTO_CONFIG.proto_library_visibility,
2582    ],
2583    deps = [
2584        ":protos_perfetto_common_protos",
2585    ],
2586)
2587
2588# GN target: //protos/perfetto/config/profiling:zero
2589perfetto_cc_protozero_library(
2590    name = "protos_perfetto_config_profiling_zero",
2591    deps = [
2592        ":protos_perfetto_common_zero",
2593        ":protos_perfetto_config_profiling_protos",
2594    ],
2595)
2596
2597# GN target: //protos/perfetto/config:source_set
2598perfetto_proto_library(
2599    name = "protos_perfetto_config_protos",
2600    srcs = [
2601        "protos/perfetto/config/chrome/chrome_config.proto",
2602        "protos/perfetto/config/data_source_config.proto",
2603        "protos/perfetto/config/interceptor_config.proto",
2604        "protos/perfetto/config/stress_test_config.proto",
2605        "protos/perfetto/config/test_config.proto",
2606        "protos/perfetto/config/trace_config.proto",
2607    ],
2608    visibility = [
2609        PERFETTO_CONFIG.proto_library_visibility,
2610    ],
2611    deps = [
2612        ":protos_perfetto_common_protos",
2613        ":protos_perfetto_config_android_protos",
2614        ":protos_perfetto_config_ftrace_protos",
2615        ":protos_perfetto_config_gpu_protos",
2616        ":protos_perfetto_config_inode_file_protos",
2617        ":protos_perfetto_config_interceptors_protos",
2618        ":protos_perfetto_config_power_protos",
2619        ":protos_perfetto_config_process_stats_protos",
2620        ":protos_perfetto_config_profiling_protos",
2621        ":protos_perfetto_config_sys_stats_protos",
2622        ":protos_perfetto_config_track_event_protos",
2623    ],
2624)
2625
2626# GN target: //protos/perfetto/config/sys_stats:cpp
2627perfetto_cc_protocpp_library(
2628    name = "protos_perfetto_config_sys_stats_cpp",
2629    deps = [
2630        ":protos_perfetto_common_cpp",
2631        ":protos_perfetto_config_sys_stats_protos",
2632    ],
2633)
2634
2635# GN target: //protos/perfetto/config/sys_stats:source_set
2636perfetto_proto_library(
2637    name = "protos_perfetto_config_sys_stats_protos",
2638    srcs = [
2639        "protos/perfetto/config/sys_stats/sys_stats_config.proto",
2640    ],
2641    visibility = [
2642        PERFETTO_CONFIG.proto_library_visibility,
2643    ],
2644    deps = [
2645        ":protos_perfetto_common_protos",
2646    ],
2647)
2648
2649# GN target: //protos/perfetto/config/sys_stats:zero
2650perfetto_cc_protozero_library(
2651    name = "protos_perfetto_config_sys_stats_zero",
2652    deps = [
2653        ":protos_perfetto_common_zero",
2654        ":protos_perfetto_config_sys_stats_protos",
2655    ],
2656)
2657
2658# GN target: //protos/perfetto/config/track_event:cpp
2659perfetto_cc_protocpp_library(
2660    name = "protos_perfetto_config_track_event_cpp",
2661    deps = [
2662        ":protos_perfetto_config_track_event_protos",
2663    ],
2664)
2665
2666# GN target: //protos/perfetto/config/track_event:source_set
2667perfetto_proto_library(
2668    name = "protos_perfetto_config_track_event_protos",
2669    srcs = [
2670        "protos/perfetto/config/track_event/track_event_config.proto",
2671    ],
2672    visibility = [
2673        PERFETTO_CONFIG.proto_library_visibility,
2674    ],
2675)
2676
2677# GN target: //protos/perfetto/config/track_event:zero
2678perfetto_cc_protozero_library(
2679    name = "protos_perfetto_config_track_event_zero",
2680    deps = [
2681        ":protos_perfetto_config_track_event_protos",
2682    ],
2683)
2684
2685# GN target: //protos/perfetto/config:zero
2686perfetto_cc_protozero_library(
2687    name = "protos_perfetto_config_zero",
2688    deps = [
2689        ":protos_perfetto_common_zero",
2690        ":protos_perfetto_config_android_zero",
2691        ":protos_perfetto_config_ftrace_zero",
2692        ":protos_perfetto_config_gpu_zero",
2693        ":protos_perfetto_config_inode_file_zero",
2694        ":protos_perfetto_config_interceptors_zero",
2695        ":protos_perfetto_config_power_zero",
2696        ":protos_perfetto_config_process_stats_zero",
2697        ":protos_perfetto_config_profiling_zero",
2698        ":protos_perfetto_config_protos",
2699        ":protos_perfetto_config_sys_stats_zero",
2700        ":protos_perfetto_config_track_event_zero",
2701    ],
2702)
2703
2704# GN target: //protos/perfetto/ipc:cpp
2705perfetto_cc_protocpp_library(
2706    name = "protos_perfetto_ipc_cpp",
2707    deps = [
2708        ":protos_perfetto_common_cpp",
2709        ":protos_perfetto_config_android_cpp",
2710        ":protos_perfetto_config_cpp",
2711        ":protos_perfetto_config_ftrace_cpp",
2712        ":protos_perfetto_config_gpu_cpp",
2713        ":protos_perfetto_config_inode_file_cpp",
2714        ":protos_perfetto_config_interceptors_cpp",
2715        ":protos_perfetto_config_power_cpp",
2716        ":protos_perfetto_config_process_stats_cpp",
2717        ":protos_perfetto_config_profiling_cpp",
2718        ":protos_perfetto_config_sys_stats_cpp",
2719        ":protos_perfetto_config_track_event_cpp",
2720        ":protos_perfetto_ipc_protos",
2721    ],
2722)
2723
2724# GN target: //protos/perfetto/ipc:ipc
2725perfetto_cc_ipc_library(
2726    name = "protos_perfetto_ipc_ipc",
2727    deps = [
2728        ":protos_perfetto_common_cpp",
2729        ":protos_perfetto_config_android_cpp",
2730        ":protos_perfetto_config_cpp",
2731        ":protos_perfetto_config_ftrace_cpp",
2732        ":protos_perfetto_config_gpu_cpp",
2733        ":protos_perfetto_config_inode_file_cpp",
2734        ":protos_perfetto_config_interceptors_cpp",
2735        ":protos_perfetto_config_power_cpp",
2736        ":protos_perfetto_config_process_stats_cpp",
2737        ":protos_perfetto_config_profiling_cpp",
2738        ":protos_perfetto_config_sys_stats_cpp",
2739        ":protos_perfetto_config_track_event_cpp",
2740        ":protos_perfetto_ipc_cpp",
2741        ":protos_perfetto_ipc_protos",
2742    ],
2743)
2744
2745# GN target: //protos/perfetto/ipc:source_set
2746perfetto_proto_library(
2747    name = "protos_perfetto_ipc_protos",
2748    srcs = [
2749        "protos/perfetto/ipc/consumer_port.proto",
2750        "protos/perfetto/ipc/producer_port.proto",
2751    ],
2752    visibility = [
2753        PERFETTO_CONFIG.proto_library_visibility,
2754    ],
2755    deps = [
2756        ":protos_perfetto_common_protos",
2757        ":protos_perfetto_config_android_protos",
2758        ":protos_perfetto_config_ftrace_protos",
2759        ":protos_perfetto_config_gpu_protos",
2760        ":protos_perfetto_config_inode_file_protos",
2761        ":protos_perfetto_config_interceptors_protos",
2762        ":protos_perfetto_config_power_protos",
2763        ":protos_perfetto_config_process_stats_protos",
2764        ":protos_perfetto_config_profiling_protos",
2765        ":protos_perfetto_config_protos",
2766        ":protos_perfetto_config_sys_stats_protos",
2767        ":protos_perfetto_config_track_event_protos",
2768    ],
2769)
2770
2771# GN target: //protos/perfetto/ipc:wire_protocol_cpp
2772perfetto_cc_protocpp_library(
2773    name = "protos_perfetto_ipc_wire_protocol_cpp",
2774    deps = [
2775        ":protos_perfetto_ipc_wire_protocol_protos",
2776    ],
2777)
2778
2779# GN target: //protos/perfetto/ipc:wire_protocol_source_set
2780perfetto_proto_library(
2781    name = "protos_perfetto_ipc_wire_protocol_protos",
2782    srcs = [
2783        "protos/perfetto/ipc/wire_protocol.proto",
2784    ],
2785    visibility = [
2786        PERFETTO_CONFIG.proto_library_visibility,
2787    ],
2788)
2789
2790# GN target: //protos/perfetto/metrics/android:source_set
2791perfetto_proto_library(
2792    name = "protos_perfetto_metrics_android_protos",
2793    srcs = [
2794        "protos/perfetto/metrics/android/android_trusty_workqueues.proto",
2795        "protos/perfetto/metrics/android/batt_metric.proto",
2796        "protos/perfetto/metrics/android/camera_metric.proto",
2797        "protos/perfetto/metrics/android/camera_unagg_metric.proto",
2798        "protos/perfetto/metrics/android/cpu_metric.proto",
2799        "protos/perfetto/metrics/android/display_metrics.proto",
2800        "protos/perfetto/metrics/android/dma_heap_metric.proto",
2801        "protos/perfetto/metrics/android/dvfs_metric.proto",
2802        "protos/perfetto/metrics/android/fastrpc_metric.proto",
2803        "protos/perfetto/metrics/android/g2d_metric.proto",
2804        "protos/perfetto/metrics/android/gpu_metric.proto",
2805        "protos/perfetto/metrics/android/hwcomposer.proto",
2806        "protos/perfetto/metrics/android/hwui_metric.proto",
2807        "protos/perfetto/metrics/android/ion_metric.proto",
2808        "protos/perfetto/metrics/android/irq_runtime_metric.proto",
2809        "protos/perfetto/metrics/android/jank_metric.proto",
2810        "protos/perfetto/metrics/android/java_heap_histogram.proto",
2811        "protos/perfetto/metrics/android/java_heap_stats.proto",
2812        "protos/perfetto/metrics/android/lmk_metric.proto",
2813        "protos/perfetto/metrics/android/lmk_reason_metric.proto",
2814        "protos/perfetto/metrics/android/mem_metric.proto",
2815        "protos/perfetto/metrics/android/mem_unagg_metric.proto",
2816        "protos/perfetto/metrics/android/multiuser_metric.proto",
2817        "protos/perfetto/metrics/android/network_metric.proto",
2818        "protos/perfetto/metrics/android/other_traces.proto",
2819        "protos/perfetto/metrics/android/package_list.proto",
2820        "protos/perfetto/metrics/android/powrails_metric.proto",
2821        "protos/perfetto/metrics/android/process_metadata.proto",
2822        "protos/perfetto/metrics/android/profiler_smaps.proto",
2823        "protos/perfetto/metrics/android/rt_runtime_metric.proto",
2824        "protos/perfetto/metrics/android/simpleperf.proto",
2825        "protos/perfetto/metrics/android/startup_metric.proto",
2826        "protos/perfetto/metrics/android/surfaceflinger.proto",
2827        "protos/perfetto/metrics/android/sysui_cuj_metrics.proto",
2828        "protos/perfetto/metrics/android/task_names.proto",
2829        "protos/perfetto/metrics/android/thread_time_in_state_metric.proto",
2830        "protos/perfetto/metrics/android/trace_quality.proto",
2831        "protos/perfetto/metrics/android/unsymbolized_frames.proto",
2832    ],
2833    visibility = [
2834        PERFETTO_CONFIG.proto_library_visibility,
2835    ],
2836)
2837
2838# GN target: //protos/perfetto/metrics/chrome:descriptor
2839perfetto_proto_descriptor(
2840    name = "protos_perfetto_metrics_chrome_descriptor",
2841    deps = [
2842        ":protos_perfetto_metrics_chrome_protos",
2843    ],
2844    outs = [
2845        "protos_perfetto_metrics_chrome_descriptor.bin",
2846    ],
2847)
2848
2849# GN target: //protos/perfetto/metrics/chrome:source_set
2850perfetto_proto_library(
2851    name = "protos_perfetto_metrics_chrome_protos",
2852    srcs = [
2853        "protos/perfetto/metrics/chrome/all_chrome_metrics.proto",
2854        "protos/perfetto/metrics/chrome/blink_gc_metric.proto",
2855        "protos/perfetto/metrics/chrome/dropped_frames.proto",
2856        "protos/perfetto/metrics/chrome/frame_times.proto",
2857        "protos/perfetto/metrics/chrome/histogram_hashes.proto",
2858        "protos/perfetto/metrics/chrome/long_latency.proto",
2859        "protos/perfetto/metrics/chrome/media_metric.proto",
2860        "protos/perfetto/metrics/chrome/performance_mark_hashes.proto",
2861        "protos/perfetto/metrics/chrome/reported_by_page.proto",
2862        "protos/perfetto/metrics/chrome/scroll_jank.proto",
2863        "protos/perfetto/metrics/chrome/slice_names.proto",
2864        "protos/perfetto/metrics/chrome/test_chrome_metric.proto",
2865        "protos/perfetto/metrics/chrome/touch_jank.proto",
2866        "protos/perfetto/metrics/chrome/user_event_hashes.proto",
2867    ],
2868    visibility = [
2869        PERFETTO_CONFIG.proto_library_visibility,
2870    ],
2871    deps = [
2872        ":protos_perfetto_metrics_android_protos",
2873        ":protos_perfetto_metrics_custom_options_protos",
2874        ":protos_perfetto_metrics_protos",
2875    ] + PERFETTO_CONFIG.deps.protobuf_descriptor_proto,
2876)
2877
2878# GN target: //protos/perfetto/metrics:custom_options_source_set
2879perfetto_proto_library(
2880    name = "protos_perfetto_metrics_custom_options_protos",
2881    srcs = [
2882        "protos/perfetto/metrics/custom_options.proto",
2883    ],
2884    visibility = [
2885        PERFETTO_CONFIG.proto_library_visibility,
2886    ],
2887    deps = [
2888    ] + PERFETTO_CONFIG.deps.protobuf_descriptor_proto,
2889)
2890
2891# GN target: //protos/perfetto/metrics:descriptor
2892perfetto_proto_descriptor(
2893    name = "protos_perfetto_metrics_descriptor",
2894    deps = [
2895        ":protos_perfetto_metrics_protos",
2896    ],
2897    outs = [
2898        "protos_perfetto_metrics_descriptor.bin",
2899    ],
2900)
2901
2902# GN target: //protos/perfetto/metrics:source_set
2903perfetto_proto_library(
2904    name = "protos_perfetto_metrics_protos",
2905    srcs = [
2906        "protos/perfetto/metrics/metrics.proto",
2907    ],
2908    visibility = [
2909        PERFETTO_CONFIG.proto_library_visibility,
2910    ],
2911    deps = [
2912        ":protos_perfetto_metrics_android_protos",
2913    ],
2914)
2915
2916# GN target: //protos/perfetto/trace/android:source_set
2917perfetto_proto_library(
2918    name = "protos_perfetto_trace_android_protos",
2919    srcs = [
2920        "protos/perfetto/trace/android/android_log.proto",
2921        "protos/perfetto/trace/android/android_system_property.proto",
2922        "protos/perfetto/trace/android/camera_event.proto",
2923        "protos/perfetto/trace/android/frame_timeline_event.proto",
2924        "protos/perfetto/trace/android/gpu_mem_event.proto",
2925        "protos/perfetto/trace/android/graphics_frame_event.proto",
2926        "protos/perfetto/trace/android/initial_display_state.proto",
2927        "protos/perfetto/trace/android/packages_list.proto",
2928    ],
2929    visibility = [
2930        PERFETTO_CONFIG.proto_library_visibility,
2931    ],
2932    deps = [
2933        ":protos_perfetto_common_protos",
2934    ],
2935)
2936
2937# GN target: //protos/perfetto/trace/android:zero
2938perfetto_cc_protozero_library(
2939    name = "protos_perfetto_trace_android_zero",
2940    deps = [
2941        ":protos_perfetto_common_zero",
2942        ":protos_perfetto_trace_android_protos",
2943    ],
2944)
2945
2946# GN target: //protos/perfetto/trace/chrome:source_set
2947perfetto_proto_library(
2948    name = "protos_perfetto_trace_chrome_protos",
2949    srcs = [
2950        "protos/perfetto/trace/chrome/chrome_benchmark_metadata.proto",
2951        "protos/perfetto/trace/chrome/chrome_metadata.proto",
2952        "protos/perfetto/trace/chrome/chrome_trace_event.proto",
2953    ],
2954    visibility = [
2955        PERFETTO_CONFIG.proto_library_visibility,
2956    ],
2957)
2958
2959# GN target: //protos/perfetto/trace/chrome:zero
2960perfetto_cc_protozero_library(
2961    name = "protos_perfetto_trace_chrome_zero",
2962    deps = [
2963        ":protos_perfetto_trace_chrome_protos",
2964    ],
2965)
2966
2967# GN target: //protos/perfetto/trace:descriptor
2968perfetto_proto_descriptor(
2969    name = "protos_perfetto_trace_descriptor",
2970    deps = [
2971        ":protos_perfetto_trace_non_minimal_protos",
2972    ],
2973    outs = [
2974        "protos_perfetto_trace_descriptor.bin",
2975    ],
2976)
2977
2978# GN target: //protos/perfetto/trace/filesystem:source_set
2979perfetto_proto_library(
2980    name = "protos_perfetto_trace_filesystem_protos",
2981    srcs = [
2982        "protos/perfetto/trace/filesystem/inode_file_map.proto",
2983    ],
2984    visibility = [
2985        PERFETTO_CONFIG.proto_library_visibility,
2986    ],
2987)
2988
2989# GN target: //protos/perfetto/trace/filesystem:zero
2990perfetto_cc_protozero_library(
2991    name = "protos_perfetto_trace_filesystem_zero",
2992    deps = [
2993        ":protos_perfetto_trace_filesystem_protos",
2994    ],
2995)
2996
2997# GN target: //protos/perfetto/trace/ftrace:source_set
2998perfetto_proto_library(
2999    name = "protos_perfetto_trace_ftrace_protos",
3000    srcs = [
3001        "protos/perfetto/trace/ftrace/binder.proto",
3002        "protos/perfetto/trace/ftrace/block.proto",
3003        "protos/perfetto/trace/ftrace/cgroup.proto",
3004        "protos/perfetto/trace/ftrace/clk.proto",
3005        "protos/perfetto/trace/ftrace/cma.proto",
3006        "protos/perfetto/trace/ftrace/compaction.proto",
3007        "protos/perfetto/trace/ftrace/cpuhp.proto",
3008        "protos/perfetto/trace/ftrace/cros_ec.proto",
3009        "protos/perfetto/trace/ftrace/dma_fence.proto",
3010        "protos/perfetto/trace/ftrace/dmabuf_heap.proto",
3011        "protos/perfetto/trace/ftrace/dpu.proto",
3012        "protos/perfetto/trace/ftrace/drm.proto",
3013        "protos/perfetto/trace/ftrace/ext4.proto",
3014        "protos/perfetto/trace/ftrace/f2fs.proto",
3015        "protos/perfetto/trace/ftrace/fastrpc.proto",
3016        "protos/perfetto/trace/ftrace/fence.proto",
3017        "protos/perfetto/trace/ftrace/filemap.proto",
3018        "protos/perfetto/trace/ftrace/ftrace.proto",
3019        "protos/perfetto/trace/ftrace/ftrace_event.proto",
3020        "protos/perfetto/trace/ftrace/ftrace_event_bundle.proto",
3021        "protos/perfetto/trace/ftrace/ftrace_stats.proto",
3022        "protos/perfetto/trace/ftrace/g2d.proto",
3023        "protos/perfetto/trace/ftrace/generic.proto",
3024        "protos/perfetto/trace/ftrace/gpu_mem.proto",
3025        "protos/perfetto/trace/ftrace/gpu_scheduler.proto",
3026        "protos/perfetto/trace/ftrace/i2c.proto",
3027        "protos/perfetto/trace/ftrace/ion.proto",
3028        "protos/perfetto/trace/ftrace/ipi.proto",
3029        "protos/perfetto/trace/ftrace/irq.proto",
3030        "protos/perfetto/trace/ftrace/kmem.proto",
3031        "protos/perfetto/trace/ftrace/kvm.proto",
3032        "protos/perfetto/trace/ftrace/lowmemorykiller.proto",
3033        "protos/perfetto/trace/ftrace/mali.proto",
3034        "protos/perfetto/trace/ftrace/mdss.proto",
3035        "protos/perfetto/trace/ftrace/mm_event.proto",
3036        "protos/perfetto/trace/ftrace/net.proto",
3037        "protos/perfetto/trace/ftrace/oom.proto",
3038        "protos/perfetto/trace/ftrace/power.proto",
3039        "protos/perfetto/trace/ftrace/printk.proto",
3040        "protos/perfetto/trace/ftrace/raw_syscalls.proto",
3041        "protos/perfetto/trace/ftrace/regulator.proto",
3042        "protos/perfetto/trace/ftrace/sched.proto",
3043        "protos/perfetto/trace/ftrace/scm.proto",
3044        "protos/perfetto/trace/ftrace/sde.proto",
3045        "protos/perfetto/trace/ftrace/signal.proto",
3046        "protos/perfetto/trace/ftrace/skb.proto",
3047        "protos/perfetto/trace/ftrace/sock.proto",
3048        "protos/perfetto/trace/ftrace/sync.proto",
3049        "protos/perfetto/trace/ftrace/synthetic.proto",
3050        "protos/perfetto/trace/ftrace/systrace.proto",
3051        "protos/perfetto/trace/ftrace/task.proto",
3052        "protos/perfetto/trace/ftrace/tcp.proto",
3053        "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto",
3054        "protos/perfetto/trace/ftrace/thermal.proto",
3055        "protos/perfetto/trace/ftrace/ufs.proto",
3056        "protos/perfetto/trace/ftrace/vmscan.proto",
3057        "protos/perfetto/trace/ftrace/workqueue.proto",
3058    ],
3059    visibility = [
3060        PERFETTO_CONFIG.proto_library_visibility,
3061    ],
3062)
3063
3064# GN target: //protos/perfetto/trace/ftrace:zero
3065perfetto_cc_protozero_library(
3066    name = "protos_perfetto_trace_ftrace_zero",
3067    deps = [
3068        ":protos_perfetto_trace_ftrace_protos",
3069    ],
3070)
3071
3072# GN target: //protos/perfetto/trace/gpu:source_set
3073perfetto_proto_library(
3074    name = "protos_perfetto_trace_gpu_protos",
3075    srcs = [
3076        "protos/perfetto/trace/gpu/gpu_counter_event.proto",
3077        "protos/perfetto/trace/gpu/gpu_log.proto",
3078        "protos/perfetto/trace/gpu/gpu_render_stage_event.proto",
3079        "protos/perfetto/trace/gpu/vulkan_api_event.proto",
3080        "protos/perfetto/trace/gpu/vulkan_memory_event.proto",
3081    ],
3082    visibility = [
3083        PERFETTO_CONFIG.proto_library_visibility,
3084    ],
3085    deps = [
3086        ":protos_perfetto_common_protos",
3087    ],
3088)
3089
3090# GN target: //protos/perfetto/trace/gpu:zero
3091perfetto_cc_protozero_library(
3092    name = "protos_perfetto_trace_gpu_zero",
3093    deps = [
3094        ":protos_perfetto_common_zero",
3095        ":protos_perfetto_trace_gpu_protos",
3096    ],
3097)
3098
3099# GN target: //protos/perfetto/trace/interned_data:source_set
3100perfetto_proto_library(
3101    name = "protos_perfetto_trace_interned_data_protos",
3102    srcs = [
3103        "protos/perfetto/trace/interned_data/interned_data.proto",
3104    ],
3105    visibility = [
3106        PERFETTO_CONFIG.proto_library_visibility,
3107    ],
3108    deps = [
3109        ":protos_perfetto_common_protos",
3110        ":protos_perfetto_trace_gpu_protos",
3111        ":protos_perfetto_trace_profiling_protos",
3112        ":protos_perfetto_trace_track_event_protos",
3113    ],
3114)
3115
3116# GN target: //protos/perfetto/trace/interned_data:zero
3117perfetto_cc_protozero_library(
3118    name = "protos_perfetto_trace_interned_data_zero",
3119    deps = [
3120        ":protos_perfetto_common_zero",
3121        ":protos_perfetto_trace_gpu_zero",
3122        ":protos_perfetto_trace_interned_data_protos",
3123        ":protos_perfetto_trace_profiling_zero",
3124        ":protos_perfetto_trace_track_event_zero",
3125    ],
3126)
3127
3128# GN target: //protos/perfetto/trace:minimal_source_set
3129perfetto_proto_library(
3130    name = "protos_perfetto_trace_minimal_protos",
3131    srcs = [
3132        "protos/perfetto/trace/clock_snapshot.proto",
3133        "protos/perfetto/trace/system_info.proto",
3134        "protos/perfetto/trace/trigger.proto",
3135    ],
3136    visibility = [
3137        PERFETTO_CONFIG.proto_library_visibility,
3138    ],
3139    deps = [
3140        ":protos_perfetto_common_protos",
3141        ":protos_perfetto_config_android_protos",
3142        ":protos_perfetto_config_ftrace_protos",
3143        ":protos_perfetto_config_gpu_protos",
3144        ":protos_perfetto_config_inode_file_protos",
3145        ":protos_perfetto_config_interceptors_protos",
3146        ":protos_perfetto_config_power_protos",
3147        ":protos_perfetto_config_process_stats_protos",
3148        ":protos_perfetto_config_profiling_protos",
3149        ":protos_perfetto_config_protos",
3150        ":protos_perfetto_config_sys_stats_protos",
3151        ":protos_perfetto_config_track_event_protos",
3152    ],
3153)
3154
3155# GN target: //protos/perfetto/trace:minimal_zero
3156perfetto_cc_protozero_library(
3157    name = "protos_perfetto_trace_minimal_zero",
3158    deps = [
3159        ":protos_perfetto_common_zero",
3160        ":protos_perfetto_config_android_zero",
3161        ":protos_perfetto_config_ftrace_zero",
3162        ":protos_perfetto_config_gpu_zero",
3163        ":protos_perfetto_config_inode_file_zero",
3164        ":protos_perfetto_config_interceptors_zero",
3165        ":protos_perfetto_config_power_zero",
3166        ":protos_perfetto_config_process_stats_zero",
3167        ":protos_perfetto_config_profiling_zero",
3168        ":protos_perfetto_config_sys_stats_zero",
3169        ":protos_perfetto_config_track_event_zero",
3170        ":protos_perfetto_config_zero",
3171        ":protos_perfetto_trace_minimal_protos",
3172    ],
3173)
3174
3175# GN target: //protos/perfetto/trace:non_minimal_source_set
3176perfetto_proto_library(
3177    name = "protos_perfetto_trace_non_minimal_protos",
3178    srcs = [
3179        "protos/perfetto/trace/extension_descriptor.proto",
3180        "protos/perfetto/trace/memory_graph.proto",
3181        "protos/perfetto/trace/test_event.proto",
3182        "protos/perfetto/trace/test_extensions.proto",
3183        "protos/perfetto/trace/trace.proto",
3184        "protos/perfetto/trace/trace_packet.proto",
3185        "protos/perfetto/trace/trace_packet_defaults.proto",
3186        "protos/perfetto/trace/ui_state.proto",
3187    ],
3188    visibility = [
3189        PERFETTO_CONFIG.proto_library_visibility,
3190    ],
3191    deps = [
3192        ":protos_perfetto_common_protos",
3193        ":protos_perfetto_config_android_protos",
3194        ":protos_perfetto_config_ftrace_protos",
3195        ":protos_perfetto_config_gpu_protos",
3196        ":protos_perfetto_config_inode_file_protos",
3197        ":protos_perfetto_config_interceptors_protos",
3198        ":protos_perfetto_config_power_protos",
3199        ":protos_perfetto_config_process_stats_protos",
3200        ":protos_perfetto_config_profiling_protos",
3201        ":protos_perfetto_config_protos",
3202        ":protos_perfetto_config_sys_stats_protos",
3203        ":protos_perfetto_config_track_event_protos",
3204        ":protos_perfetto_trace_android_protos",
3205        ":protos_perfetto_trace_chrome_protos",
3206        ":protos_perfetto_trace_filesystem_protos",
3207        ":protos_perfetto_trace_ftrace_protos",
3208        ":protos_perfetto_trace_gpu_protos",
3209        ":protos_perfetto_trace_interned_data_protos",
3210        ":protos_perfetto_trace_minimal_protos",
3211        ":protos_perfetto_trace_perfetto_protos",
3212        ":protos_perfetto_trace_power_protos",
3213        ":protos_perfetto_trace_profiling_protos",
3214        ":protos_perfetto_trace_ps_protos",
3215        ":protos_perfetto_trace_sys_stats_protos",
3216        ":protos_perfetto_trace_system_info_protos",
3217        ":protos_perfetto_trace_track_event_protos",
3218        ":protos_perfetto_trace_translation_protos",
3219    ],
3220    exports = [
3221        ":protos_perfetto_trace_track_event_protos",
3222    ],
3223)
3224
3225# GN target: //protos/perfetto/trace:non_minimal_zero
3226perfetto_cc_protozero_library(
3227    name = "protos_perfetto_trace_non_minimal_zero",
3228    deps = [
3229        ":protos_perfetto_common_zero",
3230        ":protos_perfetto_config_android_zero",
3231        ":protos_perfetto_config_ftrace_zero",
3232        ":protos_perfetto_config_gpu_zero",
3233        ":protos_perfetto_config_inode_file_zero",
3234        ":protos_perfetto_config_interceptors_zero",
3235        ":protos_perfetto_config_power_zero",
3236        ":protos_perfetto_config_process_stats_zero",
3237        ":protos_perfetto_config_profiling_zero",
3238        ":protos_perfetto_config_sys_stats_zero",
3239        ":protos_perfetto_config_track_event_zero",
3240        ":protos_perfetto_config_zero",
3241        ":protos_perfetto_trace_android_zero",
3242        ":protos_perfetto_trace_chrome_zero",
3243        ":protos_perfetto_trace_filesystem_zero",
3244        ":protos_perfetto_trace_ftrace_zero",
3245        ":protos_perfetto_trace_gpu_zero",
3246        ":protos_perfetto_trace_interned_data_zero",
3247        ":protos_perfetto_trace_minimal_zero",
3248        ":protos_perfetto_trace_non_minimal_protos",
3249        ":protos_perfetto_trace_perfetto_zero",
3250        ":protos_perfetto_trace_power_zero",
3251        ":protos_perfetto_trace_profiling_zero",
3252        ":protos_perfetto_trace_ps_zero",
3253        ":protos_perfetto_trace_sys_stats_zero",
3254        ":protos_perfetto_trace_system_info_zero",
3255        ":protos_perfetto_trace_track_event_zero",
3256        ":protos_perfetto_trace_translation_zero",
3257    ],
3258)
3259
3260# GN target: //protos/perfetto/trace/perfetto:source_set
3261perfetto_proto_library(
3262    name = "protos_perfetto_trace_perfetto_protos",
3263    srcs = [
3264        "protos/perfetto/trace/perfetto/perfetto_metatrace.proto",
3265        "protos/perfetto/trace/perfetto/tracing_service_event.proto",
3266    ],
3267    visibility = [
3268        PERFETTO_CONFIG.proto_library_visibility,
3269    ],
3270)
3271
3272# GN target: //protos/perfetto/trace/perfetto:zero
3273perfetto_cc_protozero_library(
3274    name = "protos_perfetto_trace_perfetto_zero",
3275    deps = [
3276        ":protos_perfetto_trace_perfetto_protos",
3277    ],
3278)
3279
3280# GN target: //protos/perfetto/trace/power:source_set
3281perfetto_proto_library(
3282    name = "protos_perfetto_trace_power_protos",
3283    srcs = [
3284        "protos/perfetto/trace/power/android_energy_estimation_breakdown.proto",
3285        "protos/perfetto/trace/power/battery_counters.proto",
3286        "protos/perfetto/trace/power/power_rails.proto",
3287    ],
3288    visibility = [
3289        PERFETTO_CONFIG.proto_library_visibility,
3290    ],
3291    deps = [
3292        ":protos_perfetto_common_protos",
3293    ],
3294)
3295
3296# GN target: //protos/perfetto/trace/power:zero
3297perfetto_cc_protozero_library(
3298    name = "protos_perfetto_trace_power_zero",
3299    deps = [
3300        ":protos_perfetto_common_zero",
3301        ":protos_perfetto_trace_power_protos",
3302    ],
3303)
3304
3305# GN target: //protos/perfetto/trace_processor:metrics_impl_source_set
3306perfetto_proto_library(
3307    name = "protos_perfetto_trace_processor_metrics_impl_protos",
3308    srcs = [
3309        "protos/perfetto/trace_processor/metrics_impl.proto",
3310    ],
3311    visibility = [
3312        PERFETTO_CONFIG.proto_library_visibility,
3313    ],
3314)
3315
3316# GN target: //protos/perfetto/trace_processor:metrics_impl_zero
3317perfetto_cc_protozero_library(
3318    name = "protos_perfetto_trace_processor_metrics_impl_zero",
3319    deps = [
3320        ":protos_perfetto_trace_processor_metrics_impl_protos",
3321    ],
3322)
3323
3324# GN target: //protos/perfetto/trace_processor:source_set
3325perfetto_proto_library(
3326    name = "protos_perfetto_trace_processor_protos",
3327    srcs = [
3328        "protos/perfetto/trace_processor/trace_processor.proto",
3329    ],
3330    visibility = [
3331        PERFETTO_CONFIG.proto_library_visibility,
3332    ],
3333    deps = [
3334        ":protos_perfetto_common_protos",
3335    ],
3336)
3337
3338# GN target: //protos/perfetto/trace_processor:zero
3339perfetto_cc_protozero_library(
3340    name = "protos_perfetto_trace_processor_zero",
3341    deps = [
3342        ":protos_perfetto_common_zero",
3343        ":protos_perfetto_trace_processor_protos",
3344    ],
3345)
3346
3347# GN target: //protos/perfetto/trace/profiling:source_set
3348perfetto_proto_library(
3349    name = "protos_perfetto_trace_profiling_protos",
3350    srcs = [
3351        "protos/perfetto/trace/profiling/deobfuscation.proto",
3352        "protos/perfetto/trace/profiling/heap_graph.proto",
3353        "protos/perfetto/trace/profiling/profile_common.proto",
3354        "protos/perfetto/trace/profiling/profile_packet.proto",
3355        "protos/perfetto/trace/profiling/smaps.proto",
3356    ],
3357    visibility = [
3358        PERFETTO_CONFIG.proto_library_visibility,
3359    ],
3360    deps = [
3361        ":protos_perfetto_common_protos",
3362    ],
3363)
3364
3365# GN target: //protos/perfetto/trace/profiling:zero
3366perfetto_cc_protozero_library(
3367    name = "protos_perfetto_trace_profiling_zero",
3368    deps = [
3369        ":protos_perfetto_common_zero",
3370        ":protos_perfetto_trace_profiling_protos",
3371    ],
3372)
3373
3374# GN target: //protos/perfetto/trace/ps:source_set
3375perfetto_proto_library(
3376    name = "protos_perfetto_trace_ps_protos",
3377    srcs = [
3378        "protos/perfetto/trace/ps/process_stats.proto",
3379        "protos/perfetto/trace/ps/process_tree.proto",
3380    ],
3381    visibility = [
3382        PERFETTO_CONFIG.proto_library_visibility,
3383    ],
3384)
3385
3386# GN target: //protos/perfetto/trace/ps:zero
3387perfetto_cc_protozero_library(
3388    name = "protos_perfetto_trace_ps_zero",
3389    deps = [
3390        ":protos_perfetto_trace_ps_protos",
3391    ],
3392)
3393
3394# GN target: //protos/perfetto/trace/sys_stats:source_set
3395perfetto_proto_library(
3396    name = "protos_perfetto_trace_sys_stats_protos",
3397    srcs = [
3398        "protos/perfetto/trace/sys_stats/sys_stats.proto",
3399    ],
3400    visibility = [
3401        PERFETTO_CONFIG.proto_library_visibility,
3402    ],
3403    deps = [
3404        ":protos_perfetto_common_protos",
3405    ],
3406)
3407
3408# GN target: //protos/perfetto/trace/sys_stats:zero
3409perfetto_cc_protozero_library(
3410    name = "protos_perfetto_trace_sys_stats_zero",
3411    deps = [
3412        ":protos_perfetto_common_zero",
3413        ":protos_perfetto_trace_sys_stats_protos",
3414    ],
3415)
3416
3417# GN target: //protos/perfetto/trace/system_info:source_set
3418perfetto_proto_library(
3419    name = "protos_perfetto_trace_system_info_protos",
3420    srcs = [
3421        "protos/perfetto/trace/system_info/cpu_info.proto",
3422    ],
3423    visibility = [
3424        PERFETTO_CONFIG.proto_library_visibility,
3425    ],
3426)
3427
3428# GN target: //protos/perfetto/trace/system_info:zero
3429perfetto_cc_protozero_library(
3430    name = "protos_perfetto_trace_system_info_zero",
3431    deps = [
3432        ":protos_perfetto_trace_system_info_protos",
3433    ],
3434)
3435
3436# GN target: //protos/perfetto/trace/track_event:cpp
3437perfetto_cc_protocpp_library(
3438    name = "protos_perfetto_trace_track_event_cpp",
3439    deps = [
3440        ":protos_perfetto_trace_track_event_protos",
3441    ],
3442)
3443
3444# GN target: //protos/perfetto/trace/track_event:descriptor
3445perfetto_proto_descriptor(
3446    name = "protos_perfetto_trace_track_event_descriptor",
3447    deps = [
3448        ":protos_perfetto_trace_track_event_protos",
3449    ],
3450    outs = [
3451        "protos_perfetto_trace_track_event_descriptor.bin",
3452    ],
3453)
3454
3455# GN target: //protos/perfetto/trace/track_event:source_set
3456perfetto_proto_library(
3457    name = "protos_perfetto_trace_track_event_protos",
3458    srcs = [
3459        "protos/perfetto/trace/track_event/chrome_application_state_info.proto",
3460        "protos/perfetto/trace/track_event/chrome_compositor_scheduler_state.proto",
3461        "protos/perfetto/trace/track_event/chrome_content_settings_event_info.proto",
3462        "protos/perfetto/trace/track_event/chrome_frame_reporter.proto",
3463        "protos/perfetto/trace/track_event/chrome_histogram_sample.proto",
3464        "protos/perfetto/trace/track_event/chrome_keyed_service.proto",
3465        "protos/perfetto/trace/track_event/chrome_latency_info.proto",
3466        "protos/perfetto/trace/track_event/chrome_legacy_ipc.proto",
3467        "protos/perfetto/trace/track_event/chrome_message_pump.proto",
3468        "protos/perfetto/trace/track_event/chrome_mojo_event_info.proto",
3469        "protos/perfetto/trace/track_event/chrome_process_descriptor.proto",
3470        "protos/perfetto/trace/track_event/chrome_renderer_scheduler_state.proto",
3471        "protos/perfetto/trace/track_event/chrome_thread_descriptor.proto",
3472        "protos/perfetto/trace/track_event/chrome_user_event.proto",
3473        "protos/perfetto/trace/track_event/chrome_window_handle_event_info.proto",
3474        "protos/perfetto/trace/track_event/counter_descriptor.proto",
3475        "protos/perfetto/trace/track_event/debug_annotation.proto",
3476        "protos/perfetto/trace/track_event/log_message.proto",
3477        "protos/perfetto/trace/track_event/process_descriptor.proto",
3478        "protos/perfetto/trace/track_event/source_location.proto",
3479        "protos/perfetto/trace/track_event/task_execution.proto",
3480        "protos/perfetto/trace/track_event/thread_descriptor.proto",
3481        "protos/perfetto/trace/track_event/track_descriptor.proto",
3482        "protos/perfetto/trace/track_event/track_event.proto",
3483    ],
3484    visibility = [
3485        PERFETTO_CONFIG.proto_library_visibility,
3486    ],
3487)
3488
3489# GN target: //protos/perfetto/trace/track_event:zero
3490perfetto_cc_protozero_library(
3491    name = "protos_perfetto_trace_track_event_zero",
3492    deps = [
3493        ":protos_perfetto_trace_track_event_protos",
3494    ],
3495)
3496
3497# GN target: //protos/perfetto/trace/translation:source_set
3498perfetto_proto_library(
3499    name = "protos_perfetto_trace_translation_protos",
3500    srcs = [
3501        "protos/perfetto/trace/translation/translation_table.proto",
3502    ],
3503    visibility = [
3504        PERFETTO_CONFIG.proto_library_visibility,
3505    ],
3506)
3507
3508# GN target: //protos/perfetto/trace/translation:zero
3509perfetto_cc_protozero_library(
3510    name = "protos_perfetto_trace_translation_zero",
3511    deps = [
3512        ":protos_perfetto_trace_translation_protos",
3513    ],
3514)
3515
3516# GN target: //protos/third_party/chromium:descriptor
3517perfetto_proto_descriptor(
3518    name = "protos_third_party_chromium_descriptor",
3519    deps = [
3520        ":protos_third_party_chromium_protos",
3521    ],
3522    outs = [
3523        "protos_third_party_chromium_descriptor.bin",
3524    ],
3525)
3526
3527# GN target: //protos/third_party/chromium:source_set
3528perfetto_proto_library(
3529    name = "protos_third_party_chromium_protos",
3530    srcs = [
3531        "protos/third_party/chromium/chrome_track_event.proto",
3532    ],
3533    visibility = [
3534        PERFETTO_CONFIG.proto_library_visibility,
3535    ],
3536    deps = [
3537        ":protos_perfetto_trace_track_event_protos",
3538    ],
3539    exports = [
3540        ":protos_perfetto_trace_track_event_protos",
3541    ],
3542)
3543
3544# GN target: //protos/third_party/pprof:source_set
3545perfetto_proto_library(
3546    name = "protos_third_party_pprof_protos",
3547    srcs = [
3548        "protos/third_party/pprof/profile.proto",
3549    ],
3550    visibility = [
3551        PERFETTO_CONFIG.proto_library_visibility,
3552    ],
3553)
3554
3555# GN target: //protos/third_party/pprof:zero
3556perfetto_cc_protozero_library(
3557    name = "protos_third_party_pprof_zero",
3558    deps = [
3559        ":protos_third_party_pprof_protos",
3560    ],
3561)
3562
3563# GN target: //src/perfetto_cmd:protos_cpp
3564perfetto_cc_protocpp_library(
3565    name = "src_perfetto_cmd_protos_cpp",
3566    deps = [
3567        ":src_perfetto_cmd_protos_protos",
3568    ],
3569)
3570
3571# GN target: //src/perfetto_cmd:protos_source_set
3572perfetto_proto_library(
3573    name = "src_perfetto_cmd_protos_protos",
3574    srcs = [
3575        "src/perfetto_cmd/perfetto_cmd_state.proto",
3576    ],
3577    visibility = [
3578        PERFETTO_CONFIG.proto_library_visibility,
3579    ],
3580)
3581
3582# ##############################################################################
3583# Public targets
3584# ##############################################################################
3585
3586# GN target: //:libperfetto_client_experimental
3587perfetto_cc_library(
3588    name = "libperfetto_client_experimental",
3589    srcs = [
3590        ":src_android_stats_android_stats",
3591        ":src_android_stats_perfetto_atoms",
3592        ":src_protozero_filtering_bytecode_common",
3593        ":src_protozero_filtering_bytecode_parser",
3594        ":src_protozero_filtering_message_filter",
3595        ":src_tracing_client_api_without_backends",
3596        ":src_tracing_common",
3597        ":src_tracing_core_core",
3598        ":src_tracing_core_service",
3599        ":src_tracing_in_process_backend",
3600        ":src_tracing_ipc_common",
3601        ":src_tracing_ipc_consumer_consumer",
3602        ":src_tracing_ipc_default_socket",
3603        ":src_tracing_ipc_producer_producer",
3604        ":src_tracing_ipc_service_service",
3605        ":src_tracing_platform_impl",
3606        ":src_tracing_system_backend",
3607    ],
3608    hdrs = [
3609        ":include_perfetto_base_base",
3610        ":include_perfetto_ext_base_base",
3611        ":include_perfetto_ext_ipc_ipc",
3612        ":include_perfetto_ext_tracing_core_core",
3613        ":include_perfetto_ext_tracing_ipc_ipc",
3614        ":include_perfetto_protozero_protozero",
3615        ":include_perfetto_tracing_core_core",
3616        ":include_perfetto_tracing_core_forward_decls",
3617        ":include_perfetto_tracing_tracing",
3618        "include/perfetto/tracing.h",
3619    ],
3620    visibility = [
3621        "//visibility:public",
3622    ],
3623    deps = [
3624        ":perfetto_ipc",
3625        ":protos_perfetto_common_cpp",
3626        ":protos_perfetto_common_zero",
3627        ":protos_perfetto_config_android_cpp",
3628        ":protos_perfetto_config_android_zero",
3629        ":protos_perfetto_config_cpp",
3630        ":protos_perfetto_config_ftrace_cpp",
3631        ":protos_perfetto_config_ftrace_zero",
3632        ":protos_perfetto_config_gpu_cpp",
3633        ":protos_perfetto_config_gpu_zero",
3634        ":protos_perfetto_config_inode_file_cpp",
3635        ":protos_perfetto_config_inode_file_zero",
3636        ":protos_perfetto_config_interceptors_cpp",
3637        ":protos_perfetto_config_interceptors_zero",
3638        ":protos_perfetto_config_power_cpp",
3639        ":protos_perfetto_config_power_zero",
3640        ":protos_perfetto_config_process_stats_cpp",
3641        ":protos_perfetto_config_process_stats_zero",
3642        ":protos_perfetto_config_profiling_cpp",
3643        ":protos_perfetto_config_profiling_zero",
3644        ":protos_perfetto_config_sys_stats_cpp",
3645        ":protos_perfetto_config_sys_stats_zero",
3646        ":protos_perfetto_config_track_event_cpp",
3647        ":protos_perfetto_config_track_event_zero",
3648        ":protos_perfetto_config_zero",
3649        ":protos_perfetto_ipc_cpp",
3650        ":protos_perfetto_ipc_ipc",
3651        ":protos_perfetto_trace_android_zero",
3652        ":protos_perfetto_trace_chrome_zero",
3653        ":protos_perfetto_trace_filesystem_zero",
3654        ":protos_perfetto_trace_ftrace_zero",
3655        ":protos_perfetto_trace_gpu_zero",
3656        ":protos_perfetto_trace_interned_data_zero",
3657        ":protos_perfetto_trace_minimal_zero",
3658        ":protos_perfetto_trace_non_minimal_zero",
3659        ":protos_perfetto_trace_perfetto_zero",
3660        ":protos_perfetto_trace_power_zero",
3661        ":protos_perfetto_trace_profiling_zero",
3662        ":protos_perfetto_trace_ps_zero",
3663        ":protos_perfetto_trace_sys_stats_zero",
3664        ":protos_perfetto_trace_system_info_zero",
3665        ":protos_perfetto_trace_track_event_cpp",
3666        ":protos_perfetto_trace_track_event_zero",
3667        ":protos_perfetto_trace_translation_zero",
3668        ":protozero",
3669        ":src_base_base",
3670    ],
3671    linkstatic = True,
3672)
3673
3674# GN target: //src/perfetto_cmd:perfetto
3675perfetto_cc_binary(
3676    name = "perfetto",
3677    srcs = [
3678        ":include_perfetto_base_base",
3679        ":include_perfetto_ext_base_base",
3680        ":include_perfetto_ext_ipc_ipc",
3681        ":include_perfetto_ext_traced_traced",
3682        ":include_perfetto_ext_tracing_core_core",
3683        ":include_perfetto_ext_tracing_ipc_ipc",
3684        ":include_perfetto_protozero_protozero",
3685        ":include_perfetto_tracing_core_core",
3686        ":include_perfetto_tracing_core_forward_decls",
3687        ":include_perfetto_tracing_tracing",
3688        ":src_android_stats_android_stats",
3689        ":src_android_stats_perfetto_atoms",
3690        ":src_perfetto_cmd_perfetto_cmd",
3691        ":src_perfetto_cmd_trigger_producer",
3692        ":src_tracing_common",
3693        ":src_tracing_core_core",
3694        ":src_tracing_ipc_common",
3695        ":src_tracing_ipc_consumer_consumer",
3696        ":src_tracing_ipc_default_socket",
3697        ":src_tracing_ipc_producer_producer",
3698        "src/perfetto_cmd/main.cc",
3699    ],
3700    visibility = [
3701        "//visibility:public",
3702    ],
3703    deps = [
3704        ":perfetto_ipc",
3705        ":protos_perfetto_common_cpp",
3706        ":protos_perfetto_common_zero",
3707        ":protos_perfetto_config_android_cpp",
3708        ":protos_perfetto_config_android_zero",
3709        ":protos_perfetto_config_cpp",
3710        ":protos_perfetto_config_ftrace_cpp",
3711        ":protos_perfetto_config_ftrace_zero",
3712        ":protos_perfetto_config_gpu_cpp",
3713        ":protos_perfetto_config_gpu_zero",
3714        ":protos_perfetto_config_inode_file_cpp",
3715        ":protos_perfetto_config_inode_file_zero",
3716        ":protos_perfetto_config_interceptors_cpp",
3717        ":protos_perfetto_config_interceptors_zero",
3718        ":protos_perfetto_config_power_cpp",
3719        ":protos_perfetto_config_power_zero",
3720        ":protos_perfetto_config_process_stats_cpp",
3721        ":protos_perfetto_config_process_stats_zero",
3722        ":protos_perfetto_config_profiling_cpp",
3723        ":protos_perfetto_config_profiling_zero",
3724        ":protos_perfetto_config_sys_stats_cpp",
3725        ":protos_perfetto_config_sys_stats_zero",
3726        ":protos_perfetto_config_track_event_cpp",
3727        ":protos_perfetto_config_track_event_zero",
3728        ":protos_perfetto_config_zero",
3729        ":protos_perfetto_ipc_cpp",
3730        ":protos_perfetto_ipc_ipc",
3731        ":protos_perfetto_trace_android_zero",
3732        ":protos_perfetto_trace_chrome_zero",
3733        ":protos_perfetto_trace_filesystem_zero",
3734        ":protos_perfetto_trace_ftrace_zero",
3735        ":protos_perfetto_trace_gpu_zero",
3736        ":protos_perfetto_trace_interned_data_zero",
3737        ":protos_perfetto_trace_minimal_zero",
3738        ":protos_perfetto_trace_non_minimal_zero",
3739        ":protos_perfetto_trace_perfetto_zero",
3740        ":protos_perfetto_trace_power_zero",
3741        ":protos_perfetto_trace_profiling_zero",
3742        ":protos_perfetto_trace_ps_zero",
3743        ":protos_perfetto_trace_sys_stats_zero",
3744        ":protos_perfetto_trace_system_info_zero",
3745        ":protos_perfetto_trace_track_event_cpp",
3746        ":protos_perfetto_trace_track_event_zero",
3747        ":protos_perfetto_trace_translation_zero",
3748        ":protozero",
3749        ":src_base_base",
3750        ":src_perfetto_cmd_gen_cc_config_descriptor",
3751        ":src_perfetto_cmd_protos_cpp",
3752    ] + PERFETTO_CONFIG.deps.zlib,
3753)
3754
3755# GN target: //src/trace_processor:trace_processor
3756perfetto_cc_library(
3757    name = "trace_processor",
3758    srcs = [
3759        ":src_trace_processor_analysis_analysis",
3760        ":src_trace_processor_db_db",
3761        ":src_trace_processor_export_json",
3762        ":src_trace_processor_ftrace_descriptors",
3763        ":src_trace_processor_importers_common_common",
3764        ":src_trace_processor_importers_memory_tracker_graph_processor",
3765        ":src_trace_processor_lib",
3766        ":src_trace_processor_metatrace",
3767        ":src_trace_processor_metrics_metrics",
3768        ":src_trace_processor_sqlite_sqlite",
3769        ":src_trace_processor_storage_full",
3770        ":src_trace_processor_storage_minimal",
3771        ":src_trace_processor_storage_storage",
3772        ":src_trace_processor_tables_tables",
3773        ":src_trace_processor_types_types",
3774        ":src_trace_processor_util_descriptors",
3775        ":src_trace_processor_util_gzip",
3776        ":src_trace_processor_util_interned_message_view",
3777        ":src_trace_processor_util_proto_to_args_parser",
3778        ":src_trace_processor_util_protozero_to_text",
3779        ":src_trace_processor_util_util",
3780    ],
3781    hdrs = [
3782        ":include_perfetto_base_base",
3783        ":include_perfetto_ext_base_base",
3784        ":include_perfetto_ext_trace_processor_export_json",
3785        ":include_perfetto_ext_trace_processor_importers_memory_tracker_memory_tracker",
3786        ":include_perfetto_ext_traced_sys_stats_counters",
3787        ":include_perfetto_trace_processor_basic_types",
3788        ":include_perfetto_trace_processor_storage",
3789        ":include_perfetto_trace_processor_trace_processor",
3790    ],
3791    visibility = [
3792        "//visibility:public",
3793    ],
3794    deps = [
3795               ":protos_perfetto_common_zero",
3796               ":protos_perfetto_config_android_zero",
3797               ":protos_perfetto_config_ftrace_zero",
3798               ":protos_perfetto_config_gpu_zero",
3799               ":protos_perfetto_config_inode_file_zero",
3800               ":protos_perfetto_config_interceptors_zero",
3801               ":protos_perfetto_config_power_zero",
3802               ":protos_perfetto_config_process_stats_zero",
3803               ":protos_perfetto_config_profiling_zero",
3804               ":protos_perfetto_config_sys_stats_zero",
3805               ":protos_perfetto_config_track_event_zero",
3806               ":protos_perfetto_config_zero",
3807               ":protos_perfetto_trace_android_zero",
3808               ":protos_perfetto_trace_chrome_zero",
3809               ":protos_perfetto_trace_filesystem_zero",
3810               ":protos_perfetto_trace_ftrace_zero",
3811               ":protos_perfetto_trace_gpu_zero",
3812               ":protos_perfetto_trace_interned_data_zero",
3813               ":protos_perfetto_trace_minimal_zero",
3814               ":protos_perfetto_trace_non_minimal_zero",
3815               ":protos_perfetto_trace_perfetto_zero",
3816               ":protos_perfetto_trace_power_zero",
3817               ":protos_perfetto_trace_processor_metrics_impl_zero",
3818               ":protos_perfetto_trace_processor_zero",
3819               ":protos_perfetto_trace_profiling_zero",
3820               ":protos_perfetto_trace_ps_zero",
3821               ":protos_perfetto_trace_sys_stats_zero",
3822               ":protos_perfetto_trace_system_info_zero",
3823               ":protos_perfetto_trace_track_event_zero",
3824               ":protos_perfetto_trace_translation_zero",
3825               ":protozero",
3826               ":src_base_base",
3827               ":src_trace_processor_containers_containers",
3828               ":src_trace_processor_importers_gen_cc_chrome_track_event_descriptor",
3829               ":src_trace_processor_importers_gen_cc_config_descriptor",
3830               ":src_trace_processor_importers_gen_cc_track_event_descriptor",
3831               ":src_trace_processor_metrics_gen_cc_all_chrome_metrics_descriptor",
3832               ":src_trace_processor_metrics_gen_cc_metrics_descriptor",
3833           ] + PERFETTO_CONFIG.deps.jsoncpp +
3834           PERFETTO_CONFIG.deps.sqlite +
3835           PERFETTO_CONFIG.deps.sqlite_ext_percentile +
3836           PERFETTO_CONFIG.deps.zlib + [
3837        ":cc_amalgamated_sql_metrics",
3838    ] +
3839           PERFETTO_CONFIG.deps.demangle_wrapper,
3840    linkstatic = True,
3841)
3842
3843# GN target: //src/trace_processor:trace_processor_shell
3844perfetto_cc_binary(
3845    name = "trace_processor_shell",
3846    srcs = [
3847        ":include_perfetto_base_base",
3848        ":include_perfetto_ext_base_base",
3849        ":include_perfetto_ext_trace_processor_export_json",
3850        ":include_perfetto_ext_trace_processor_importers_memory_tracker_memory_tracker",
3851        ":include_perfetto_ext_traced_sys_stats_counters",
3852        ":include_perfetto_protozero_protozero",
3853        ":include_perfetto_trace_processor_basic_types",
3854        ":include_perfetto_trace_processor_storage",
3855        ":include_perfetto_trace_processor_trace_processor",
3856        ":src_profiling_deobfuscator",
3857        ":src_profiling_symbolizer_symbolize_database",
3858        ":src_profiling_symbolizer_symbolizer",
3859        ":src_protozero_proto_ring_buffer",
3860        ":src_trace_processor_analysis_analysis",
3861        ":src_trace_processor_db_db",
3862        ":src_trace_processor_export_json",
3863        ":src_trace_processor_ftrace_descriptors",
3864        ":src_trace_processor_importers_common_common",
3865        ":src_trace_processor_importers_memory_tracker_graph_processor",
3866        ":src_trace_processor_lib",
3867        ":src_trace_processor_metatrace",
3868        ":src_trace_processor_metrics_metrics",
3869        ":src_trace_processor_rpc_httpd",
3870        ":src_trace_processor_rpc_rpc",
3871        ":src_trace_processor_sqlite_sqlite",
3872        ":src_trace_processor_storage_full",
3873        ":src_trace_processor_storage_minimal",
3874        ":src_trace_processor_storage_storage",
3875        ":src_trace_processor_tables_tables",
3876        ":src_trace_processor_types_types",
3877        ":src_trace_processor_util_descriptors",
3878        ":src_trace_processor_util_gzip",
3879        ":src_trace_processor_util_interned_message_view",
3880        ":src_trace_processor_util_proto_to_args_parser",
3881        ":src_trace_processor_util_protozero_to_text",
3882        ":src_trace_processor_util_util",
3883        "src/trace_processor/trace_processor_shell.cc",
3884        "src/trace_processor/util/proto_to_json.cc",
3885        "src/trace_processor/util/proto_to_json.h",
3886    ],
3887    visibility = [
3888        "//visibility:public",
3889    ],
3890    deps = [
3891               ":protos_perfetto_common_zero",
3892               ":protos_perfetto_config_android_zero",
3893               ":protos_perfetto_config_ftrace_zero",
3894               ":protos_perfetto_config_gpu_zero",
3895               ":protos_perfetto_config_inode_file_zero",
3896               ":protos_perfetto_config_interceptors_zero",
3897               ":protos_perfetto_config_power_zero",
3898               ":protos_perfetto_config_process_stats_zero",
3899               ":protos_perfetto_config_profiling_zero",
3900               ":protos_perfetto_config_sys_stats_zero",
3901               ":protos_perfetto_config_track_event_zero",
3902               ":protos_perfetto_config_zero",
3903               ":protos_perfetto_trace_android_zero",
3904               ":protos_perfetto_trace_chrome_zero",
3905               ":protos_perfetto_trace_filesystem_zero",
3906               ":protos_perfetto_trace_ftrace_zero",
3907               ":protos_perfetto_trace_gpu_zero",
3908               ":protos_perfetto_trace_interned_data_zero",
3909               ":protos_perfetto_trace_minimal_zero",
3910               ":protos_perfetto_trace_non_minimal_zero",
3911               ":protos_perfetto_trace_perfetto_zero",
3912               ":protos_perfetto_trace_power_zero",
3913               ":protos_perfetto_trace_processor_metrics_impl_zero",
3914               ":protos_perfetto_trace_processor_zero",
3915               ":protos_perfetto_trace_profiling_zero",
3916               ":protos_perfetto_trace_ps_zero",
3917               ":protos_perfetto_trace_sys_stats_zero",
3918               ":protos_perfetto_trace_system_info_zero",
3919               ":protos_perfetto_trace_track_event_zero",
3920               ":protos_perfetto_trace_translation_zero",
3921               ":protozero",
3922               ":src_base_base",
3923               ":src_base_http_http",
3924               ":src_trace_processor_containers_containers",
3925               ":src_trace_processor_importers_gen_cc_chrome_track_event_descriptor",
3926               ":src_trace_processor_importers_gen_cc_config_descriptor",
3927               ":src_trace_processor_importers_gen_cc_track_event_descriptor",
3928               ":src_trace_processor_metrics_gen_cc_all_chrome_metrics_descriptor",
3929               ":src_trace_processor_metrics_gen_cc_metrics_descriptor",
3930           ] + PERFETTO_CONFIG.deps.jsoncpp +
3931           PERFETTO_CONFIG.deps.linenoise +
3932           PERFETTO_CONFIG.deps.protobuf_full +
3933           PERFETTO_CONFIG.deps.sqlite +
3934           PERFETTO_CONFIG.deps.sqlite_ext_percentile +
3935           PERFETTO_CONFIG.deps.zlib + [
3936        ":cc_amalgamated_sql_metrics",
3937    ] +
3938           PERFETTO_CONFIG.deps.demangle_wrapper,
3939)
3940
3941# GN target: //src/traced/probes:traced_probes
3942perfetto_cc_binary(
3943    name = "traced_probes",
3944    srcs = [
3945        ":include_perfetto_ext_traced_traced",
3946        "src/traced/probes/main.cc",
3947    ],
3948    visibility = [
3949        "//visibility:public",
3950    ],
3951    deps = [
3952        ":libperfetto",
3953    ],
3954)
3955
3956# GN target: //src/traced/service:traced
3957perfetto_cc_binary(
3958    name = "traced",
3959    srcs = [
3960        ":include_perfetto_ext_traced_traced",
3961        "src/traced/service/main.cc",
3962    ],
3963    visibility = [
3964        "//visibility:public",
3965    ],
3966    deps = [
3967        ":libperfetto",
3968    ],
3969)
3970
3971# GN target: //tools/trace_to_text:libpprofbuilder
3972perfetto_cc_library(
3973    name = "libpprofbuilder",
3974    srcs = [
3975        ":src_profiling_deobfuscator",
3976        ":src_profiling_symbolizer_symbolize_database",
3977        ":src_profiling_symbolizer_symbolizer",
3978        ":tools_trace_to_text_pprofbuilder",
3979        ":tools_trace_to_text_utils",
3980    ],
3981    hdrs = [
3982        ":include_perfetto_base_base",
3983        ":include_perfetto_ext_base_base",
3984        ":include_perfetto_profiling_pprof_builder",
3985        ":include_perfetto_protozero_protozero",
3986        ":include_perfetto_trace_processor_basic_types",
3987        ":include_perfetto_trace_processor_storage",
3988        ":include_perfetto_trace_processor_trace_processor",
3989    ],
3990    visibility = [
3991        "//visibility:public",
3992    ],
3993    deps = [
3994        ":protos_perfetto_common_zero",
3995        ":protos_perfetto_config_android_zero",
3996        ":protos_perfetto_config_ftrace_zero",
3997        ":protos_perfetto_config_gpu_zero",
3998        ":protos_perfetto_config_inode_file_zero",
3999        ":protos_perfetto_config_interceptors_zero",
4000        ":protos_perfetto_config_power_zero",
4001        ":protos_perfetto_config_process_stats_zero",
4002        ":protos_perfetto_config_profiling_zero",
4003        ":protos_perfetto_config_sys_stats_zero",
4004        ":protos_perfetto_config_track_event_zero",
4005        ":protos_perfetto_config_zero",
4006        ":protos_perfetto_trace_android_zero",
4007        ":protos_perfetto_trace_chrome_zero",
4008        ":protos_perfetto_trace_filesystem_zero",
4009        ":protos_perfetto_trace_ftrace_zero",
4010        ":protos_perfetto_trace_gpu_zero",
4011        ":protos_perfetto_trace_interned_data_zero",
4012        ":protos_perfetto_trace_minimal_zero",
4013        ":protos_perfetto_trace_non_minimal_zero",
4014        ":protos_perfetto_trace_perfetto_zero",
4015        ":protos_perfetto_trace_power_zero",
4016        ":protos_perfetto_trace_profiling_zero",
4017        ":protos_perfetto_trace_ps_zero",
4018        ":protos_perfetto_trace_sys_stats_zero",
4019        ":protos_perfetto_trace_system_info_zero",
4020        ":protos_perfetto_trace_track_event_zero",
4021        ":protos_perfetto_trace_translation_zero",
4022        ":protos_third_party_pprof_zero",
4023        ":protozero",
4024        ":src_trace_processor_containers_containers",
4025    ] + PERFETTO_CONFIG.deps.zlib,
4026    linkstatic = True,
4027)
4028
4029# GN target: //tools/trace_to_text:trace_to_text
4030perfetto_cc_binary(
4031    name = "trace_to_text",
4032    srcs = [
4033        ":include_perfetto_base_base",
4034        ":include_perfetto_ext_base_base",
4035        ":include_perfetto_ext_trace_processor_export_json",
4036        ":include_perfetto_ext_trace_processor_importers_memory_tracker_memory_tracker",
4037        ":include_perfetto_ext_traced_sys_stats_counters",
4038        ":include_perfetto_profiling_pprof_builder",
4039        ":include_perfetto_protozero_protozero",
4040        ":include_perfetto_trace_processor_basic_types",
4041        ":include_perfetto_trace_processor_storage",
4042        ":include_perfetto_trace_processor_trace_processor",
4043        ":src_profiling_deobfuscator",
4044        ":src_profiling_symbolizer_symbolize_database",
4045        ":src_profiling_symbolizer_symbolizer",
4046        ":src_protozero_proto_ring_buffer",
4047        ":src_trace_processor_analysis_analysis",
4048        ":src_trace_processor_db_db",
4049        ":src_trace_processor_export_json",
4050        ":src_trace_processor_ftrace_descriptors",
4051        ":src_trace_processor_importers_common_common",
4052        ":src_trace_processor_importers_memory_tracker_graph_processor",
4053        ":src_trace_processor_lib",
4054        ":src_trace_processor_metatrace",
4055        ":src_trace_processor_metrics_metrics",
4056        ":src_trace_processor_sqlite_sqlite",
4057        ":src_trace_processor_storage_full",
4058        ":src_trace_processor_storage_minimal",
4059        ":src_trace_processor_storage_storage",
4060        ":src_trace_processor_tables_tables",
4061        ":src_trace_processor_types_types",
4062        ":src_trace_processor_util_descriptors",
4063        ":src_trace_processor_util_gzip",
4064        ":src_trace_processor_util_interned_message_view",
4065        ":src_trace_processor_util_proto_to_args_parser",
4066        ":src_trace_processor_util_protozero_to_text",
4067        ":src_trace_processor_util_util",
4068        ":tools_trace_to_text_lib",
4069        ":tools_trace_to_text_main",
4070        ":tools_trace_to_text_pprofbuilder",
4071        ":tools_trace_to_text_utils",
4072    ],
4073    visibility = [
4074        "//visibility:public",
4075    ],
4076    deps = [
4077               ":protos_perfetto_common_zero",
4078               ":protos_perfetto_config_android_zero",
4079               ":protos_perfetto_config_ftrace_zero",
4080               ":protos_perfetto_config_gpu_zero",
4081               ":protos_perfetto_config_inode_file_zero",
4082               ":protos_perfetto_config_interceptors_zero",
4083               ":protos_perfetto_config_power_zero",
4084               ":protos_perfetto_config_process_stats_zero",
4085               ":protos_perfetto_config_profiling_zero",
4086               ":protos_perfetto_config_sys_stats_zero",
4087               ":protos_perfetto_config_track_event_zero",
4088               ":protos_perfetto_config_zero",
4089               ":protos_perfetto_trace_android_zero",
4090               ":protos_perfetto_trace_chrome_zero",
4091               ":protos_perfetto_trace_filesystem_zero",
4092               ":protos_perfetto_trace_ftrace_zero",
4093               ":protos_perfetto_trace_gpu_zero",
4094               ":protos_perfetto_trace_interned_data_zero",
4095               ":protos_perfetto_trace_minimal_zero",
4096               ":protos_perfetto_trace_non_minimal_zero",
4097               ":protos_perfetto_trace_perfetto_zero",
4098               ":protos_perfetto_trace_power_zero",
4099               ":protos_perfetto_trace_processor_metrics_impl_zero",
4100               ":protos_perfetto_trace_processor_zero",
4101               ":protos_perfetto_trace_profiling_zero",
4102               ":protos_perfetto_trace_ps_zero",
4103               ":protos_perfetto_trace_sys_stats_zero",
4104               ":protos_perfetto_trace_system_info_zero",
4105               ":protos_perfetto_trace_track_event_zero",
4106               ":protos_perfetto_trace_translation_zero",
4107               ":protos_third_party_pprof_zero",
4108               ":protozero",
4109               ":src_base_base",
4110               ":src_trace_processor_containers_containers",
4111               ":src_trace_processor_importers_gen_cc_chrome_track_event_descriptor",
4112               ":src_trace_processor_importers_gen_cc_config_descriptor",
4113               ":src_trace_processor_importers_gen_cc_track_event_descriptor",
4114               ":src_trace_processor_metrics_gen_cc_all_chrome_metrics_descriptor",
4115               ":src_trace_processor_metrics_gen_cc_metrics_descriptor",
4116               ":tools_trace_to_text_gen_cc_trace_descriptor",
4117           ] + PERFETTO_CONFIG.deps.jsoncpp +
4118           PERFETTO_CONFIG.deps.sqlite +
4119           PERFETTO_CONFIG.deps.sqlite_ext_percentile +
4120           PERFETTO_CONFIG.deps.zlib + [
4121        ":cc_amalgamated_sql_metrics",
4122    ] +
4123           PERFETTO_CONFIG.deps.demangle_wrapper,
4124)
4125
4126# Content from BUILD.extras
4127
4128build_config_dir_ = "include/perfetto/base/build_configs/bazel"
4129
4130# Deliberately NOT a perfetto_cc_library, to avoid cyclic deps.
4131# This is pulled as a default dep by all targets.
4132perfetto_build_config_cc_library(
4133    name = "build_config_hdr",
4134    hdrs = [build_config_dir_ + "/perfetto_build_flags.h"],
4135    includes = [build_config_dir_],
4136)
4137
4138perfetto_cc_library(
4139    name = "cc_amalgamated_sql_metrics",
4140    hdrs = ["src/trace_processor/metrics/sql/amalgamated_sql_metrics.h"],
4141)
4142
4143perfetto_py_binary(
4144    name = "gen_amalgamated_sql_metrics_py",
4145    srcs = [
4146        "tools/gen_amalgamated_sql_metrics.py",
4147    ],
4148    main = "tools/gen_amalgamated_sql_metrics.py",
4149    python_version = "PY3",
4150)
4151
4152perfetto_py_binary(
4153    name = "gen_cc_proto_descriptor_py",
4154    srcs = [
4155        "tools/gen_cc_proto_descriptor.py",
4156    ],
4157    main = "tools/gen_cc_proto_descriptor.py",
4158    python_version = "PY3",
4159)
4160
4161perfetto_java_proto_library(
4162    name = "protos_perfetto_metrics_java",
4163    deps = [
4164        ":protos_perfetto_metrics_protos",
4165    ],
4166    visibility = PERFETTO_CONFIG.public_visibility,
4167)
4168
4169perfetto_java_proto_library(
4170    name = "protos_perfetto_metrics_android_java",
4171    deps = [
4172        ":protos_perfetto_metrics_android_protos",
4173    ],
4174    visibility = PERFETTO_CONFIG.public_visibility,
4175)
4176
4177perfetto_gensignature_internal_only(
4178    name = "trace_processor_sig",
4179    srcs = [
4180        ":trace_processor_shell",
4181        ":trace_to_text",
4182    ],
4183    tags = [
4184        "__TRACE_PROCESSOR_SIG_TAG1",
4185        "__TRACE_PROCESSOR_SIG_TAG2",
4186    ],
4187)
4188
4189# This is overridden in google internal builds via
4190# PERFETTO_CONFIG.deps.version_header (see perfetto_cfg.bzl).
4191perfetto_cc_library(
4192    name = "cc_perfetto_version_header",
4193    hdrs = ["perfetto_version.gen.h"],
4194)
4195
4196perfetto_py_binary(
4197    name = "gen_version_header_py",
4198    srcs = ["tools/write_version_header.py"],
4199    data = ["CHANGELOG"],
4200    main = "tools/write_version_header.py",
4201    python_version = "PY3",
4202)
4203