| # Copyright (C) 2019 The Android Open Source Project | 
 | # | 
 | # Licensed under the Apache License, Version 2.0 (the "License"); | 
 | # you may not use this file except in compliance with the License. | 
 | # You may obtain a copy of the License at | 
 | # | 
 | #      http://www.apache.org/licenses/LICENSE-2.0 | 
 | # | 
 | # Unless required by applicable law or agreed to in writing, software | 
 | # distributed under the License is distributed on an "AS IS" BASIS, | 
 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
 | # See the License for the specific language governing permissions and | 
 | # limitations under the License. | 
 | # | 
 | # This file is automatically generated by tools/gen_bazel. Do not edit. | 
 |  | 
 | load("@perfetto_cfg//:perfetto_cfg.bzl", "PERFETTO_CONFIG") | 
 | load( | 
 |     "@perfetto//bazel:rules.bzl", | 
 |     "perfetto_cc_binary", | 
 |     "perfetto_cc_ipc_library", | 
 |     "perfetto_cc_library", | 
 |     "perfetto_cc_proto_descriptor", | 
 |     "perfetto_cc_proto_library", | 
 |     "perfetto_cc_protocpp_library", | 
 |     "perfetto_cc_protozero_library", | 
 |     "perfetto_java_proto_library", | 
 |     "perfetto_java_lite_proto_library", | 
 |     "perfetto_proto_library", | 
 |     "perfetto_proto_descriptor", | 
 |     "perfetto_py_binary", | 
 |     "perfetto_py_library", | 
 |     "perfetto_gensignature_internal_only", | 
 | ) | 
 |  | 
 | package(default_visibility = ["//visibility:private"]) | 
 |  | 
 | licenses(["notice"]) | 
 |  | 
 | exports_files(["NOTICE"]) | 
 |  | 
 | # ############################################################################## | 
 | # Internal targets | 
 | # ############################################################################## | 
 |  | 
 | # GN target: //src/ipc/protoc_plugin:ipc_plugin | 
 | perfetto_cc_binary( | 
 |     name = "ipc_plugin", | 
 |     srcs = [ | 
 |         "src/ipc/protoc_plugin/ipc_plugin.cc", | 
 |     ], | 
 |     deps = [ | 
 |         ":src_base_base", | 
 |     ] + PERFETTO_CONFIG.deps.protoc_lib, | 
 | ) | 
 |  | 
 | # GN target: //src/ipc:perfetto_ipc | 
 | perfetto_cc_library( | 
 |     name = "perfetto_ipc", | 
 |     srcs = [ | 
 |         ":src_ipc_client", | 
 |         ":src_ipc_common", | 
 |         ":src_ipc_host", | 
 |     ], | 
 |     hdrs = [ | 
 |         ":include_perfetto_base_base", | 
 |         ":include_perfetto_ext_base_base", | 
 |         ":include_perfetto_ext_ipc_ipc", | 
 |         ":include_perfetto_protozero_protozero", | 
 |     ], | 
 |     deps = [ | 
 |         ":protos_perfetto_ipc_wire_protocol_cpp", | 
 |         ":src_base_base", | 
 |         ":src_base_unix_socket", | 
 |     ], | 
 |     linkstatic = True, | 
 | ) | 
 |  | 
 | # GN target: //src/protozero/protoc_plugin:cppgen_plugin | 
 | perfetto_cc_binary( | 
 |     name = "cppgen_plugin", | 
 |     srcs = [ | 
 |         "src/protozero/protoc_plugin/cppgen_plugin.cc", | 
 |     ], | 
 |     deps = [ | 
 |         ":src_base_base", | 
 |     ] + PERFETTO_CONFIG.deps.protoc_lib, | 
 | ) | 
 |  | 
 | # GN target: //src/protozero/protoc_plugin:protozero_plugin | 
 | perfetto_cc_binary( | 
 |     name = "protozero_plugin", | 
 |     srcs = [ | 
 |         "src/protozero/protoc_plugin/protozero_plugin.cc", | 
 |     ], | 
 |     deps = [ | 
 |         ":src_base_base", | 
 |     ] + PERFETTO_CONFIG.deps.protoc_lib, | 
 | ) | 
 |  | 
 | # GN target: //src/protozero:protozero | 
 | perfetto_cc_library( | 
 |     name = "protozero", | 
 |     srcs = [ | 
 |         "src/protozero/field.cc", | 
 |         "src/protozero/message.cc", | 
 |         "src/protozero/message_arena.cc", | 
 |         "src/protozero/message_handle.cc", | 
 |         "src/protozero/packed_repeated_fields.cc", | 
 |         "src/protozero/proto_decoder.cc", | 
 |         "src/protozero/scattered_heap_buffer.cc", | 
 |         "src/protozero/scattered_stream_null_delegate.cc", | 
 |         "src/protozero/scattered_stream_writer.cc", | 
 |         "src/protozero/static_buffer.cc", | 
 |         "src/protozero/virtual_destructors.cc", | 
 |     ], | 
 |     hdrs = [ | 
 |         ":include_perfetto_base_base", | 
 |         ":include_perfetto_protozero_protozero", | 
 |     ], | 
 |     deps = [ | 
 |         ":src_base_base", | 
 |     ], | 
 |     linkstatic = True, | 
 | ) | 
 |  | 
 | # GN target: //test:client_api_example | 
 | perfetto_cc_binary( | 
 |     name = "client_api_example", | 
 |     srcs = [ | 
 |         ":include_perfetto_base_base", | 
 |         ":include_perfetto_protozero_protozero", | 
 |         ":include_perfetto_tracing_core_forward_decls", | 
 |         ":include_perfetto_tracing_tracing", | 
 |         "test/client_api_example.cc", | 
 |     ], | 
 |     deps = [ | 
 |         ":libperfetto_client_experimental", | 
 |         ":protos_perfetto_common_cpp", | 
 |         ":protos_perfetto_common_zero", | 
 |         ":protos_perfetto_config_android_zero", | 
 |         ":protos_perfetto_config_ftrace_zero", | 
 |         ":protos_perfetto_config_gpu_zero", | 
 |         ":protos_perfetto_config_inode_file_zero", | 
 |         ":protos_perfetto_config_interceptors_zero", | 
 |         ":protos_perfetto_config_power_zero", | 
 |         ":protos_perfetto_config_process_stats_zero", | 
 |         ":protos_perfetto_config_profiling_zero", | 
 |         ":protos_perfetto_config_sys_stats_zero", | 
 |         ":protos_perfetto_config_track_event_cpp", | 
 |         ":protos_perfetto_config_track_event_zero", | 
 |         ":protos_perfetto_config_zero", | 
 |         ":protos_perfetto_trace_android_zero", | 
 |         ":protos_perfetto_trace_chrome_zero", | 
 |         ":protos_perfetto_trace_filesystem_zero", | 
 |         ":protos_perfetto_trace_ftrace_zero", | 
 |         ":protos_perfetto_trace_gpu_zero", | 
 |         ":protos_perfetto_trace_interned_data_zero", | 
 |         ":protos_perfetto_trace_minimal_zero", | 
 |         ":protos_perfetto_trace_non_minimal_zero", | 
 |         ":protos_perfetto_trace_perfetto_zero", | 
 |         ":protos_perfetto_trace_power_zero", | 
 |         ":protos_perfetto_trace_profiling_zero", | 
 |         ":protos_perfetto_trace_ps_zero", | 
 |         ":protos_perfetto_trace_sys_stats_zero", | 
 |         ":protos_perfetto_trace_system_info_zero", | 
 |         ":protos_perfetto_trace_track_event_cpp", | 
 |         ":protos_perfetto_trace_track_event_zero", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //:libperfetto | 
 | perfetto_cc_library( | 
 |     name = "libperfetto", | 
 |     srcs = [ | 
 |         ":src_android_internal_headers", | 
 |         ":src_android_internal_lazy_library_loader", | 
 |         ":src_android_stats_android_stats", | 
 |         ":src_android_stats_perfetto_atoms", | 
 |         ":src_kallsyms_kallsyms", | 
 |         ":src_protozero_filtering_bytecode_common", | 
 |         ":src_protozero_filtering_bytecode_parser", | 
 |         ":src_protozero_filtering_message_filter", | 
 |         ":src_traced_probes_android_log_android_log", | 
 |         ":src_traced_probes_common_common", | 
 |         ":src_traced_probes_data_source", | 
 |         ":src_traced_probes_filesystem_filesystem", | 
 |         ":src_traced_probes_ftrace_format_parser_format_parser", | 
 |         ":src_traced_probes_ftrace_ftrace", | 
 |         ":src_traced_probes_ftrace_ftrace_procfs", | 
 |         ":src_traced_probes_initial_display_state_initial_display_state", | 
 |         ":src_traced_probes_metatrace_metatrace", | 
 |         ":src_traced_probes_packages_list_packages_list", | 
 |         ":src_traced_probes_packages_list_packages_list_parser", | 
 |         ":src_traced_probes_power_power", | 
 |         ":src_traced_probes_probes", | 
 |         ":src_traced_probes_probes_src", | 
 |         ":src_traced_probes_ps_ps", | 
 |         ":src_traced_probes_sys_stats_sys_stats", | 
 |         ":src_traced_probes_system_info_system_info", | 
 |         ":src_traced_service_service", | 
 |         ":src_tracing_common", | 
 |         ":src_tracing_consumer_api_deprecated_consumer_api_deprecated", | 
 |         ":src_tracing_core_core", | 
 |         ":src_tracing_core_service", | 
 |         ":src_tracing_ipc_common", | 
 |         ":src_tracing_ipc_consumer_consumer", | 
 |         ":src_tracing_ipc_producer_producer", | 
 |         ":src_tracing_ipc_service_service", | 
 |     ], | 
 |     hdrs = [ | 
 |         ":include_perfetto_base_base", | 
 |         ":include_perfetto_ext_base_base", | 
 |         ":include_perfetto_ext_ipc_ipc", | 
 |         ":include_perfetto_ext_traced_sys_stats_counters", | 
 |         ":include_perfetto_ext_traced_traced", | 
 |         ":include_perfetto_ext_tracing_core_core", | 
 |         ":include_perfetto_ext_tracing_ipc_ipc", | 
 |         ":include_perfetto_protozero_protozero", | 
 |         ":include_perfetto_public_public", | 
 |         ":include_perfetto_tracing_core_core", | 
 |         ":include_perfetto_tracing_core_forward_decls", | 
 |         ":include_perfetto_tracing_tracing", | 
 |     ], | 
 |     deps = [ | 
 |         ":perfetto_ipc", | 
 |         ":protos_perfetto_common_cpp", | 
 |         ":protos_perfetto_common_zero", | 
 |         ":protos_perfetto_config_android_cpp", | 
 |         ":protos_perfetto_config_android_zero", | 
 |         ":protos_perfetto_config_cpp", | 
 |         ":protos_perfetto_config_ftrace_cpp", | 
 |         ":protos_perfetto_config_ftrace_zero", | 
 |         ":protos_perfetto_config_gpu_cpp", | 
 |         ":protos_perfetto_config_gpu_zero", | 
 |         ":protos_perfetto_config_inode_file_cpp", | 
 |         ":protos_perfetto_config_inode_file_zero", | 
 |         ":protos_perfetto_config_interceptors_cpp", | 
 |         ":protos_perfetto_config_interceptors_zero", | 
 |         ":protos_perfetto_config_power_cpp", | 
 |         ":protos_perfetto_config_power_zero", | 
 |         ":protos_perfetto_config_process_stats_cpp", | 
 |         ":protos_perfetto_config_process_stats_zero", | 
 |         ":protos_perfetto_config_profiling_cpp", | 
 |         ":protos_perfetto_config_profiling_zero", | 
 |         ":protos_perfetto_config_sys_stats_cpp", | 
 |         ":protos_perfetto_config_sys_stats_zero", | 
 |         ":protos_perfetto_config_track_event_cpp", | 
 |         ":protos_perfetto_config_track_event_zero", | 
 |         ":protos_perfetto_config_zero", | 
 |         ":protos_perfetto_ipc_cpp", | 
 |         ":protos_perfetto_ipc_ipc", | 
 |         ":protos_perfetto_trace_android_zero", | 
 |         ":protos_perfetto_trace_chrome_zero", | 
 |         ":protos_perfetto_trace_filesystem_zero", | 
 |         ":protos_perfetto_trace_ftrace_zero", | 
 |         ":protos_perfetto_trace_gpu_zero", | 
 |         ":protos_perfetto_trace_interned_data_zero", | 
 |         ":protos_perfetto_trace_minimal_zero", | 
 |         ":protos_perfetto_trace_non_minimal_zero", | 
 |         ":protos_perfetto_trace_perfetto_zero", | 
 |         ":protos_perfetto_trace_power_zero", | 
 |         ":protos_perfetto_trace_profiling_zero", | 
 |         ":protos_perfetto_trace_ps_zero", | 
 |         ":protos_perfetto_trace_sys_stats_zero", | 
 |         ":protos_perfetto_trace_system_info_zero", | 
 |         ":protos_perfetto_trace_track_event_cpp", | 
 |         ":protos_perfetto_trace_track_event_zero", | 
 |         ":protozero", | 
 |         ":src_base_base", | 
 |     ], | 
 |     linkstatic = True, | 
 | ) | 
 |  | 
 | # GN target: //include/perfetto/base:base | 
 | filegroup( | 
 |     name = "include_perfetto_base_base", | 
 |     srcs = [ | 
 |         "include/perfetto/base/build_config.h", | 
 |         "include/perfetto/base/compiler.h", | 
 |         "include/perfetto/base/export.h", | 
 |         "include/perfetto/base/flat_set.h", | 
 |         "include/perfetto/base/logging.h", | 
 |         "include/perfetto/base/platform_handle.h", | 
 |         "include/perfetto/base/proc_utils.h", | 
 |         "include/perfetto/base/status.h", | 
 |         "include/perfetto/base/task_runner.h", | 
 |         "include/perfetto/base/template_util.h", | 
 |         "include/perfetto/base/thread_utils.h", | 
 |         "include/perfetto/base/time.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //include/perfetto/ext/base:base | 
 | filegroup( | 
 |     name = "include_perfetto_ext_base_base", | 
 |     srcs = [ | 
 |         "include/perfetto/ext/base/circular_queue.h", | 
 |         "include/perfetto/ext/base/container_annotations.h", | 
 |         "include/perfetto/ext/base/ctrl_c_handler.h", | 
 |         "include/perfetto/ext/base/endian.h", | 
 |         "include/perfetto/ext/base/event_fd.h", | 
 |         "include/perfetto/ext/base/file_utils.h", | 
 |         "include/perfetto/ext/base/getopt.h", | 
 |         "include/perfetto/ext/base/getopt_compat.h", | 
 |         "include/perfetto/ext/base/hash.h", | 
 |         "include/perfetto/ext/base/metatrace.h", | 
 |         "include/perfetto/ext/base/metatrace_events.h", | 
 |         "include/perfetto/ext/base/no_destructor.h", | 
 |         "include/perfetto/ext/base/optional.h", | 
 |         "include/perfetto/ext/base/paged_memory.h", | 
 |         "include/perfetto/ext/base/periodic_task.h", | 
 |         "include/perfetto/ext/base/pipe.h", | 
 |         "include/perfetto/ext/base/scoped_file.h", | 
 |         "include/perfetto/ext/base/small_set.h", | 
 |         "include/perfetto/ext/base/string_splitter.h", | 
 |         "include/perfetto/ext/base/string_utils.h", | 
 |         "include/perfetto/ext/base/string_view.h", | 
 |         "include/perfetto/ext/base/string_writer.h", | 
 |         "include/perfetto/ext/base/subprocess.h", | 
 |         "include/perfetto/ext/base/temp_file.h", | 
 |         "include/perfetto/ext/base/thread_annotations.h", | 
 |         "include/perfetto/ext/base/thread_checker.h", | 
 |         "include/perfetto/ext/base/thread_task_runner.h", | 
 |         "include/perfetto/ext/base/thread_utils.h", | 
 |         "include/perfetto/ext/base/unix_socket.h", | 
 |         "include/perfetto/ext/base/unix_task_runner.h", | 
 |         "include/perfetto/ext/base/utils.h", | 
 |         "include/perfetto/ext/base/uuid.h", | 
 |         "include/perfetto/ext/base/version.h", | 
 |         "include/perfetto/ext/base/waitable_event.h", | 
 |         "include/perfetto/ext/base/watchdog.h", | 
 |         "include/perfetto/ext/base/watchdog_noop.h", | 
 |         "include/perfetto/ext/base/watchdog_posix.h", | 
 |         "include/perfetto/ext/base/weak_ptr.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //include/perfetto/ext/ipc:ipc | 
 | filegroup( | 
 |     name = "include_perfetto_ext_ipc_ipc", | 
 |     srcs = [ | 
 |         "include/perfetto/ext/ipc/async_result.h", | 
 |         "include/perfetto/ext/ipc/basic_types.h", | 
 |         "include/perfetto/ext/ipc/client.h", | 
 |         "include/perfetto/ext/ipc/client_info.h", | 
 |         "include/perfetto/ext/ipc/codegen_helpers.h", | 
 |         "include/perfetto/ext/ipc/deferred.h", | 
 |         "include/perfetto/ext/ipc/host.h", | 
 |         "include/perfetto/ext/ipc/service.h", | 
 |         "include/perfetto/ext/ipc/service_descriptor.h", | 
 |         "include/perfetto/ext/ipc/service_proxy.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //include/perfetto/ext/trace_processor/importers/memory_tracker:memory_tracker | 
 | filegroup( | 
 |     name = "include_perfetto_ext_trace_processor_importers_memory_tracker_memory_tracker", | 
 |     srcs = [ | 
 |         "include/perfetto/ext/trace_processor/importers/memory_tracker/graph.h", | 
 |         "include/perfetto/ext/trace_processor/importers/memory_tracker/graph_processor.h", | 
 |         "include/perfetto/ext/trace_processor/importers/memory_tracker/memory_allocator_node_id.h", | 
 |         "include/perfetto/ext/trace_processor/importers/memory_tracker/memory_graph_edge.h", | 
 |         "include/perfetto/ext/trace_processor/importers/memory_tracker/raw_memory_graph_node.h", | 
 |         "include/perfetto/ext/trace_processor/importers/memory_tracker/raw_process_memory_node.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //include/perfetto/ext/trace_processor:export_json | 
 | filegroup( | 
 |     name = "include_perfetto_ext_trace_processor_export_json", | 
 |     srcs = [ | 
 |         "include/perfetto/ext/trace_processor/export_json.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //include/perfetto/ext/traced:sys_stats_counters | 
 | filegroup( | 
 |     name = "include_perfetto_ext_traced_sys_stats_counters", | 
 |     srcs = [ | 
 |         "include/perfetto/ext/traced/sys_stats_counters.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //include/perfetto/ext/traced:traced | 
 | filegroup( | 
 |     name = "include_perfetto_ext_traced_traced", | 
 |     srcs = [ | 
 |         "include/perfetto/ext/traced/data_source_types.h", | 
 |         "include/perfetto/ext/traced/traced.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //include/perfetto/ext/tracing/core:core | 
 | filegroup( | 
 |     name = "include_perfetto_ext_tracing_core_core", | 
 |     srcs = [ | 
 |         "include/perfetto/ext/tracing/core/basic_types.h", | 
 |         "include/perfetto/ext/tracing/core/commit_data_request.h", | 
 |         "include/perfetto/ext/tracing/core/consumer.h", | 
 |         "include/perfetto/ext/tracing/core/observable_events.h", | 
 |         "include/perfetto/ext/tracing/core/producer.h", | 
 |         "include/perfetto/ext/tracing/core/shared_memory.h", | 
 |         "include/perfetto/ext/tracing/core/shared_memory_abi.h", | 
 |         "include/perfetto/ext/tracing/core/shared_memory_arbiter.h", | 
 |         "include/perfetto/ext/tracing/core/slice.h", | 
 |         "include/perfetto/ext/tracing/core/trace_packet.h", | 
 |         "include/perfetto/ext/tracing/core/trace_stats.h", | 
 |         "include/perfetto/ext/tracing/core/trace_writer.h", | 
 |         "include/perfetto/ext/tracing/core/tracing_service.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //include/perfetto/ext/tracing/ipc:ipc | 
 | filegroup( | 
 |     name = "include_perfetto_ext_tracing_ipc_ipc", | 
 |     srcs = [ | 
 |         "include/perfetto/ext/tracing/ipc/consumer_ipc_client.h", | 
 |         "include/perfetto/ext/tracing/ipc/default_socket.h", | 
 |         "include/perfetto/ext/tracing/ipc/producer_ipc_client.h", | 
 |         "include/perfetto/ext/tracing/ipc/service_ipc_host.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //include/perfetto/profiling:pprof_builder | 
 | filegroup( | 
 |     name = "include_perfetto_profiling_pprof_builder", | 
 |     srcs = [ | 
 |         "include/perfetto/profiling/pprof_builder.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //include/perfetto/protozero:protozero | 
 | filegroup( | 
 |     name = "include_perfetto_protozero_protozero", | 
 |     srcs = [ | 
 |         "include/perfetto/protozero/contiguous_memory_range.h", | 
 |         "include/perfetto/protozero/copyable_ptr.h", | 
 |         "include/perfetto/protozero/cpp_message_obj.h", | 
 |         "include/perfetto/protozero/field.h", | 
 |         "include/perfetto/protozero/field_writer.h", | 
 |         "include/perfetto/protozero/message.h", | 
 |         "include/perfetto/protozero/message_arena.h", | 
 |         "include/perfetto/protozero/message_handle.h", | 
 |         "include/perfetto/protozero/packed_repeated_fields.h", | 
 |         "include/perfetto/protozero/proto_decoder.h", | 
 |         "include/perfetto/protozero/proto_utils.h", | 
 |         "include/perfetto/protozero/root_message.h", | 
 |         "include/perfetto/protozero/scattered_heap_buffer.h", | 
 |         "include/perfetto/protozero/scattered_stream_null_delegate.h", | 
 |         "include/perfetto/protozero/scattered_stream_writer.h", | 
 |         "include/perfetto/protozero/static_buffer.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //include/perfetto/public:public | 
 | filegroup( | 
 |     name = "include_perfetto_public_public", | 
 |     srcs = [ | 
 |         "include/perfetto/public/consumer_api.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //include/perfetto/trace_processor:basic_types | 
 | filegroup( | 
 |     name = "include_perfetto_trace_processor_basic_types", | 
 |     srcs = [ | 
 |         "include/perfetto/trace_processor/basic_types.h", | 
 |         "include/perfetto/trace_processor/status.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //include/perfetto/trace_processor:storage | 
 | filegroup( | 
 |     name = "include_perfetto_trace_processor_storage", | 
 |     srcs = [ | 
 |         "include/perfetto/trace_processor/trace_processor_storage.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //include/perfetto/trace_processor:trace_processor | 
 | filegroup( | 
 |     name = "include_perfetto_trace_processor_trace_processor", | 
 |     srcs = [ | 
 |         "include/perfetto/trace_processor/iterator.h", | 
 |         "include/perfetto/trace_processor/read_trace.h", | 
 |         "include/perfetto/trace_processor/trace_processor.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //include/perfetto/tracing/core:core | 
 | filegroup( | 
 |     name = "include_perfetto_tracing_core_core", | 
 |     srcs = [ | 
 |         "include/perfetto/tracing/core/chrome_config.h", | 
 |         "include/perfetto/tracing/core/data_source_config.h", | 
 |         "include/perfetto/tracing/core/data_source_descriptor.h", | 
 |         "include/perfetto/tracing/core/trace_config.h", | 
 |         "include/perfetto/tracing/core/tracing_service_capabilities.h", | 
 |         "include/perfetto/tracing/core/tracing_service_state.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //include/perfetto/tracing/core:forward_decls | 
 | filegroup( | 
 |     name = "include_perfetto_tracing_core_forward_decls", | 
 |     srcs = [ | 
 |         "include/perfetto/tracing/core/forward_decls.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //include/perfetto/tracing:tracing | 
 | filegroup( | 
 |     name = "include_perfetto_tracing_tracing", | 
 |     srcs = [ | 
 |         "include/perfetto/tracing/backend_type.h", | 
 |         "include/perfetto/tracing/buffer_exhausted_policy.h", | 
 |         "include/perfetto/tracing/console_interceptor.h", | 
 |         "include/perfetto/tracing/data_source.h", | 
 |         "include/perfetto/tracing/debug_annotation.h", | 
 |         "include/perfetto/tracing/event_context.h", | 
 |         "include/perfetto/tracing/interceptor.h", | 
 |         "include/perfetto/tracing/internal/basic_types.h", | 
 |         "include/perfetto/tracing/internal/checked_scope.h", | 
 |         "include/perfetto/tracing/internal/compile_time_hash.h", | 
 |         "include/perfetto/tracing/internal/data_source_internal.h", | 
 |         "include/perfetto/tracing/internal/in_process_tracing_backend.h", | 
 |         "include/perfetto/tracing/internal/interceptor_trace_writer.h", | 
 |         "include/perfetto/tracing/internal/system_tracing_backend.h", | 
 |         "include/perfetto/tracing/internal/tracing_backend_fake.h", | 
 |         "include/perfetto/tracing/internal/tracing_muxer.h", | 
 |         "include/perfetto/tracing/internal/tracing_tls.h", | 
 |         "include/perfetto/tracing/internal/track_event_data_source.h", | 
 |         "include/perfetto/tracing/internal/track_event_internal.h", | 
 |         "include/perfetto/tracing/internal/track_event_interned_fields.h", | 
 |         "include/perfetto/tracing/internal/track_event_macros.h", | 
 |         "include/perfetto/tracing/internal/write_track_event_args.h", | 
 |         "include/perfetto/tracing/locked_handle.h", | 
 |         "include/perfetto/tracing/platform.h", | 
 |         "include/perfetto/tracing/string_helpers.h", | 
 |         "include/perfetto/tracing/trace_writer_base.h", | 
 |         "include/perfetto/tracing/traced_proto.h", | 
 |         "include/perfetto/tracing/traced_value.h", | 
 |         "include/perfetto/tracing/traced_value_forward.h", | 
 |         "include/perfetto/tracing/tracing.h", | 
 |         "include/perfetto/tracing/tracing_backend.h", | 
 |         "include/perfetto/tracing/tracing_policy.h", | 
 |         "include/perfetto/tracing/track.h", | 
 |         "include/perfetto/tracing/track_event.h", | 
 |         "include/perfetto/tracing/track_event_category_registry.h", | 
 |         "include/perfetto/tracing/track_event_interned_data_index.h", | 
 |         "include/perfetto/tracing/track_event_legacy.h", | 
 |         "include/perfetto/tracing/track_event_state_tracker.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/android_internal:headers | 
 | filegroup( | 
 |     name = "src_android_internal_headers", | 
 |     srcs = [ | 
 |         "src/android_internal/atrace_hal.h", | 
 |         "src/android_internal/health_hal.h", | 
 |         "src/android_internal/incident_service.h", | 
 |         "src/android_internal/power_stats.h", | 
 |         "src/android_internal/statsd_logging.h", | 
 |         "src/android_internal/tracing_service_proxy.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/android_internal:lazy_library_loader | 
 | filegroup( | 
 |     name = "src_android_internal_lazy_library_loader", | 
 |     srcs = [ | 
 |         "src/android_internal/lazy_library_loader.cc", | 
 |         "src/android_internal/lazy_library_loader.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/android_stats:android_stats | 
 | filegroup( | 
 |     name = "src_android_stats_android_stats", | 
 |     srcs = [ | 
 |         "src/android_stats/statsd_logging_helper.cc", | 
 |         "src/android_stats/statsd_logging_helper.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/android_stats:perfetto_atoms | 
 | filegroup( | 
 |     name = "src_android_stats_perfetto_atoms", | 
 |     srcs = [ | 
 |         "src/android_stats/perfetto_atoms.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/base:base | 
 | perfetto_cc_library( | 
 |     name = "src_base_base", | 
 |     srcs = [ | 
 |         "src/base/ctrl_c_handler.cc", | 
 |         "src/base/event_fd.cc", | 
 |         "src/base/file_utils.cc", | 
 |         "src/base/getopt_compat.cc", | 
 |         "src/base/logging.cc", | 
 |         "src/base/metatrace.cc", | 
 |         "src/base/paged_memory.cc", | 
 |         "src/base/periodic_task.cc", | 
 |         "src/base/pipe.cc", | 
 |         "src/base/status.cc", | 
 |         "src/base/string_splitter.cc", | 
 |         "src/base/string_utils.cc", | 
 |         "src/base/string_view.cc", | 
 |         "src/base/subprocess.cc", | 
 |         "src/base/subprocess_posix.cc", | 
 |         "src/base/subprocess_windows.cc", | 
 |         "src/base/temp_file.cc", | 
 |         "src/base/thread_checker.cc", | 
 |         "src/base/thread_task_runner.cc", | 
 |         "src/base/time.cc", | 
 |         "src/base/unix_task_runner.cc", | 
 |         "src/base/utils.cc", | 
 |         "src/base/uuid.cc", | 
 |         "src/base/version.cc", | 
 |         "src/base/virtual_destructors.cc", | 
 |         "src/base/waitable_event.cc", | 
 |         "src/base/watchdog_posix.cc", | 
 |     ], | 
 |     hdrs = [ | 
 |         ":include_perfetto_base_base", | 
 |         ":include_perfetto_ext_base_base", | 
 |     ], | 
 |     deps = [ | 
 |     ] + PERFETTO_CONFIG.deps.version_header, | 
 |     linkstatic = True, | 
 | ) | 
 |  | 
 | # GN target: //src/base:unix_socket | 
 | perfetto_cc_library( | 
 |     name = "src_base_unix_socket", | 
 |     srcs = [ | 
 |         "src/base/unix_socket.cc", | 
 |     ], | 
 |     hdrs = [ | 
 |         ":include_perfetto_base_base", | 
 |         ":include_perfetto_ext_base_base", | 
 |     ], | 
 |     linkstatic = True, | 
 | ) | 
 |  | 
 | genrule( | 
 |     name = "src_base_version_gen_h", | 
 |     srcs = [ | 
 |         "CHANGELOG", | 
 |     ], | 
 |     outs = [ | 
 |         "perfetto_version.gen.h", | 
 |     ], | 
 |     cmd = "$(location gen_version_header_py) --cpp_out=$@ --changelog=$(location CHANGELOG)", | 
 |     exec_tools = [ | 
 |         ":gen_version_header_py", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/ipc:client | 
 | filegroup( | 
 |     name = "src_ipc_client", | 
 |     srcs = [ | 
 |         "src/ipc/client_impl.cc", | 
 |         "src/ipc/client_impl.h", | 
 |         "src/ipc/service_proxy.cc", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/ipc:common | 
 | filegroup( | 
 |     name = "src_ipc_common", | 
 |     srcs = [ | 
 |         "src/ipc/buffered_frame_deserializer.cc", | 
 |         "src/ipc/buffered_frame_deserializer.h", | 
 |         "src/ipc/deferred.cc", | 
 |         "src/ipc/virtual_destructors.cc", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/ipc:host | 
 | filegroup( | 
 |     name = "src_ipc_host", | 
 |     srcs = [ | 
 |         "src/ipc/host_impl.cc", | 
 |         "src/ipc/host_impl.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/kallsyms:kallsyms | 
 | filegroup( | 
 |     name = "src_kallsyms_kallsyms", | 
 |     srcs = [ | 
 |         "src/kallsyms/kernel_symbol_map.cc", | 
 |         "src/kallsyms/kernel_symbol_map.h", | 
 |         "src/kallsyms/lazy_kernel_symbolizer.cc", | 
 |         "src/kallsyms/lazy_kernel_symbolizer.h", | 
 |     ], | 
 | ) | 
 |  | 
 | perfetto_cc_proto_descriptor( | 
 |     name = "src_perfetto_cmd_gen_cc_config_descriptor", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_perfetto_config_descriptor", | 
 |     ], | 
 |     outs = [ | 
 |         "src/perfetto_cmd/perfetto_config.descriptor.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/perfetto_cmd:perfetto_cmd | 
 | filegroup( | 
 |     name = "src_perfetto_cmd_perfetto_cmd", | 
 |     srcs = [ | 
 |         "src/perfetto_cmd/config.cc", | 
 |         "src/perfetto_cmd/config.h", | 
 |         "src/perfetto_cmd/packet_writer.cc", | 
 |         "src/perfetto_cmd/packet_writer.h", | 
 |         "src/perfetto_cmd/pbtxt_to_pb.cc", | 
 |         "src/perfetto_cmd/pbtxt_to_pb.h", | 
 |         "src/perfetto_cmd/perfetto_cmd.cc", | 
 |         "src/perfetto_cmd/perfetto_cmd.h", | 
 |         "src/perfetto_cmd/rate_limiter.cc", | 
 |         "src/perfetto_cmd/rate_limiter.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/perfetto_cmd:trigger_producer | 
 | filegroup( | 
 |     name = "src_perfetto_cmd_trigger_producer", | 
 |     srcs = [ | 
 |         "src/perfetto_cmd/trigger_producer.cc", | 
 |         "src/perfetto_cmd/trigger_producer.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/profiling/symbolizer:symbolize_database | 
 | filegroup( | 
 |     name = "src_profiling_symbolizer_symbolize_database", | 
 |     srcs = [ | 
 |         "src/profiling/symbolizer/symbolize_database.cc", | 
 |         "src/profiling/symbolizer/symbolize_database.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/profiling/symbolizer:symbolizer | 
 | filegroup( | 
 |     name = "src_profiling_symbolizer_symbolizer", | 
 |     srcs = [ | 
 |         "src/profiling/symbolizer/filesystem.h", | 
 |         "src/profiling/symbolizer/filesystem_posix.cc", | 
 |         "src/profiling/symbolizer/filesystem_windows.cc", | 
 |         "src/profiling/symbolizer/local_symbolizer.cc", | 
 |         "src/profiling/symbolizer/local_symbolizer.h", | 
 |         "src/profiling/symbolizer/scoped_read_mmap.h", | 
 |         "src/profiling/symbolizer/scoped_read_mmap_posix.cc", | 
 |         "src/profiling/symbolizer/scoped_read_mmap_windows.cc", | 
 |         "src/profiling/symbolizer/subprocess.h", | 
 |         "src/profiling/symbolizer/subprocess_posix.cc", | 
 |         "src/profiling/symbolizer/subprocess_windows.cc", | 
 |         "src/profiling/symbolizer/symbolizer.cc", | 
 |         "src/profiling/symbolizer/symbolizer.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/profiling:deobfuscator | 
 | filegroup( | 
 |     name = "src_profiling_deobfuscator", | 
 |     srcs = [ | 
 |         "src/profiling/deobfuscator.cc", | 
 |         "src/profiling/deobfuscator.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/protozero/filtering:bytecode_common | 
 | filegroup( | 
 |     name = "src_protozero_filtering_bytecode_common", | 
 |     srcs = [ | 
 |         "src/protozero/filtering/filter_bytecode_common.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/protozero/filtering:bytecode_parser | 
 | filegroup( | 
 |     name = "src_protozero_filtering_bytecode_parser", | 
 |     srcs = [ | 
 |         "src/protozero/filtering/filter_bytecode_parser.cc", | 
 |         "src/protozero/filtering/filter_bytecode_parser.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/protozero/filtering:message_filter | 
 | filegroup( | 
 |     name = "src_protozero_filtering_message_filter", | 
 |     srcs = [ | 
 |         "src/protozero/filtering/message_filter.cc", | 
 |         "src/protozero/filtering/message_filter.h", | 
 |         "src/protozero/filtering/message_tokenizer.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor/analysis:analysis | 
 | filegroup( | 
 |     name = "src_trace_processor_analysis_analysis", | 
 |     srcs = [ | 
 |         "src/trace_processor/analysis/describe_slice.cc", | 
 |         "src/trace_processor/analysis/describe_slice.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor/containers:containers | 
 | perfetto_cc_library( | 
 |     name = "src_trace_processor_containers_containers", | 
 |     srcs = [ | 
 |         "src/trace_processor/containers/bit_vector.cc", | 
 |         "src/trace_processor/containers/bit_vector_iterators.cc", | 
 |         "src/trace_processor/containers/nullable_vector.cc", | 
 |         "src/trace_processor/containers/row_map.cc", | 
 |         "src/trace_processor/containers/string_pool.cc", | 
 |     ], | 
 |     hdrs = [ | 
 |         ":include_perfetto_base_base", | 
 |         ":include_perfetto_protozero_protozero", | 
 |         "src/trace_processor/containers/bit_vector.h", | 
 |         "src/trace_processor/containers/bit_vector_iterators.h", | 
 |         "src/trace_processor/containers/null_term_string_view.h", | 
 |         "src/trace_processor/containers/nullable_vector.h", | 
 |         "src/trace_processor/containers/row_map.h", | 
 |         "src/trace_processor/containers/string_pool.h", | 
 |     ], | 
 |     deps = [ | 
 |         ":src_base_base", | 
 |     ], | 
 |     linkstatic = True, | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor/db:db | 
 | filegroup( | 
 |     name = "src_trace_processor_db_db", | 
 |     srcs = [ | 
 |         "src/trace_processor/db/column.cc", | 
 |         "src/trace_processor/db/column.h", | 
 |         "src/trace_processor/db/compare.h", | 
 |         "src/trace_processor/db/table.cc", | 
 |         "src/trace_processor/db/table.h", | 
 |         "src/trace_processor/db/typed_column.h", | 
 |         "src/trace_processor/db/typed_column_internal.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor/importers/common:common | 
 | filegroup( | 
 |     name = "src_trace_processor_importers_common_common", | 
 |     srcs = [ | 
 |         "src/trace_processor/importers/common/args_tracker.cc", | 
 |         "src/trace_processor/importers/common/args_tracker.h", | 
 |         "src/trace_processor/importers/common/chunked_trace_reader.h", | 
 |         "src/trace_processor/importers/common/clock_tracker.cc", | 
 |         "src/trace_processor/importers/common/clock_tracker.h", | 
 |         "src/trace_processor/importers/common/event_tracker.cc", | 
 |         "src/trace_processor/importers/common/event_tracker.h", | 
 |         "src/trace_processor/importers/common/flow_tracker.cc", | 
 |         "src/trace_processor/importers/common/flow_tracker.h", | 
 |         "src/trace_processor/importers/common/global_args_tracker.cc", | 
 |         "src/trace_processor/importers/common/global_args_tracker.h", | 
 |         "src/trace_processor/importers/common/process_tracker.cc", | 
 |         "src/trace_processor/importers/common/process_tracker.h", | 
 |         "src/trace_processor/importers/common/slice_tracker.cc", | 
 |         "src/trace_processor/importers/common/slice_tracker.h", | 
 |         "src/trace_processor/importers/common/system_info_tracker.cc", | 
 |         "src/trace_processor/importers/common/system_info_tracker.h", | 
 |         "src/trace_processor/importers/common/trace_blob_view.h", | 
 |         "src/trace_processor/importers/common/trace_parser.h", | 
 |         "src/trace_processor/importers/common/track_tracker.cc", | 
 |         "src/trace_processor/importers/common/track_tracker.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor/importers/memory_tracker:graph_processor | 
 | filegroup( | 
 |     name = "src_trace_processor_importers_memory_tracker_graph_processor", | 
 |     srcs = [ | 
 |         "src/trace_processor/importers/memory_tracker/graph.cc", | 
 |         "src/trace_processor/importers/memory_tracker/graph_processor.cc", | 
 |         "src/trace_processor/importers/memory_tracker/memory_allocator_node_id.cc", | 
 |         "src/trace_processor/importers/memory_tracker/raw_memory_graph_node.cc", | 
 |         "src/trace_processor/importers/memory_tracker/raw_process_memory_node.cc", | 
 |     ], | 
 | ) | 
 |  | 
 | perfetto_cc_proto_descriptor( | 
 |     name = "src_trace_processor_importers_gen_cc_chrome_track_event_descriptor", | 
 |     deps = [ | 
 |         ":protos_third_party_chromium_chrome_track_event_descriptor", | 
 |     ], | 
 |     outs = [ | 
 |         "src/trace_processor/importers/chrome_track_event.descriptor.h", | 
 |     ], | 
 | ) | 
 |  | 
 | perfetto_cc_proto_descriptor( | 
 |     name = "src_trace_processor_importers_gen_cc_config_descriptor", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_descriptor", | 
 |     ], | 
 |     outs = [ | 
 |         "src/trace_processor/importers/config.descriptor.h", | 
 |     ], | 
 | ) | 
 |  | 
 | perfetto_cc_proto_descriptor( | 
 |     name = "src_trace_processor_importers_gen_cc_track_event_descriptor", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_track_event_track_event_descriptor", | 
 |     ], | 
 |     outs = [ | 
 |         "src/trace_processor/importers/track_event.descriptor.h", | 
 |     ], | 
 | ) | 
 |  | 
 | perfetto_cc_proto_descriptor( | 
 |     name = "src_trace_processor_metrics_gen_cc_all_chrome_metrics_descriptor", | 
 |     deps = [ | 
 |         ":protos_perfetto_metrics_chrome_descriptor", | 
 |     ], | 
 |     outs = [ | 
 |         "src/trace_processor/metrics/chrome/all_chrome_metrics.descriptor.h", | 
 |     ], | 
 | ) | 
 |  | 
 | perfetto_cc_proto_descriptor( | 
 |     name = "src_trace_processor_metrics_gen_cc_metrics_descriptor", | 
 |     deps = [ | 
 |         ":protos_perfetto_metrics_descriptor", | 
 |     ], | 
 |     outs = [ | 
 |         "src/trace_processor/metrics/metrics.descriptor.h", | 
 |     ], | 
 | ) | 
 |  | 
 | genrule( | 
 |     name = "src_trace_processor_metrics_gen_merged_sql_metrics", | 
 |     srcs = [ | 
 |         "src/trace_processor/metrics/android/android_batt.sql", | 
 |         "src/trace_processor/metrics/android/android_cpu.sql", | 
 |         "src/trace_processor/metrics/android/android_cpu_agg.sql", | 
 |         "src/trace_processor/metrics/android/android_cpu_raw_metrics_per_core.sql", | 
 |         "src/trace_processor/metrics/android/android_dma_heap.sql", | 
 |         "src/trace_processor/metrics/android/android_fastrpc.sql", | 
 |         "src/trace_processor/metrics/android/android_gpu.sql", | 
 |         "src/trace_processor/metrics/android/android_hwcomposer.sql", | 
 |         "src/trace_processor/metrics/android/android_hwui_metric.sql", | 
 |         "src/trace_processor/metrics/android/android_hwui_threads.sql", | 
 |         "src/trace_processor/metrics/android/android_ion.sql", | 
 |         "src/trace_processor/metrics/android/android_jank.sql", | 
 |         "src/trace_processor/metrics/android/android_lmk.sql", | 
 |         "src/trace_processor/metrics/android/android_lmk_reason.sql", | 
 |         "src/trace_processor/metrics/android/android_mem.sql", | 
 |         "src/trace_processor/metrics/android/android_mem_unagg.sql", | 
 |         "src/trace_processor/metrics/android/android_package_list.sql", | 
 |         "src/trace_processor/metrics/android/android_powrails.sql", | 
 |         "src/trace_processor/metrics/android/android_proxy_power.sql", | 
 |         "src/trace_processor/metrics/android/android_startup.sql", | 
 |         "src/trace_processor/metrics/android/android_startup_launches.sql", | 
 |         "src/trace_processor/metrics/android/android_surfaceflinger.sql", | 
 |         "src/trace_processor/metrics/android/android_sysui_cuj.sql", | 
 |         "src/trace_processor/metrics/android/android_task_names.sql", | 
 |         "src/trace_processor/metrics/android/android_thread_time_in_state.sql", | 
 |         "src/trace_processor/metrics/android/composer_execution.sql", | 
 |         "src/trace_processor/metrics/android/composition_layers.sql", | 
 |         "src/trace_processor/metrics/android/cpu_info.sql", | 
 |         "src/trace_processor/metrics/android/display_metrics.sql", | 
 |         "src/trace_processor/metrics/android/frame_missed.sql", | 
 |         "src/trace_processor/metrics/android/g2d.sql", | 
 |         "src/trace_processor/metrics/android/g2d_duration.sql", | 
 |         "src/trace_processor/metrics/android/global_counter_span_view.sql", | 
 |         "src/trace_processor/metrics/android/hsc_startups.sql", | 
 |         "src/trace_processor/metrics/android/java_heap_histogram.sql", | 
 |         "src/trace_processor/metrics/android/java_heap_stats.sql", | 
 |         "src/trace_processor/metrics/android/mem_stats_priority_breakdown.sql", | 
 |         "src/trace_processor/metrics/android/power_drain_in_watts.sql", | 
 |         "src/trace_processor/metrics/android/power_profile_data.sql", | 
 |         "src/trace_processor/metrics/android/process_counter_span_view.sql", | 
 |         "src/trace_processor/metrics/android/process_mem.sql", | 
 |         "src/trace_processor/metrics/android/process_metadata.sql", | 
 |         "src/trace_processor/metrics/android/process_oom_score.sql", | 
 |         "src/trace_processor/metrics/android/process_unagg_mem_view.sql", | 
 |         "src/trace_processor/metrics/android/span_view_stats.sql", | 
 |         "src/trace_processor/metrics/android/unsymbolized_frames.sql", | 
 |         "src/trace_processor/metrics/chrome/actual_power_by_category.sql", | 
 |         "src/trace_processor/metrics/chrome/actual_power_by_rail_mode.sql", | 
 |         "src/trace_processor/metrics/chrome/chrome_event_metadata.sql", | 
 |         "src/trace_processor/metrics/chrome/chrome_processes.sql", | 
 |         "src/trace_processor/metrics/chrome/chrome_thread_slice_with_cpu_time.sql", | 
 |         "src/trace_processor/metrics/chrome/cpu_time_by_category.sql", | 
 |         "src/trace_processor/metrics/chrome/cpu_time_by_rail_mode.sql", | 
 |         "src/trace_processor/metrics/chrome/estimated_power_by_category.sql", | 
 |         "src/trace_processor/metrics/chrome/estimated_power_by_rail_mode.sql", | 
 |         "src/trace_processor/metrics/chrome/rail_modes.sql", | 
 |         "src/trace_processor/metrics/chrome/scroll_flow_event.sql", | 
 |         "src/trace_processor/metrics/chrome/scroll_flow_event_queuing_delay.sql", | 
 |         "src/trace_processor/metrics/chrome/scroll_jank.sql", | 
 |         "src/trace_processor/metrics/chrome/scroll_jank_cause.sql", | 
 |         "src/trace_processor/metrics/chrome/scroll_jank_cause_blocking_task.sql", | 
 |         "src/trace_processor/metrics/chrome/scroll_jank_cause_blocking_touch_move.sql", | 
 |         "src/trace_processor/metrics/chrome/scroll_jank_cause_get_bitmap.sql", | 
 |         "src/trace_processor/metrics/chrome/scroll_jank_cause_queuing_delay.sql", | 
 |         "src/trace_processor/metrics/chrome/test_chrome_metric.sql", | 
 |         "src/trace_processor/metrics/experimental/blink_gc_metric.sql", | 
 |         "src/trace_processor/metrics/experimental/frame_times.sql", | 
 |         "src/trace_processor/metrics/experimental/media_metric.sql", | 
 |         "src/trace_processor/metrics/experimental/reported_by_page.sql", | 
 |         "src/trace_processor/metrics/trace_metadata.sql", | 
 |         "src/trace_processor/metrics/trace_stats.sql", | 
 |         "src/trace_processor/metrics/webview/webview_power_usage.sql", | 
 |     ], | 
 |     outs = [ | 
 |         "src/trace_processor/metrics/sql_metrics.h", | 
 |     ], | 
 |     cmd = "$(location gen_merged_sql_metrics_py) --cpp_out=$@ $(SRCS)", | 
 |     exec_tools = [ | 
 |         ":gen_merged_sql_metrics_py", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor/metrics:lib | 
 | filegroup( | 
 |     name = "src_trace_processor_metrics_lib", | 
 |     srcs = [ | 
 |         "src/trace_processor/metrics/metrics.cc", | 
 |         "src/trace_processor/metrics/metrics.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor/rpc:httpd | 
 | filegroup( | 
 |     name = "src_trace_processor_rpc_httpd", | 
 |     srcs = [ | 
 |         "src/trace_processor/rpc/httpd.cc", | 
 |         "src/trace_processor/rpc/httpd.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor/rpc:rpc | 
 | filegroup( | 
 |     name = "src_trace_processor_rpc_rpc", | 
 |     srcs = [ | 
 |         "src/trace_processor/rpc/proto_ring_buffer.cc", | 
 |         "src/trace_processor/rpc/proto_ring_buffer.h", | 
 |         "src/trace_processor/rpc/query_result_serializer.cc", | 
 |         "src/trace_processor/rpc/query_result_serializer.h", | 
 |         "src/trace_processor/rpc/rpc.cc", | 
 |         "src/trace_processor/rpc/rpc.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor/sqlite:sqlite | 
 | filegroup( | 
 |     name = "src_trace_processor_sqlite_sqlite", | 
 |     srcs = [ | 
 |         "src/trace_processor/sqlite/db_sqlite_table.cc", | 
 |         "src/trace_processor/sqlite/db_sqlite_table.h", | 
 |         "src/trace_processor/sqlite/query_cache.h", | 
 |         "src/trace_processor/sqlite/query_constraints.cc", | 
 |         "src/trace_processor/sqlite/query_constraints.h", | 
 |         "src/trace_processor/sqlite/scoped_db.h", | 
 |         "src/trace_processor/sqlite/span_join_operator_table.cc", | 
 |         "src/trace_processor/sqlite/span_join_operator_table.h", | 
 |         "src/trace_processor/sqlite/sql_stats_table.cc", | 
 |         "src/trace_processor/sqlite/sql_stats_table.h", | 
 |         "src/trace_processor/sqlite/sqlite3_str_split.cc", | 
 |         "src/trace_processor/sqlite/sqlite3_str_split.h", | 
 |         "src/trace_processor/sqlite/sqlite_raw_table.cc", | 
 |         "src/trace_processor/sqlite/sqlite_raw_table.h", | 
 |         "src/trace_processor/sqlite/sqlite_table.cc", | 
 |         "src/trace_processor/sqlite/sqlite_table.h", | 
 |         "src/trace_processor/sqlite/sqlite_utils.h", | 
 |         "src/trace_processor/sqlite/stats_table.cc", | 
 |         "src/trace_processor/sqlite/stats_table.h", | 
 |         "src/trace_processor/sqlite/window_operator_table.cc", | 
 |         "src/trace_processor/sqlite/window_operator_table.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor/storage:storage | 
 | filegroup( | 
 |     name = "src_trace_processor_storage_storage", | 
 |     srcs = [ | 
 |         "src/trace_processor/storage/metadata.h", | 
 |         "src/trace_processor/storage/stats.h", | 
 |         "src/trace_processor/storage/trace_storage.cc", | 
 |         "src/trace_processor/storage/trace_storage.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor/tables:tables | 
 | filegroup( | 
 |     name = "src_trace_processor_tables_tables", | 
 |     srcs = [ | 
 |         "src/trace_processor/tables/android_tables.h", | 
 |         "src/trace_processor/tables/counter_tables.h", | 
 |         "src/trace_processor/tables/flow_tables.h", | 
 |         "src/trace_processor/tables/macros.h", | 
 |         "src/trace_processor/tables/macros_internal.h", | 
 |         "src/trace_processor/tables/memory_tables.h", | 
 |         "src/trace_processor/tables/metadata_tables.h", | 
 |         "src/trace_processor/tables/profiler_tables.h", | 
 |         "src/trace_processor/tables/slice_tables.h", | 
 |         "src/trace_processor/tables/table_destructors.cc", | 
 |         "src/trace_processor/tables/track_tables.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor/types:types | 
 | filegroup( | 
 |     name = "src_trace_processor_types_types", | 
 |     srcs = [ | 
 |         "src/trace_processor/types/destructible.cc", | 
 |         "src/trace_processor/types/destructible.h", | 
 |         "src/trace_processor/types/gfp_flags.cc", | 
 |         "src/trace_processor/types/gfp_flags.h", | 
 |         "src/trace_processor/types/softirq_action.h", | 
 |         "src/trace_processor/types/task_state.cc", | 
 |         "src/trace_processor/types/task_state.h", | 
 |         "src/trace_processor/types/trace_processor_context.h", | 
 |         "src/trace_processor/types/variadic.cc", | 
 |         "src/trace_processor/types/variadic.h", | 
 |         "src/trace_processor/types/version_number.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor/util:descriptors | 
 | filegroup( | 
 |     name = "src_trace_processor_util_descriptors", | 
 |     srcs = [ | 
 |         "src/trace_processor/util/descriptors.cc", | 
 |         "src/trace_processor/util/descriptors.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor/util:proto_to_args_parser | 
 | filegroup( | 
 |     name = "src_trace_processor_util_proto_to_args_parser", | 
 |     srcs = [ | 
 |         "src/trace_processor/util/proto_to_args_parser.cc", | 
 |         "src/trace_processor/util/proto_to_args_parser.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor/util:protozero_to_text | 
 | filegroup( | 
 |     name = "src_trace_processor_util_protozero_to_text", | 
 |     srcs = [ | 
 |         "src/trace_processor/util/protozero_to_text.cc", | 
 |         "src/trace_processor/util/protozero_to_text.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor/util:util | 
 | filegroup( | 
 |     name = "src_trace_processor_util_util", | 
 |     srcs = [ | 
 |         "src/trace_processor/util/status_macros.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor:export_json | 
 | filegroup( | 
 |     name = "src_trace_processor_export_json", | 
 |     srcs = [ | 
 |         "src/trace_processor/export_json.cc", | 
 |         "src/trace_processor/export_json.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor:ftrace_descriptors | 
 | filegroup( | 
 |     name = "src_trace_processor_ftrace_descriptors", | 
 |     srcs = [ | 
 |         "src/trace_processor/importers/ftrace/ftrace_descriptors.cc", | 
 |         "src/trace_processor/importers/ftrace/ftrace_descriptors.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor:lib | 
 | filegroup( | 
 |     name = "src_trace_processor_lib", | 
 |     srcs = [ | 
 |         "src/trace_processor/dynamic/ancestor_generator.cc", | 
 |         "src/trace_processor/dynamic/ancestor_generator.h", | 
 |         "src/trace_processor/dynamic/connected_flow_generator.cc", | 
 |         "src/trace_processor/dynamic/connected_flow_generator.h", | 
 |         "src/trace_processor/dynamic/descendant_slice_generator.cc", | 
 |         "src/trace_processor/dynamic/descendant_slice_generator.h", | 
 |         "src/trace_processor/dynamic/describe_slice_generator.cc", | 
 |         "src/trace_processor/dynamic/describe_slice_generator.h", | 
 |         "src/trace_processor/dynamic/experimental_annotated_stack_generator.cc", | 
 |         "src/trace_processor/dynamic/experimental_annotated_stack_generator.h", | 
 |         "src/trace_processor/dynamic/experimental_counter_dur_generator.cc", | 
 |         "src/trace_processor/dynamic/experimental_counter_dur_generator.h", | 
 |         "src/trace_processor/dynamic/experimental_flamegraph_generator.cc", | 
 |         "src/trace_processor/dynamic/experimental_flamegraph_generator.h", | 
 |         "src/trace_processor/dynamic/experimental_sched_upid_generator.cc", | 
 |         "src/trace_processor/dynamic/experimental_sched_upid_generator.h", | 
 |         "src/trace_processor/dynamic/experimental_slice_layout_generator.cc", | 
 |         "src/trace_processor/dynamic/experimental_slice_layout_generator.h", | 
 |         "src/trace_processor/dynamic/thread_state_generator.cc", | 
 |         "src/trace_processor/dynamic/thread_state_generator.h", | 
 |         "src/trace_processor/iterator_impl.cc", | 
 |         "src/trace_processor/iterator_impl.h", | 
 |         "src/trace_processor/read_trace.cc", | 
 |         "src/trace_processor/trace_processor.cc", | 
 |         "src/trace_processor/trace_processor_impl.cc", | 
 |         "src/trace_processor/trace_processor_impl.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor:metatrace | 
 | filegroup( | 
 |     name = "src_trace_processor_metatrace", | 
 |     srcs = [ | 
 |         "src/trace_processor/tp_metatrace.cc", | 
 |         "src/trace_processor/tp_metatrace.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor:storage_full | 
 | filegroup( | 
 |     name = "src_trace_processor_storage_full", | 
 |     srcs = [ | 
 |         "src/trace_processor/importers/additional_modules.cc", | 
 |         "src/trace_processor/importers/additional_modules.h", | 
 |         "src/trace_processor/importers/ftrace/binder_tracker.cc", | 
 |         "src/trace_processor/importers/ftrace/binder_tracker.h", | 
 |         "src/trace_processor/importers/ftrace/ftrace_module_impl.cc", | 
 |         "src/trace_processor/importers/ftrace/ftrace_module_impl.h", | 
 |         "src/trace_processor/importers/ftrace/ftrace_parser.cc", | 
 |         "src/trace_processor/importers/ftrace/ftrace_parser.h", | 
 |         "src/trace_processor/importers/ftrace/ftrace_tokenizer.cc", | 
 |         "src/trace_processor/importers/ftrace/ftrace_tokenizer.h", | 
 |         "src/trace_processor/importers/ftrace/rss_stat_tracker.cc", | 
 |         "src/trace_processor/importers/ftrace/rss_stat_tracker.h", | 
 |         "src/trace_processor/importers/ftrace/sched_event_tracker.cc", | 
 |         "src/trace_processor/importers/ftrace/sched_event_tracker.h", | 
 |         "src/trace_processor/importers/fuchsia/fuchsia_record.cc", | 
 |         "src/trace_processor/importers/fuchsia/fuchsia_trace_parser.cc", | 
 |         "src/trace_processor/importers/fuchsia/fuchsia_trace_parser.h", | 
 |         "src/trace_processor/importers/fuchsia/fuchsia_trace_tokenizer.cc", | 
 |         "src/trace_processor/importers/fuchsia/fuchsia_trace_tokenizer.h", | 
 |         "src/trace_processor/importers/fuchsia/fuchsia_trace_utils.cc", | 
 |         "src/trace_processor/importers/gzip/gzip_trace_parser.cc", | 
 |         "src/trace_processor/importers/gzip/gzip_trace_parser.h", | 
 |         "src/trace_processor/importers/json/json_trace_parser.cc", | 
 |         "src/trace_processor/importers/json/json_trace_parser.h", | 
 |         "src/trace_processor/importers/json/json_trace_tokenizer.cc", | 
 |         "src/trace_processor/importers/json/json_trace_tokenizer.h", | 
 |         "src/trace_processor/importers/json/json_tracker.cc", | 
 |         "src/trace_processor/importers/json/json_tracker.h", | 
 |         "src/trace_processor/importers/proto/android_probes_module.cc", | 
 |         "src/trace_processor/importers/proto/android_probes_module.h", | 
 |         "src/trace_processor/importers/proto/android_probes_parser.cc", | 
 |         "src/trace_processor/importers/proto/android_probes_parser.h", | 
 |         "src/trace_processor/importers/proto/android_probes_tracker.cc", | 
 |         "src/trace_processor/importers/proto/android_probes_tracker.h", | 
 |         "src/trace_processor/importers/proto/frame_timeline_event_parser.cc", | 
 |         "src/trace_processor/importers/proto/frame_timeline_event_parser.h", | 
 |         "src/trace_processor/importers/proto/gpu_event_parser.cc", | 
 |         "src/trace_processor/importers/proto/gpu_event_parser.h", | 
 |         "src/trace_processor/importers/proto/graphics_event_module.cc", | 
 |         "src/trace_processor/importers/proto/graphics_event_module.h", | 
 |         "src/trace_processor/importers/proto/graphics_frame_event_parser.cc", | 
 |         "src/trace_processor/importers/proto/graphics_frame_event_parser.h", | 
 |         "src/trace_processor/importers/proto/heap_graph_module.cc", | 
 |         "src/trace_processor/importers/proto/heap_graph_module.h", | 
 |         "src/trace_processor/importers/proto/heap_graph_tracker.cc", | 
 |         "src/trace_processor/importers/proto/heap_graph_tracker.h", | 
 |         "src/trace_processor/importers/proto/system_probes_module.cc", | 
 |         "src/trace_processor/importers/proto/system_probes_module.h", | 
 |         "src/trace_processor/importers/proto/system_probes_parser.cc", | 
 |         "src/trace_processor/importers/proto/system_probes_parser.h", | 
 |         "src/trace_processor/importers/proto/vulkan_memory_tracker.cc", | 
 |         "src/trace_processor/importers/proto/vulkan_memory_tracker.h", | 
 |         "src/trace_processor/importers/syscalls/syscall_tracker.cc", | 
 |         "src/trace_processor/importers/syscalls/syscalls_aarch32.h", | 
 |         "src/trace_processor/importers/syscalls/syscalls_aarch64.h", | 
 |         "src/trace_processor/importers/syscalls/syscalls_armeabi.h", | 
 |         "src/trace_processor/importers/syscalls/syscalls_x86.h", | 
 |         "src/trace_processor/importers/syscalls/syscalls_x86_64.h", | 
 |         "src/trace_processor/importers/systrace/systrace_line_parser.cc", | 
 |         "src/trace_processor/importers/systrace/systrace_line_parser.h", | 
 |         "src/trace_processor/importers/systrace/systrace_line_tokenizer.cc", | 
 |         "src/trace_processor/importers/systrace/systrace_line_tokenizer.h", | 
 |         "src/trace_processor/importers/systrace/systrace_parser.cc", | 
 |         "src/trace_processor/importers/systrace/systrace_parser.h", | 
 |         "src/trace_processor/importers/systrace/systrace_trace_parser.cc", | 
 |         "src/trace_processor/importers/systrace/systrace_trace_parser.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor:storage_minimal | 
 | filegroup( | 
 |     name = "src_trace_processor_storage_minimal", | 
 |     srcs = [ | 
 |         "src/trace_processor/forwarding_trace_parser.cc", | 
 |         "src/trace_processor/forwarding_trace_parser.h", | 
 |         "src/trace_processor/importers/default_modules.cc", | 
 |         "src/trace_processor/importers/default_modules.h", | 
 |         "src/trace_processor/importers/ftrace/ftrace_module.cc", | 
 |         "src/trace_processor/importers/ftrace/ftrace_module.h", | 
 |         "src/trace_processor/importers/fuchsia/fuchsia_record.h", | 
 |         "src/trace_processor/importers/fuchsia/fuchsia_trace_utils.h", | 
 |         "src/trace_processor/importers/gzip/gzip_utils.cc", | 
 |         "src/trace_processor/importers/gzip/gzip_utils.h", | 
 |         "src/trace_processor/importers/json/json_utils.cc", | 
 |         "src/trace_processor/importers/json/json_utils.h", | 
 |         "src/trace_processor/importers/ninja/ninja_log_parser.cc", | 
 |         "src/trace_processor/importers/ninja/ninja_log_parser.h", | 
 |         "src/trace_processor/importers/proto/async_track_set_tracker.cc", | 
 |         "src/trace_processor/importers/proto/async_track_set_tracker.h", | 
 |         "src/trace_processor/importers/proto/chrome_string_lookup.cc", | 
 |         "src/trace_processor/importers/proto/chrome_string_lookup.h", | 
 |         "src/trace_processor/importers/proto/chrome_system_probes_module.cc", | 
 |         "src/trace_processor/importers/proto/chrome_system_probes_module.h", | 
 |         "src/trace_processor/importers/proto/chrome_system_probes_parser.cc", | 
 |         "src/trace_processor/importers/proto/chrome_system_probes_parser.h", | 
 |         "src/trace_processor/importers/proto/heap_profile_tracker.cc", | 
 |         "src/trace_processor/importers/proto/heap_profile_tracker.h", | 
 |         "src/trace_processor/importers/proto/memory_tracker_snapshot_module.cc", | 
 |         "src/trace_processor/importers/proto/memory_tracker_snapshot_module.h", | 
 |         "src/trace_processor/importers/proto/memory_tracker_snapshot_parser.cc", | 
 |         "src/trace_processor/importers/proto/memory_tracker_snapshot_parser.h", | 
 |         "src/trace_processor/importers/proto/metadata_module.cc", | 
 |         "src/trace_processor/importers/proto/metadata_module.h", | 
 |         "src/trace_processor/importers/proto/metadata_tracker.cc", | 
 |         "src/trace_processor/importers/proto/metadata_tracker.h", | 
 |         "src/trace_processor/importers/proto/packet_sequence_state.cc", | 
 |         "src/trace_processor/importers/proto/packet_sequence_state.h", | 
 |         "src/trace_processor/importers/proto/perf_sample_tracker.cc", | 
 |         "src/trace_processor/importers/proto/perf_sample_tracker.h", | 
 |         "src/trace_processor/importers/proto/profile_module.cc", | 
 |         "src/trace_processor/importers/proto/profile_module.h", | 
 |         "src/trace_processor/importers/proto/profile_packet_utils.cc", | 
 |         "src/trace_processor/importers/proto/profile_packet_utils.h", | 
 |         "src/trace_processor/importers/proto/profiler_util.cc", | 
 |         "src/trace_processor/importers/proto/profiler_util.h", | 
 |         "src/trace_processor/importers/proto/proto_importer_module.cc", | 
 |         "src/trace_processor/importers/proto/proto_importer_module.h", | 
 |         "src/trace_processor/importers/proto/proto_incremental_state.h", | 
 |         "src/trace_processor/importers/proto/proto_trace_parser.cc", | 
 |         "src/trace_processor/importers/proto/proto_trace_parser.h", | 
 |         "src/trace_processor/importers/proto/proto_trace_reader.cc", | 
 |         "src/trace_processor/importers/proto/proto_trace_reader.h", | 
 |         "src/trace_processor/importers/proto/proto_trace_tokenizer.cc", | 
 |         "src/trace_processor/importers/proto/proto_trace_tokenizer.h", | 
 |         "src/trace_processor/importers/proto/stack_profile_tracker.cc", | 
 |         "src/trace_processor/importers/proto/stack_profile_tracker.h", | 
 |         "src/trace_processor/importers/proto/track_event_module.cc", | 
 |         "src/trace_processor/importers/proto/track_event_module.h", | 
 |         "src/trace_processor/importers/proto/track_event_parser.cc", | 
 |         "src/trace_processor/importers/proto/track_event_parser.h", | 
 |         "src/trace_processor/importers/proto/track_event_tokenizer.cc", | 
 |         "src/trace_processor/importers/proto/track_event_tokenizer.h", | 
 |         "src/trace_processor/importers/proto/track_event_tracker.cc", | 
 |         "src/trace_processor/importers/proto/track_event_tracker.h", | 
 |         "src/trace_processor/importers/syscalls/syscall_tracker.h", | 
 |         "src/trace_processor/importers/systrace/systrace_line.h", | 
 |         "src/trace_processor/timestamped_trace_piece.h", | 
 |         "src/trace_processor/trace_processor_context.cc", | 
 |         "src/trace_processor/trace_processor_storage.cc", | 
 |         "src/trace_processor/trace_processor_storage_impl.cc", | 
 |         "src/trace_processor/trace_processor_storage_impl.h", | 
 |         "src/trace_processor/trace_sorter.cc", | 
 |         "src/trace_processor/trace_sorter.h", | 
 |         "src/trace_processor/virtual_destructors.cc", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/traced/probes/android_log:android_log | 
 | filegroup( | 
 |     name = "src_traced_probes_android_log_android_log", | 
 |     srcs = [ | 
 |         "src/traced/probes/android_log/android_log_data_source.cc", | 
 |         "src/traced/probes/android_log/android_log_data_source.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/traced/probes/common:common | 
 | filegroup( | 
 |     name = "src_traced_probes_common_common", | 
 |     srcs = [ | 
 |         "src/traced/probes/common/cpu_freq_info.cc", | 
 |         "src/traced/probes/common/cpu_freq_info.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/traced/probes/filesystem:filesystem | 
 | filegroup( | 
 |     name = "src_traced_probes_filesystem_filesystem", | 
 |     srcs = [ | 
 |         "src/traced/probes/filesystem/file_scanner.cc", | 
 |         "src/traced/probes/filesystem/file_scanner.h", | 
 |         "src/traced/probes/filesystem/fs_mount.cc", | 
 |         "src/traced/probes/filesystem/fs_mount.h", | 
 |         "src/traced/probes/filesystem/inode_file_data_source.cc", | 
 |         "src/traced/probes/filesystem/inode_file_data_source.h", | 
 |         "src/traced/probes/filesystem/lru_inode_cache.cc", | 
 |         "src/traced/probes/filesystem/lru_inode_cache.h", | 
 |         "src/traced/probes/filesystem/prefix_finder.cc", | 
 |         "src/traced/probes/filesystem/prefix_finder.h", | 
 |         "src/traced/probes/filesystem/range_tree.cc", | 
 |         "src/traced/probes/filesystem/range_tree.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/traced/probes/ftrace/format_parser:format_parser | 
 | filegroup( | 
 |     name = "src_traced_probes_ftrace_format_parser_format_parser", | 
 |     srcs = [ | 
 |         "src/traced/probes/ftrace/format_parser/format_parser.cc", | 
 |         "src/traced/probes/ftrace/format_parser/format_parser.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/traced/probes/ftrace:ftrace | 
 | filegroup( | 
 |     name = "src_traced_probes_ftrace_ftrace", | 
 |     srcs = [ | 
 |         "src/traced/probes/ftrace/atrace_hal_wrapper.cc", | 
 |         "src/traced/probes/ftrace/atrace_hal_wrapper.h", | 
 |         "src/traced/probes/ftrace/atrace_wrapper.cc", | 
 |         "src/traced/probes/ftrace/atrace_wrapper.h", | 
 |         "src/traced/probes/ftrace/compact_sched.cc", | 
 |         "src/traced/probes/ftrace/compact_sched.h", | 
 |         "src/traced/probes/ftrace/cpu_reader.cc", | 
 |         "src/traced/probes/ftrace/cpu_reader.h", | 
 |         "src/traced/probes/ftrace/cpu_stats_parser.cc", | 
 |         "src/traced/probes/ftrace/cpu_stats_parser.h", | 
 |         "src/traced/probes/ftrace/discover_vendor_tracepoints.cc", | 
 |         "src/traced/probes/ftrace/discover_vendor_tracepoints.h", | 
 |         "src/traced/probes/ftrace/event_info.cc", | 
 |         "src/traced/probes/ftrace/event_info.h", | 
 |         "src/traced/probes/ftrace/event_info_constants.cc", | 
 |         "src/traced/probes/ftrace/event_info_constants.h", | 
 |         "src/traced/probes/ftrace/ftrace_config_muxer.cc", | 
 |         "src/traced/probes/ftrace/ftrace_config_muxer.h", | 
 |         "src/traced/probes/ftrace/ftrace_config_utils.cc", | 
 |         "src/traced/probes/ftrace/ftrace_config_utils.h", | 
 |         "src/traced/probes/ftrace/ftrace_controller.cc", | 
 |         "src/traced/probes/ftrace/ftrace_controller.h", | 
 |         "src/traced/probes/ftrace/ftrace_data_source.cc", | 
 |         "src/traced/probes/ftrace/ftrace_data_source.h", | 
 |         "src/traced/probes/ftrace/ftrace_metadata.h", | 
 |         "src/traced/probes/ftrace/ftrace_stats.cc", | 
 |         "src/traced/probes/ftrace/ftrace_stats.h", | 
 |         "src/traced/probes/ftrace/printk_formats_parser.cc", | 
 |         "src/traced/probes/ftrace/printk_formats_parser.h", | 
 |         "src/traced/probes/ftrace/proto_translation_table.cc", | 
 |         "src/traced/probes/ftrace/proto_translation_table.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/traced/probes/ftrace:ftrace_procfs | 
 | filegroup( | 
 |     name = "src_traced_probes_ftrace_ftrace_procfs", | 
 |     srcs = [ | 
 |         "src/traced/probes/ftrace/ftrace_procfs.cc", | 
 |         "src/traced/probes/ftrace/ftrace_procfs.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/traced/probes/initial_display_state:initial_display_state | 
 | filegroup( | 
 |     name = "src_traced_probes_initial_display_state_initial_display_state", | 
 |     srcs = [ | 
 |         "src/traced/probes/initial_display_state/initial_display_state_data_source.cc", | 
 |         "src/traced/probes/initial_display_state/initial_display_state_data_source.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/traced/probes/metatrace:metatrace | 
 | filegroup( | 
 |     name = "src_traced_probes_metatrace_metatrace", | 
 |     srcs = [ | 
 |         "src/traced/probes/metatrace/metatrace_data_source.cc", | 
 |         "src/traced/probes/metatrace/metatrace_data_source.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/traced/probes/packages_list:packages_list | 
 | filegroup( | 
 |     name = "src_traced_probes_packages_list_packages_list", | 
 |     srcs = [ | 
 |         "src/traced/probes/packages_list/packages_list_data_source.cc", | 
 |         "src/traced/probes/packages_list/packages_list_data_source.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/traced/probes/packages_list:packages_list_parser | 
 | filegroup( | 
 |     name = "src_traced_probes_packages_list_packages_list_parser", | 
 |     srcs = [ | 
 |         "src/traced/probes/packages_list/packages_list_parser.cc", | 
 |         "src/traced/probes/packages_list/packages_list_parser.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/traced/probes/power:power | 
 | filegroup( | 
 |     name = "src_traced_probes_power_power", | 
 |     srcs = [ | 
 |         "src/traced/probes/power/android_power_data_source.cc", | 
 |         "src/traced/probes/power/android_power_data_source.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/traced/probes/ps:ps | 
 | filegroup( | 
 |     name = "src_traced_probes_ps_ps", | 
 |     srcs = [ | 
 |         "src/traced/probes/ps/process_stats_data_source.cc", | 
 |         "src/traced/probes/ps/process_stats_data_source.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/traced/probes/sys_stats:sys_stats | 
 | filegroup( | 
 |     name = "src_traced_probes_sys_stats_sys_stats", | 
 |     srcs = [ | 
 |         "src/traced/probes/sys_stats/sys_stats_data_source.cc", | 
 |         "src/traced/probes/sys_stats/sys_stats_data_source.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/traced/probes/system_info:system_info | 
 | filegroup( | 
 |     name = "src_traced_probes_system_info_system_info", | 
 |     srcs = [ | 
 |         "src/traced/probes/system_info/system_info_data_source.cc", | 
 |         "src/traced/probes/system_info/system_info_data_source.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/traced/probes:data_source | 
 | filegroup( | 
 |     name = "src_traced_probes_data_source", | 
 |     srcs = [ | 
 |         "src/traced/probes/probes_data_source.cc", | 
 |         "src/traced/probes/probes_data_source.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/traced/probes:probes | 
 | filegroup( | 
 |     name = "src_traced_probes_probes", | 
 |     srcs = [ | 
 |         "src/traced/probes/probes.cc", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/traced/probes:probes_src | 
 | filegroup( | 
 |     name = "src_traced_probes_probes_src", | 
 |     srcs = [ | 
 |         "src/traced/probes/kmem_activity_trigger.cc", | 
 |         "src/traced/probes/kmem_activity_trigger.h", | 
 |         "src/traced/probes/probes_producer.cc", | 
 |         "src/traced/probes/probes_producer.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/traced/service:service | 
 | filegroup( | 
 |     name = "src_traced_service_service", | 
 |     srcs = [ | 
 |         "src/traced/service/builtin_producer.cc", | 
 |         "src/traced/service/builtin_producer.h", | 
 |         "src/traced/service/service.cc", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/tracing/consumer_api_deprecated:consumer_api_deprecated | 
 | filegroup( | 
 |     name = "src_tracing_consumer_api_deprecated_consumer_api_deprecated", | 
 |     srcs = [ | 
 |         "src/tracing/consumer_api_deprecated/consumer_api_deprecated.cc", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/tracing/core:core | 
 | filegroup( | 
 |     name = "src_tracing_core_core", | 
 |     srcs = [ | 
 |         "src/tracing/core/id_allocator.cc", | 
 |         "src/tracing/core/id_allocator.h", | 
 |         "src/tracing/core/null_trace_writer.cc", | 
 |         "src/tracing/core/null_trace_writer.h", | 
 |         "src/tracing/core/patch_list.h", | 
 |         "src/tracing/core/shared_memory_abi.cc", | 
 |         "src/tracing/core/shared_memory_arbiter_impl.cc", | 
 |         "src/tracing/core/shared_memory_arbiter_impl.h", | 
 |         "src/tracing/core/trace_packet.cc", | 
 |         "src/tracing/core/trace_writer_impl.cc", | 
 |         "src/tracing/core/trace_writer_impl.h", | 
 |         "src/tracing/core/virtual_destructors.cc", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/tracing/core:service | 
 | filegroup( | 
 |     name = "src_tracing_core_service", | 
 |     srcs = [ | 
 |         "src/tracing/core/metatrace_writer.cc", | 
 |         "src/tracing/core/metatrace_writer.h", | 
 |         "src/tracing/core/packet_stream_validator.cc", | 
 |         "src/tracing/core/packet_stream_validator.h", | 
 |         "src/tracing/core/trace_buffer.cc", | 
 |         "src/tracing/core/trace_buffer.h", | 
 |         "src/tracing/core/tracing_service_impl.cc", | 
 |         "src/tracing/core/tracing_service_impl.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/tracing/ipc/consumer:consumer | 
 | filegroup( | 
 |     name = "src_tracing_ipc_consumer_consumer", | 
 |     srcs = [ | 
 |         "src/tracing/ipc/consumer/consumer_ipc_client_impl.cc", | 
 |         "src/tracing/ipc/consumer/consumer_ipc_client_impl.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/tracing/ipc/producer:producer | 
 | filegroup( | 
 |     name = "src_tracing_ipc_producer_producer", | 
 |     srcs = [ | 
 |         "src/tracing/ipc/producer/producer_ipc_client_impl.cc", | 
 |         "src/tracing/ipc/producer/producer_ipc_client_impl.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/tracing/ipc/service:service | 
 | filegroup( | 
 |     name = "src_tracing_ipc_service_service", | 
 |     srcs = [ | 
 |         "src/tracing/ipc/service/consumer_ipc_service.cc", | 
 |         "src/tracing/ipc/service/consumer_ipc_service.h", | 
 |         "src/tracing/ipc/service/producer_ipc_service.cc", | 
 |         "src/tracing/ipc/service/producer_ipc_service.h", | 
 |         "src/tracing/ipc/service/service_ipc_host_impl.cc", | 
 |         "src/tracing/ipc/service/service_ipc_host_impl.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/tracing/ipc:common | 
 | filegroup( | 
 |     name = "src_tracing_ipc_common", | 
 |     srcs = [ | 
 |         "src/tracing/ipc/default_socket.cc", | 
 |         "src/tracing/ipc/memfd.cc", | 
 |         "src/tracing/ipc/memfd.h", | 
 |         "src/tracing/ipc/posix_shared_memory.cc", | 
 |         "src/tracing/ipc/posix_shared_memory.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/tracing:client_api_without_backends | 
 | filegroup( | 
 |     name = "src_tracing_client_api_without_backends", | 
 |     srcs = [ | 
 |         "src/tracing/console_interceptor.cc", | 
 |         "src/tracing/data_source.cc", | 
 |         "src/tracing/debug_annotation.cc", | 
 |         "src/tracing/event_context.cc", | 
 |         "src/tracing/interceptor.cc", | 
 |         "src/tracing/internal/checked_scope.cc", | 
 |         "src/tracing/internal/interceptor_trace_writer.cc", | 
 |         "src/tracing/internal/tracing_backend_fake.cc", | 
 |         "src/tracing/internal/tracing_muxer_fake.cc", | 
 |         "src/tracing/internal/tracing_muxer_fake.h", | 
 |         "src/tracing/internal/tracing_muxer_impl.cc", | 
 |         "src/tracing/internal/tracing_muxer_impl.h", | 
 |         "src/tracing/internal/track_event_internal.cc", | 
 |         "src/tracing/internal/track_event_interned_fields.cc", | 
 |         "src/tracing/platform.cc", | 
 |         "src/tracing/traced_value.cc", | 
 |         "src/tracing/tracing.cc", | 
 |         "src/tracing/tracing_policy.cc", | 
 |         "src/tracing/track.cc", | 
 |         "src/tracing/track_event_category_registry.cc", | 
 |         "src/tracing/track_event_legacy.cc", | 
 |         "src/tracing/track_event_state_tracker.cc", | 
 |         "src/tracing/virtual_destructors.cc", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/tracing:common | 
 | filegroup( | 
 |     name = "src_tracing_common", | 
 |     srcs = [ | 
 |         "src/tracing/trace_writer_base.cc", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/tracing:in_process_backend | 
 | filegroup( | 
 |     name = "src_tracing_in_process_backend", | 
 |     srcs = [ | 
 |         "src/tracing/internal/in_process_tracing_backend.cc", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/tracing:platform_impl | 
 | filegroup( | 
 |     name = "src_tracing_platform_impl", | 
 |     srcs = [ | 
 |         "src/tracing/platform_posix.cc", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/tracing:system_backend | 
 | filegroup( | 
 |     name = "src_tracing_system_backend", | 
 |     srcs = [ | 
 |         "src/tracing/internal/system_tracing_backend.cc", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //tools/trace_to_text:common | 
 | filegroup( | 
 |     name = "tools_trace_to_text_common", | 
 |     srcs = [ | 
 |         "tools/trace_to_text/deobfuscate_profile.cc", | 
 |         "tools/trace_to_text/deobfuscate_profile.h", | 
 |         "tools/trace_to_text/main.cc", | 
 |         "tools/trace_to_text/symbolize_profile.cc", | 
 |         "tools/trace_to_text/symbolize_profile.h", | 
 |         "tools/trace_to_text/trace_to_hprof.cc", | 
 |         "tools/trace_to_text/trace_to_hprof.h", | 
 |         "tools/trace_to_text/trace_to_json.cc", | 
 |         "tools/trace_to_text/trace_to_json.h", | 
 |         "tools/trace_to_text/trace_to_profile.cc", | 
 |         "tools/trace_to_text/trace_to_profile.h", | 
 |         "tools/trace_to_text/trace_to_systrace.cc", | 
 |         "tools/trace_to_text/trace_to_systrace.h", | 
 |         "tools/trace_to_text/trace_to_text.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //tools/trace_to_text:full | 
 | filegroup( | 
 |     name = "tools_trace_to_text_full", | 
 |     srcs = [ | 
 |         "tools/trace_to_text/proto_full_utils.cc", | 
 |         "tools/trace_to_text/proto_full_utils.h", | 
 |         "tools/trace_to_text/trace_to_text.cc", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //tools/trace_to_text:pprofbuilder | 
 | filegroup( | 
 |     name = "tools_trace_to_text_pprofbuilder", | 
 |     srcs = [ | 
 |         "tools/trace_to_text/pprof_builder.cc", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //tools/trace_to_text:utils | 
 | filegroup( | 
 |     name = "tools_trace_to_text_utils", | 
 |     srcs = [ | 
 |         "tools/trace_to_text/utils.cc", | 
 |         "tools/trace_to_text/utils.h", | 
 |     ], | 
 | ) | 
 |  | 
 | # ############################################################################## | 
 | # Proto libraries | 
 | # ############################################################################## | 
 |  | 
 | # GN target: //protos/perfetto/common:cpp | 
 | perfetto_cc_protocpp_library( | 
 |     name = "protos_perfetto_common_cpp", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/common:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_common_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/common:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_common_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/common/android_energy_consumer_descriptor.proto", | 
 |         "protos/perfetto/common/android_log_constants.proto", | 
 |         "protos/perfetto/common/builtin_clock.proto", | 
 |         "protos/perfetto/common/commit_data_request.proto", | 
 |         "protos/perfetto/common/data_source_descriptor.proto", | 
 |         "protos/perfetto/common/descriptor.proto", | 
 |         "protos/perfetto/common/gpu_counter_descriptor.proto", | 
 |         "protos/perfetto/common/interceptor_descriptor.proto", | 
 |         "protos/perfetto/common/observable_events.proto", | 
 |         "protos/perfetto/common/perf_events.proto", | 
 |         "protos/perfetto/common/sys_stats_counters.proto", | 
 |         "protos/perfetto/common/trace_stats.proto", | 
 |         "protos/perfetto/common/tracing_service_capabilities.proto", | 
 |         "protos/perfetto/common/tracing_service_state.proto", | 
 |         "protos/perfetto/common/track_event_descriptor.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/common:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_common_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/android:cpp | 
 | perfetto_cc_protocpp_library( | 
 |     name = "protos_perfetto_config_android_cpp", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_cpp", | 
 |         ":protos_perfetto_config_android_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/android:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_config_android_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_android_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/android:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_config_android_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/config/android/android_log_config.proto", | 
 |         "protos/perfetto/config/android/android_polled_state_config.proto", | 
 |         "protos/perfetto/config/android/packages_list_config.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 |     deps = [ | 
 |         ":protos_perfetto_common_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/android:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_config_android_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_zero", | 
 |         ":protos_perfetto_config_android_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config:cpp | 
 | perfetto_cc_protocpp_library( | 
 |     name = "protos_perfetto_config_cpp", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_cpp", | 
 |         ":protos_perfetto_config_android_cpp", | 
 |         ":protos_perfetto_config_ftrace_cpp", | 
 |         ":protos_perfetto_config_gpu_cpp", | 
 |         ":protos_perfetto_config_inode_file_cpp", | 
 |         ":protos_perfetto_config_interceptors_cpp", | 
 |         ":protos_perfetto_config_power_cpp", | 
 |         ":protos_perfetto_config_process_stats_cpp", | 
 |         ":protos_perfetto_config_profiling_cpp", | 
 |         ":protos_perfetto_config_protos", | 
 |         ":protos_perfetto_config_sys_stats_cpp", | 
 |         ":protos_perfetto_config_track_event_cpp", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config:descriptor | 
 | perfetto_proto_descriptor( | 
 |     name = "protos_perfetto_config_descriptor", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_protos", | 
 |     ], | 
 |     outs = [ | 
 |         "protos_perfetto_config_descriptor.bin", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/ftrace:cpp | 
 | perfetto_cc_protocpp_library( | 
 |     name = "protos_perfetto_config_ftrace_cpp", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_ftrace_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/ftrace:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_config_ftrace_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_ftrace_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/ftrace:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_config_ftrace_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/config/ftrace/ftrace_config.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/ftrace:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_config_ftrace_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_ftrace_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/gpu:cpp | 
 | perfetto_cc_protocpp_library( | 
 |     name = "protos_perfetto_config_gpu_cpp", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_gpu_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/gpu:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_config_gpu_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_gpu_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/gpu:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_config_gpu_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/config/gpu/gpu_counter_config.proto", | 
 |         "protos/perfetto/config/gpu/vulkan_memory_config.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/gpu:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_config_gpu_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_gpu_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/inode_file:cpp | 
 | perfetto_cc_protocpp_library( | 
 |     name = "protos_perfetto_config_inode_file_cpp", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_inode_file_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/inode_file:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_config_inode_file_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_inode_file_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/inode_file:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_config_inode_file_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/config/inode_file/inode_file_config.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/inode_file:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_config_inode_file_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_inode_file_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/interceptors:cpp | 
 | perfetto_cc_protocpp_library( | 
 |     name = "protos_perfetto_config_interceptors_cpp", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_cpp", | 
 |         ":protos_perfetto_config_interceptors_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/interceptors:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_config_interceptors_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_interceptors_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/interceptors:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_config_interceptors_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/config/interceptors/console_config.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 |     deps = [ | 
 |         ":protos_perfetto_common_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/interceptors:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_config_interceptors_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_zero", | 
 |         ":protos_perfetto_config_interceptors_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_config_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config:merged_config | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_config_merged_config", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_merged_config_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config:merged_config | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_config_merged_config_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/config/perfetto_config.proto", | 
 |     ], | 
 |     visibility = PERFETTO_CONFIG.public_visibility, | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config:perfetto_config_descriptor | 
 | perfetto_proto_descriptor( | 
 |     name = "protos_perfetto_config_perfetto_config_descriptor", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_perfetto_config_protos", | 
 |     ], | 
 |     outs = [ | 
 |         "protos_perfetto_config_perfetto_config_descriptor.bin", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config:perfetto_config_descriptor | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_config_perfetto_config_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/config/perfetto_config.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/power:cpp | 
 | perfetto_cc_protocpp_library( | 
 |     name = "protos_perfetto_config_power_cpp", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_power_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/power:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_config_power_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_power_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/power:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_config_power_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/config/power/android_power_config.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/power:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_config_power_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_power_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/process_stats:cpp | 
 | perfetto_cc_protocpp_library( | 
 |     name = "protos_perfetto_config_process_stats_cpp", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_process_stats_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/process_stats:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_config_process_stats_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_process_stats_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/process_stats:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_config_process_stats_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/config/process_stats/process_stats_config.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/process_stats:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_config_process_stats_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_process_stats_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/profiling:cpp | 
 | perfetto_cc_protocpp_library( | 
 |     name = "protos_perfetto_config_profiling_cpp", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_cpp", | 
 |         ":protos_perfetto_config_profiling_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/profiling:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_config_profiling_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_profiling_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/profiling:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_config_profiling_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/config/profiling/heapprofd_config.proto", | 
 |         "protos/perfetto/config/profiling/java_hprof_config.proto", | 
 |         "protos/perfetto/config/profiling/perf_event_config.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 |     deps = [ | 
 |         ":protos_perfetto_common_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/profiling:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_config_profiling_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_zero", | 
 |         ":protos_perfetto_config_profiling_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_config_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/config/chrome/chrome_config.proto", | 
 |         "protos/perfetto/config/data_source_config.proto", | 
 |         "protos/perfetto/config/interceptor_config.proto", | 
 |         "protos/perfetto/config/stress_test_config.proto", | 
 |         "protos/perfetto/config/test_config.proto", | 
 |         "protos/perfetto/config/trace_config.proto", | 
 |     ], | 
 |     visibility = PERFETTO_CONFIG.public_visibility, | 
 |     deps = [ | 
 |         ":protos_perfetto_common_protos", | 
 |         ":protos_perfetto_config_android_protos", | 
 |         ":protos_perfetto_config_ftrace_protos", | 
 |         ":protos_perfetto_config_gpu_protos", | 
 |         ":protos_perfetto_config_inode_file_protos", | 
 |         ":protos_perfetto_config_interceptors_protos", | 
 |         ":protos_perfetto_config_power_protos", | 
 |         ":protos_perfetto_config_process_stats_protos", | 
 |         ":protos_perfetto_config_profiling_protos", | 
 |         ":protos_perfetto_config_sys_stats_protos", | 
 |         ":protos_perfetto_config_track_event_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/sys_stats:cpp | 
 | perfetto_cc_protocpp_library( | 
 |     name = "protos_perfetto_config_sys_stats_cpp", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_cpp", | 
 |         ":protos_perfetto_config_sys_stats_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/sys_stats:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_config_sys_stats_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_sys_stats_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/sys_stats:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_config_sys_stats_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/config/sys_stats/sys_stats_config.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 |     deps = [ | 
 |         ":protos_perfetto_common_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/sys_stats:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_config_sys_stats_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_zero", | 
 |         ":protos_perfetto_config_sys_stats_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/track_event:cpp | 
 | perfetto_cc_protocpp_library( | 
 |     name = "protos_perfetto_config_track_event_cpp", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_track_event_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/track_event:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_config_track_event_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_track_event_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/track_event:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_config_track_event_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/config/track_event/track_event_config.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config/track_event:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_config_track_event_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_track_event_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/config:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_config_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_zero", | 
 |         ":protos_perfetto_config_android_zero", | 
 |         ":protos_perfetto_config_ftrace_zero", | 
 |         ":protos_perfetto_config_gpu_zero", | 
 |         ":protos_perfetto_config_inode_file_zero", | 
 |         ":protos_perfetto_config_interceptors_zero", | 
 |         ":protos_perfetto_config_power_zero", | 
 |         ":protos_perfetto_config_process_stats_zero", | 
 |         ":protos_perfetto_config_profiling_zero", | 
 |         ":protos_perfetto_config_protos", | 
 |         ":protos_perfetto_config_sys_stats_zero", | 
 |         ":protos_perfetto_config_track_event_zero", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/ipc:cpp | 
 | perfetto_cc_protocpp_library( | 
 |     name = "protos_perfetto_ipc_cpp", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_cpp", | 
 |         ":protos_perfetto_config_android_cpp", | 
 |         ":protos_perfetto_config_cpp", | 
 |         ":protos_perfetto_config_ftrace_cpp", | 
 |         ":protos_perfetto_config_gpu_cpp", | 
 |         ":protos_perfetto_config_inode_file_cpp", | 
 |         ":protos_perfetto_config_interceptors_cpp", | 
 |         ":protos_perfetto_config_power_cpp", | 
 |         ":protos_perfetto_config_process_stats_cpp", | 
 |         ":protos_perfetto_config_profiling_cpp", | 
 |         ":protos_perfetto_config_sys_stats_cpp", | 
 |         ":protos_perfetto_config_track_event_cpp", | 
 |         ":protos_perfetto_ipc_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/ipc:ipc | 
 | perfetto_cc_ipc_library( | 
 |     name = "protos_perfetto_ipc_ipc", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_cpp", | 
 |         ":protos_perfetto_config_android_cpp", | 
 |         ":protos_perfetto_config_cpp", | 
 |         ":protos_perfetto_config_ftrace_cpp", | 
 |         ":protos_perfetto_config_gpu_cpp", | 
 |         ":protos_perfetto_config_inode_file_cpp", | 
 |         ":protos_perfetto_config_interceptors_cpp", | 
 |         ":protos_perfetto_config_power_cpp", | 
 |         ":protos_perfetto_config_process_stats_cpp", | 
 |         ":protos_perfetto_config_profiling_cpp", | 
 |         ":protos_perfetto_config_sys_stats_cpp", | 
 |         ":protos_perfetto_config_track_event_cpp", | 
 |         ":protos_perfetto_ipc_cpp", | 
 |         ":protos_perfetto_ipc_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/ipc:ipc | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_ipc_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/ipc/consumer_port.proto", | 
 |         "protos/perfetto/ipc/producer_port.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 |     deps = [ | 
 |         ":protos_perfetto_common_protos", | 
 |         ":protos_perfetto_config_android_protos", | 
 |         ":protos_perfetto_config_ftrace_protos", | 
 |         ":protos_perfetto_config_gpu_protos", | 
 |         ":protos_perfetto_config_inode_file_protos", | 
 |         ":protos_perfetto_config_interceptors_protos", | 
 |         ":protos_perfetto_config_power_protos", | 
 |         ":protos_perfetto_config_process_stats_protos", | 
 |         ":protos_perfetto_config_profiling_protos", | 
 |         ":protos_perfetto_config_protos", | 
 |         ":protos_perfetto_config_sys_stats_protos", | 
 |         ":protos_perfetto_config_track_event_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/ipc:wire_protocol_cpp | 
 | perfetto_cc_protocpp_library( | 
 |     name = "protos_perfetto_ipc_wire_protocol_cpp", | 
 |     deps = [ | 
 |         ":protos_perfetto_ipc_wire_protocol_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/ipc:wire_protocol_cpp | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_ipc_wire_protocol_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/ipc/wire_protocol.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/metrics/android:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_metrics_android_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_metrics_android_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/metrics/android:source_set | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_metrics_android_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/metrics/android/batt_metric.proto", | 
 |         "protos/perfetto/metrics/android/cpu_metric.proto", | 
 |         "protos/perfetto/metrics/android/display_metrics.proto", | 
 |         "protos/perfetto/metrics/android/dma_heap_metric.proto", | 
 |         "protos/perfetto/metrics/android/fastrpc_metric.proto", | 
 |         "protos/perfetto/metrics/android/g2d_metric.proto", | 
 |         "protos/perfetto/metrics/android/gpu_metric.proto", | 
 |         "protos/perfetto/metrics/android/hwcomposer.proto", | 
 |         "protos/perfetto/metrics/android/hwui_metric.proto", | 
 |         "protos/perfetto/metrics/android/ion_metric.proto", | 
 |         "protos/perfetto/metrics/android/jank_metric.proto", | 
 |         "protos/perfetto/metrics/android/java_heap_histogram.proto", | 
 |         "protos/perfetto/metrics/android/java_heap_stats.proto", | 
 |         "protos/perfetto/metrics/android/lmk_metric.proto", | 
 |         "protos/perfetto/metrics/android/lmk_reason_metric.proto", | 
 |         "protos/perfetto/metrics/android/mem_metric.proto", | 
 |         "protos/perfetto/metrics/android/mem_unagg_metric.proto", | 
 |         "protos/perfetto/metrics/android/package_list.proto", | 
 |         "protos/perfetto/metrics/android/powrails_metric.proto", | 
 |         "protos/perfetto/metrics/android/process_metadata.proto", | 
 |         "protos/perfetto/metrics/android/startup_metric.proto", | 
 |         "protos/perfetto/metrics/android/surfaceflinger.proto", | 
 |         "protos/perfetto/metrics/android/sysui_cuj_metrics.proto", | 
 |         "protos/perfetto/metrics/android/task_names.proto", | 
 |         "protos/perfetto/metrics/android/thread_time_in_state_metric.proto", | 
 |         "protos/perfetto/metrics/android/unsymbolized_frames.proto", | 
 |     ], | 
 |     visibility = PERFETTO_CONFIG.public_visibility, | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/metrics/chrome:descriptor | 
 | perfetto_proto_descriptor( | 
 |     name = "protos_perfetto_metrics_chrome_descriptor", | 
 |     deps = [ | 
 |         ":protos_perfetto_metrics_chrome_protos", | 
 |     ], | 
 |     outs = [ | 
 |         "protos_perfetto_metrics_chrome_descriptor.bin", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/metrics/chrome:source_set | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_metrics_chrome_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/metrics/chrome/all_chrome_metrics.proto", | 
 |         "protos/perfetto/metrics/chrome/blink_gc_metric.proto", | 
 |         "protos/perfetto/metrics/chrome/frame_times.proto", | 
 |         "protos/perfetto/metrics/chrome/media_metric.proto", | 
 |         "protos/perfetto/metrics/chrome/reported_by_page.proto", | 
 |         "protos/perfetto/metrics/chrome/scroll_jank.proto", | 
 |         "protos/perfetto/metrics/chrome/test_chrome_metric.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 |     deps = [ | 
 |         ":protos_perfetto_metrics_android_protos", | 
 |         ":protos_perfetto_metrics_custom_options_protos", | 
 |         ":protos_perfetto_metrics_protos", | 
 |     ] + PERFETTO_CONFIG.deps.protobuf_descriptor_proto, | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/metrics:custom_options_source_set | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_metrics_custom_options_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/metrics/custom_options.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 |     deps = [ | 
 |     ] + PERFETTO_CONFIG.deps.protobuf_descriptor_proto, | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/metrics:descriptor | 
 | perfetto_proto_descriptor( | 
 |     name = "protos_perfetto_metrics_descriptor", | 
 |     deps = [ | 
 |         ":protos_perfetto_metrics_protos", | 
 |     ], | 
 |     outs = [ | 
 |         "protos_perfetto_metrics_descriptor.bin", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/metrics:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_metrics_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_metrics_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/metrics:source_set | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_metrics_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/metrics/metrics.proto", | 
 |     ], | 
 |     visibility = PERFETTO_CONFIG.public_visibility, | 
 |     deps = [ | 
 |         ":protos_perfetto_metrics_android_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/android:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_trace_android_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_android_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/android:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_trace_android_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/trace/android/android_log.proto", | 
 |         "protos/perfetto/trace/android/frame_timeline_event.proto", | 
 |         "protos/perfetto/trace/android/gpu_mem_event.proto", | 
 |         "protos/perfetto/trace/android/graphics_frame_event.proto", | 
 |         "protos/perfetto/trace/android/initial_display_state.proto", | 
 |         "protos/perfetto/trace/android/packages_list.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 |     deps = [ | 
 |         ":protos_perfetto_common_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/android:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_trace_android_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_zero", | 
 |         ":protos_perfetto_trace_android_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/chrome:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_trace_chrome_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_chrome_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/chrome:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_trace_chrome_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/trace/chrome/chrome_benchmark_metadata.proto", | 
 |         "protos/perfetto/trace/chrome/chrome_metadata.proto", | 
 |         "protos/perfetto/trace/chrome/chrome_trace_event.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/chrome:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_trace_chrome_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_chrome_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/filesystem:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_trace_filesystem_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_filesystem_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/filesystem:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_trace_filesystem_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/trace/filesystem/inode_file_map.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/filesystem:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_trace_filesystem_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_filesystem_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/ftrace:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_trace_ftrace_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_ftrace_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/ftrace:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_trace_ftrace_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/trace/ftrace/binder.proto", | 
 |         "protos/perfetto/trace/ftrace/block.proto", | 
 |         "protos/perfetto/trace/ftrace/cgroup.proto", | 
 |         "protos/perfetto/trace/ftrace/clk.proto", | 
 |         "protos/perfetto/trace/ftrace/compaction.proto", | 
 |         "protos/perfetto/trace/ftrace/cpuhp.proto", | 
 |         "protos/perfetto/trace/ftrace/dmabuf_heap.proto", | 
 |         "protos/perfetto/trace/ftrace/dpu.proto", | 
 |         "protos/perfetto/trace/ftrace/ext4.proto", | 
 |         "protos/perfetto/trace/ftrace/f2fs.proto", | 
 |         "protos/perfetto/trace/ftrace/fastrpc.proto", | 
 |         "protos/perfetto/trace/ftrace/fence.proto", | 
 |         "protos/perfetto/trace/ftrace/filemap.proto", | 
 |         "protos/perfetto/trace/ftrace/ftrace.proto", | 
 |         "protos/perfetto/trace/ftrace/ftrace_event.proto", | 
 |         "protos/perfetto/trace/ftrace/ftrace_event_bundle.proto", | 
 |         "protos/perfetto/trace/ftrace/ftrace_stats.proto", | 
 |         "protos/perfetto/trace/ftrace/g2d.proto", | 
 |         "protos/perfetto/trace/ftrace/generic.proto", | 
 |         "protos/perfetto/trace/ftrace/gpu_mem.proto", | 
 |         "protos/perfetto/trace/ftrace/i2c.proto", | 
 |         "protos/perfetto/trace/ftrace/ion.proto", | 
 |         "protos/perfetto/trace/ftrace/ipi.proto", | 
 |         "protos/perfetto/trace/ftrace/irq.proto", | 
 |         "protos/perfetto/trace/ftrace/kmem.proto", | 
 |         "protos/perfetto/trace/ftrace/lowmemorykiller.proto", | 
 |         "protos/perfetto/trace/ftrace/mali.proto", | 
 |         "protos/perfetto/trace/ftrace/mdss.proto", | 
 |         "protos/perfetto/trace/ftrace/mm_event.proto", | 
 |         "protos/perfetto/trace/ftrace/oom.proto", | 
 |         "protos/perfetto/trace/ftrace/power.proto", | 
 |         "protos/perfetto/trace/ftrace/raw_syscalls.proto", | 
 |         "protos/perfetto/trace/ftrace/regulator.proto", | 
 |         "protos/perfetto/trace/ftrace/sched.proto", | 
 |         "protos/perfetto/trace/ftrace/scm.proto", | 
 |         "protos/perfetto/trace/ftrace/sde.proto", | 
 |         "protos/perfetto/trace/ftrace/signal.proto", | 
 |         "protos/perfetto/trace/ftrace/sync.proto", | 
 |         "protos/perfetto/trace/ftrace/systrace.proto", | 
 |         "protos/perfetto/trace/ftrace/task.proto", | 
 |         "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto", | 
 |         "protos/perfetto/trace/ftrace/thermal.proto", | 
 |         "protos/perfetto/trace/ftrace/vmscan.proto", | 
 |         "protos/perfetto/trace/ftrace/workqueue.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/ftrace:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_trace_ftrace_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_ftrace_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/gpu:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_trace_gpu_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_gpu_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/gpu:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_trace_gpu_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/trace/gpu/gpu_counter_event.proto", | 
 |         "protos/perfetto/trace/gpu/gpu_log.proto", | 
 |         "protos/perfetto/trace/gpu/gpu_render_stage_event.proto", | 
 |         "protos/perfetto/trace/gpu/vulkan_api_event.proto", | 
 |         "protos/perfetto/trace/gpu/vulkan_memory_event.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 |     deps = [ | 
 |         ":protos_perfetto_common_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/gpu:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_trace_gpu_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_zero", | 
 |         ":protos_perfetto_trace_gpu_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/interned_data:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_trace_interned_data_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_interned_data_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/interned_data:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_trace_interned_data_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/trace/interned_data/interned_data.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 |     deps = [ | 
 |         ":protos_perfetto_common_protos", | 
 |         ":protos_perfetto_trace_gpu_protos", | 
 |         ":protos_perfetto_trace_profiling_protos", | 
 |         ":protos_perfetto_trace_track_event_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/interned_data:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_trace_interned_data_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_zero", | 
 |         ":protos_perfetto_trace_gpu_zero", | 
 |         ":protos_perfetto_trace_interned_data_protos", | 
 |         ":protos_perfetto_trace_profiling_zero", | 
 |         ":protos_perfetto_trace_track_event_zero", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace:merged_trace | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_trace_merged_trace", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_merged_trace_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace:merged_trace | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_trace_merged_trace_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/trace/perfetto_trace.proto", | 
 |     ], | 
 |     visibility = PERFETTO_CONFIG.public_visibility, | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace:minimal_lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_trace_minimal_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_minimal_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace:minimal_zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_trace_minimal_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/trace/clock_snapshot.proto", | 
 |         "protos/perfetto/trace/system_info.proto", | 
 |         "protos/perfetto/trace/trigger.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 |     deps = [ | 
 |         ":protos_perfetto_common_protos", | 
 |         ":protos_perfetto_config_android_protos", | 
 |         ":protos_perfetto_config_ftrace_protos", | 
 |         ":protos_perfetto_config_gpu_protos", | 
 |         ":protos_perfetto_config_inode_file_protos", | 
 |         ":protos_perfetto_config_interceptors_protos", | 
 |         ":protos_perfetto_config_power_protos", | 
 |         ":protos_perfetto_config_process_stats_protos", | 
 |         ":protos_perfetto_config_profiling_protos", | 
 |         ":protos_perfetto_config_protos", | 
 |         ":protos_perfetto_config_sys_stats_protos", | 
 |         ":protos_perfetto_config_track_event_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace:minimal_zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_trace_minimal_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_zero", | 
 |         ":protos_perfetto_config_android_zero", | 
 |         ":protos_perfetto_config_ftrace_zero", | 
 |         ":protos_perfetto_config_gpu_zero", | 
 |         ":protos_perfetto_config_inode_file_zero", | 
 |         ":protos_perfetto_config_interceptors_zero", | 
 |         ":protos_perfetto_config_power_zero", | 
 |         ":protos_perfetto_config_process_stats_zero", | 
 |         ":protos_perfetto_config_profiling_zero", | 
 |         ":protos_perfetto_config_sys_stats_zero", | 
 |         ":protos_perfetto_config_track_event_zero", | 
 |         ":protos_perfetto_config_zero", | 
 |         ":protos_perfetto_trace_minimal_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace:non_minimal_lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_trace_non_minimal_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_non_minimal_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace:non_minimal_zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_trace_non_minimal_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/trace/extension_descriptor.proto", | 
 |         "protos/perfetto/trace/memory_graph.proto", | 
 |         "protos/perfetto/trace/test_event.proto", | 
 |         "protos/perfetto/trace/test_extensions.proto", | 
 |         "protos/perfetto/trace/trace.proto", | 
 |         "protos/perfetto/trace/trace_packet.proto", | 
 |         "protos/perfetto/trace/trace_packet_defaults.proto", | 
 |         "protos/perfetto/trace/ui_state.proto", | 
 |     ], | 
 |     visibility = PERFETTO_CONFIG.public_visibility, | 
 |     deps = [ | 
 |         ":protos_perfetto_common_protos", | 
 |         ":protos_perfetto_config_android_protos", | 
 |         ":protos_perfetto_config_ftrace_protos", | 
 |         ":protos_perfetto_config_gpu_protos", | 
 |         ":protos_perfetto_config_inode_file_protos", | 
 |         ":protos_perfetto_config_interceptors_protos", | 
 |         ":protos_perfetto_config_power_protos", | 
 |         ":protos_perfetto_config_process_stats_protos", | 
 |         ":protos_perfetto_config_profiling_protos", | 
 |         ":protos_perfetto_config_protos", | 
 |         ":protos_perfetto_config_sys_stats_protos", | 
 |         ":protos_perfetto_config_track_event_protos", | 
 |         ":protos_perfetto_trace_android_protos", | 
 |         ":protos_perfetto_trace_chrome_protos", | 
 |         ":protos_perfetto_trace_filesystem_protos", | 
 |         ":protos_perfetto_trace_ftrace_protos", | 
 |         ":protos_perfetto_trace_gpu_protos", | 
 |         ":protos_perfetto_trace_interned_data_protos", | 
 |         ":protos_perfetto_trace_minimal_protos", | 
 |         ":protos_perfetto_trace_perfetto_protos", | 
 |         ":protos_perfetto_trace_power_protos", | 
 |         ":protos_perfetto_trace_profiling_protos", | 
 |         ":protos_perfetto_trace_ps_protos", | 
 |         ":protos_perfetto_trace_sys_stats_protos", | 
 |         ":protos_perfetto_trace_system_info_protos", | 
 |         ":protos_perfetto_trace_track_event_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace:non_minimal_zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_trace_non_minimal_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_zero", | 
 |         ":protos_perfetto_config_android_zero", | 
 |         ":protos_perfetto_config_ftrace_zero", | 
 |         ":protos_perfetto_config_gpu_zero", | 
 |         ":protos_perfetto_config_inode_file_zero", | 
 |         ":protos_perfetto_config_interceptors_zero", | 
 |         ":protos_perfetto_config_power_zero", | 
 |         ":protos_perfetto_config_process_stats_zero", | 
 |         ":protos_perfetto_config_profiling_zero", | 
 |         ":protos_perfetto_config_sys_stats_zero", | 
 |         ":protos_perfetto_config_track_event_zero", | 
 |         ":protos_perfetto_config_zero", | 
 |         ":protos_perfetto_trace_android_zero", | 
 |         ":protos_perfetto_trace_chrome_zero", | 
 |         ":protos_perfetto_trace_filesystem_zero", | 
 |         ":protos_perfetto_trace_ftrace_zero", | 
 |         ":protos_perfetto_trace_gpu_zero", | 
 |         ":protos_perfetto_trace_interned_data_zero", | 
 |         ":protos_perfetto_trace_minimal_zero", | 
 |         ":protos_perfetto_trace_non_minimal_protos", | 
 |         ":protos_perfetto_trace_perfetto_zero", | 
 |         ":protos_perfetto_trace_power_zero", | 
 |         ":protos_perfetto_trace_profiling_zero", | 
 |         ":protos_perfetto_trace_ps_zero", | 
 |         ":protos_perfetto_trace_sys_stats_zero", | 
 |         ":protos_perfetto_trace_system_info_zero", | 
 |         ":protos_perfetto_trace_track_event_zero", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/perfetto:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_trace_perfetto_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_perfetto_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/perfetto:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_trace_perfetto_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/trace/perfetto/perfetto_metatrace.proto", | 
 |         "protos/perfetto/trace/perfetto/tracing_service_event.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/perfetto:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_trace_perfetto_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_perfetto_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/power:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_trace_power_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_power_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/power:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_trace_power_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/trace/power/android_energy_estimation_breakdown.proto", | 
 |         "protos/perfetto/trace/power/battery_counters.proto", | 
 |         "protos/perfetto/trace/power/power_rails.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 |     deps = [ | 
 |         ":protos_perfetto_common_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/power:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_trace_power_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_zero", | 
 |         ":protos_perfetto_trace_power_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace_processor:metrics_impl_zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_trace_processor_metrics_impl_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/trace_processor/metrics_impl.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace_processor:metrics_impl_zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_trace_processor_metrics_impl_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_processor_metrics_impl_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace_processor:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_trace_processor_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/trace_processor/trace_processor.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 |     deps = [ | 
 |         ":protos_perfetto_common_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace_processor:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_trace_processor_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_zero", | 
 |         ":protos_perfetto_trace_processor_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/profiling:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_trace_profiling_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_profiling_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/profiling:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_trace_profiling_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/trace/profiling/deobfuscation.proto", | 
 |         "protos/perfetto/trace/profiling/heap_graph.proto", | 
 |         "protos/perfetto/trace/profiling/profile_common.proto", | 
 |         "protos/perfetto/trace/profiling/profile_packet.proto", | 
 |         "protos/perfetto/trace/profiling/smaps.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 |     deps = [ | 
 |         ":protos_perfetto_common_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/profiling:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_trace_profiling_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_zero", | 
 |         ":protos_perfetto_trace_profiling_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/ps:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_trace_ps_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_ps_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/ps:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_trace_ps_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/trace/ps/process_stats.proto", | 
 |         "protos/perfetto/trace/ps/process_tree.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/ps:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_trace_ps_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_ps_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/sys_stats:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_trace_sys_stats_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_sys_stats_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/sys_stats:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_trace_sys_stats_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/trace/sys_stats/sys_stats.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 |     deps = [ | 
 |         ":protos_perfetto_common_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/sys_stats:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_trace_sys_stats_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_common_zero", | 
 |         ":protos_perfetto_trace_sys_stats_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/system_info:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_trace_system_info_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_system_info_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/system_info:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_trace_system_info_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/trace/system_info/cpu_info.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/system_info:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_trace_system_info_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_system_info_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/track_event:cpp | 
 | perfetto_cc_protocpp_library( | 
 |     name = "protos_perfetto_trace_track_event_cpp", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_track_event_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/track_event:lite | 
 | perfetto_cc_proto_library( | 
 |     name = "protos_perfetto_trace_track_event_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_track_event_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/track_event:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_trace_track_event_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/trace/track_event/chrome_application_state_info.proto", | 
 |         "protos/perfetto/trace/track_event/chrome_compositor_scheduler_state.proto", | 
 |         "protos/perfetto/trace/track_event/chrome_content_settings_event_info.proto", | 
 |         "protos/perfetto/trace/track_event/chrome_frame_reporter.proto", | 
 |         "protos/perfetto/trace/track_event/chrome_histogram_sample.proto", | 
 |         "protos/perfetto/trace/track_event/chrome_keyed_service.proto", | 
 |         "protos/perfetto/trace/track_event/chrome_latency_info.proto", | 
 |         "protos/perfetto/trace/track_event/chrome_legacy_ipc.proto", | 
 |         "protos/perfetto/trace/track_event/chrome_message_pump.proto", | 
 |         "protos/perfetto/trace/track_event/chrome_mojo_event_info.proto", | 
 |         "protos/perfetto/trace/track_event/chrome_process_descriptor.proto", | 
 |         "protos/perfetto/trace/track_event/chrome_renderer_scheduler_state.proto", | 
 |         "protos/perfetto/trace/track_event/chrome_thread_descriptor.proto", | 
 |         "protos/perfetto/trace/track_event/chrome_user_event.proto", | 
 |         "protos/perfetto/trace/track_event/chrome_window_handle_event_info.proto", | 
 |         "protos/perfetto/trace/track_event/counter_descriptor.proto", | 
 |         "protos/perfetto/trace/track_event/debug_annotation.proto", | 
 |         "protos/perfetto/trace/track_event/log_message.proto", | 
 |         "protos/perfetto/trace/track_event/process_descriptor.proto", | 
 |         "protos/perfetto/trace/track_event/source_location.proto", | 
 |         "protos/perfetto/trace/track_event/task_execution.proto", | 
 |         "protos/perfetto/trace/track_event/thread_descriptor.proto", | 
 |         "protos/perfetto/trace/track_event/track_descriptor.proto", | 
 |         "protos/perfetto/trace/track_event/track_event.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/track_event:track_event_descriptor | 
 | perfetto_proto_descriptor( | 
 |     name = "protos_perfetto_trace_track_event_track_event_descriptor", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_track_event_track_event_protos", | 
 |     ], | 
 |     outs = [ | 
 |         "protos_perfetto_trace_track_event_track_event_descriptor.bin", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/track_event:track_event_descriptor | 
 | perfetto_proto_library( | 
 |     name = "protos_perfetto_trace_track_event_track_event_protos", | 
 |     srcs = [ | 
 |         "protos/perfetto/trace/track_event/track_event.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_track_event_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/perfetto/trace/track_event:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_perfetto_trace_track_event_zero", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_track_event_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/third_party/chromium:chrome_track_event_descriptor | 
 | perfetto_proto_descriptor( | 
 |     name = "protos_third_party_chromium_chrome_track_event_descriptor", | 
 |     deps = [ | 
 |         ":protos_third_party_chromium_chrome_track_event_protos", | 
 |     ], | 
 |     outs = [ | 
 |         "protos_third_party_chromium_chrome_track_event_descriptor.bin", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/third_party/chromium:chrome_track_event_descriptor | 
 | perfetto_proto_library( | 
 |     name = "protos_third_party_chromium_chrome_track_event_protos", | 
 |     srcs = [ | 
 |         "protos/third_party/chromium/chrome_track_event.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_track_event_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/third_party/pprof:zero | 
 | perfetto_proto_library( | 
 |     name = "protos_third_party_pprof_protos", | 
 |     srcs = [ | 
 |         "protos/third_party/pprof/profile.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //protos/third_party/pprof:zero | 
 | perfetto_cc_protozero_library( | 
 |     name = "protos_third_party_pprof_zero", | 
 |     deps = [ | 
 |         ":protos_third_party_pprof_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/perfetto_cmd:protos | 
 | perfetto_cc_protocpp_library( | 
 |     name = "src_perfetto_cmd_protos", | 
 |     deps = [ | 
 |         ":src_perfetto_cmd_protos_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/perfetto_cmd:protos | 
 | perfetto_proto_library( | 
 |     name = "src_perfetto_cmd_protos_protos", | 
 |     srcs = [ | 
 |         "src/perfetto_cmd/perfetto_cmd_state.proto", | 
 |     ], | 
 |     visibility = [ | 
 |         PERFETTO_CONFIG.proto_library_visibility, | 
 |     ], | 
 | ) | 
 |  | 
 | # ############################################################################## | 
 | # Public targets | 
 | # ############################################################################## | 
 |  | 
 | # GN target: //:libperfetto_client_experimental | 
 | perfetto_cc_library( | 
 |     name = "libperfetto_client_experimental", | 
 |     srcs = [ | 
 |         ":src_android_stats_android_stats", | 
 |         ":src_android_stats_perfetto_atoms", | 
 |         ":src_protozero_filtering_bytecode_common", | 
 |         ":src_protozero_filtering_bytecode_parser", | 
 |         ":src_protozero_filtering_message_filter", | 
 |         ":src_tracing_client_api_without_backends", | 
 |         ":src_tracing_common", | 
 |         ":src_tracing_core_core", | 
 |         ":src_tracing_core_service", | 
 |         ":src_tracing_in_process_backend", | 
 |         ":src_tracing_ipc_common", | 
 |         ":src_tracing_ipc_consumer_consumer", | 
 |         ":src_tracing_ipc_producer_producer", | 
 |         ":src_tracing_ipc_service_service", | 
 |         ":src_tracing_platform_impl", | 
 |         ":src_tracing_system_backend", | 
 |     ], | 
 |     hdrs = [ | 
 |         ":include_perfetto_base_base", | 
 |         ":include_perfetto_ext_base_base", | 
 |         ":include_perfetto_ext_ipc_ipc", | 
 |         ":include_perfetto_ext_tracing_core_core", | 
 |         ":include_perfetto_ext_tracing_ipc_ipc", | 
 |         ":include_perfetto_protozero_protozero", | 
 |         ":include_perfetto_tracing_core_core", | 
 |         ":include_perfetto_tracing_core_forward_decls", | 
 |         ":include_perfetto_tracing_tracing", | 
 |         "include/perfetto/tracing.h", | 
 |     ], | 
 |     visibility = [ | 
 |         "//visibility:public", | 
 |     ], | 
 |     deps = [ | 
 |         ":perfetto_ipc", | 
 |         ":protos_perfetto_common_cpp", | 
 |         ":protos_perfetto_common_zero", | 
 |         ":protos_perfetto_config_android_cpp", | 
 |         ":protos_perfetto_config_android_zero", | 
 |         ":protos_perfetto_config_cpp", | 
 |         ":protos_perfetto_config_ftrace_cpp", | 
 |         ":protos_perfetto_config_ftrace_zero", | 
 |         ":protos_perfetto_config_gpu_cpp", | 
 |         ":protos_perfetto_config_gpu_zero", | 
 |         ":protos_perfetto_config_inode_file_cpp", | 
 |         ":protos_perfetto_config_inode_file_zero", | 
 |         ":protos_perfetto_config_interceptors_cpp", | 
 |         ":protos_perfetto_config_interceptors_zero", | 
 |         ":protos_perfetto_config_power_cpp", | 
 |         ":protos_perfetto_config_power_zero", | 
 |         ":protos_perfetto_config_process_stats_cpp", | 
 |         ":protos_perfetto_config_process_stats_zero", | 
 |         ":protos_perfetto_config_profiling_cpp", | 
 |         ":protos_perfetto_config_profiling_zero", | 
 |         ":protos_perfetto_config_sys_stats_cpp", | 
 |         ":protos_perfetto_config_sys_stats_zero", | 
 |         ":protos_perfetto_config_track_event_cpp", | 
 |         ":protos_perfetto_config_track_event_zero", | 
 |         ":protos_perfetto_config_zero", | 
 |         ":protos_perfetto_ipc_cpp", | 
 |         ":protos_perfetto_ipc_ipc", | 
 |         ":protos_perfetto_trace_android_zero", | 
 |         ":protos_perfetto_trace_chrome_zero", | 
 |         ":protos_perfetto_trace_filesystem_zero", | 
 |         ":protos_perfetto_trace_ftrace_zero", | 
 |         ":protos_perfetto_trace_gpu_zero", | 
 |         ":protos_perfetto_trace_interned_data_zero", | 
 |         ":protos_perfetto_trace_minimal_zero", | 
 |         ":protos_perfetto_trace_non_minimal_zero", | 
 |         ":protos_perfetto_trace_perfetto_zero", | 
 |         ":protos_perfetto_trace_power_zero", | 
 |         ":protos_perfetto_trace_profiling_zero", | 
 |         ":protos_perfetto_trace_ps_zero", | 
 |         ":protos_perfetto_trace_sys_stats_zero", | 
 |         ":protos_perfetto_trace_system_info_zero", | 
 |         ":protos_perfetto_trace_track_event_cpp", | 
 |         ":protos_perfetto_trace_track_event_zero", | 
 |         ":protozero", | 
 |         ":src_base_base", | 
 |     ], | 
 |     linkstatic = True, | 
 | ) | 
 |  | 
 | # GN target: //src/perfetto_cmd:perfetto | 
 | perfetto_cc_binary( | 
 |     name = "perfetto", | 
 |     srcs = [ | 
 |         ":include_perfetto_base_base", | 
 |         ":include_perfetto_ext_base_base", | 
 |         ":include_perfetto_ext_ipc_ipc", | 
 |         ":include_perfetto_ext_traced_traced", | 
 |         ":include_perfetto_ext_tracing_core_core", | 
 |         ":include_perfetto_ext_tracing_ipc_ipc", | 
 |         ":include_perfetto_protozero_protozero", | 
 |         ":include_perfetto_tracing_core_core", | 
 |         ":include_perfetto_tracing_core_forward_decls", | 
 |         ":include_perfetto_tracing_tracing", | 
 |         ":src_android_stats_android_stats", | 
 |         ":src_android_stats_perfetto_atoms", | 
 |         ":src_perfetto_cmd_perfetto_cmd", | 
 |         ":src_perfetto_cmd_trigger_producer", | 
 |         ":src_tracing_common", | 
 |         ":src_tracing_core_core", | 
 |         ":src_tracing_ipc_common", | 
 |         ":src_tracing_ipc_consumer_consumer", | 
 |         ":src_tracing_ipc_producer_producer", | 
 |         "src/perfetto_cmd/main.cc", | 
 |     ], | 
 |     visibility = [ | 
 |         "//visibility:public", | 
 |     ], | 
 |     deps = [ | 
 |         ":perfetto_ipc", | 
 |         ":protos_perfetto_common_cpp", | 
 |         ":protos_perfetto_common_zero", | 
 |         ":protos_perfetto_config_android_cpp", | 
 |         ":protos_perfetto_config_android_zero", | 
 |         ":protos_perfetto_config_cpp", | 
 |         ":protos_perfetto_config_ftrace_cpp", | 
 |         ":protos_perfetto_config_ftrace_zero", | 
 |         ":protos_perfetto_config_gpu_cpp", | 
 |         ":protos_perfetto_config_gpu_zero", | 
 |         ":protos_perfetto_config_inode_file_cpp", | 
 |         ":protos_perfetto_config_inode_file_zero", | 
 |         ":protos_perfetto_config_interceptors_cpp", | 
 |         ":protos_perfetto_config_interceptors_zero", | 
 |         ":protos_perfetto_config_power_cpp", | 
 |         ":protos_perfetto_config_power_zero", | 
 |         ":protos_perfetto_config_process_stats_cpp", | 
 |         ":protos_perfetto_config_process_stats_zero", | 
 |         ":protos_perfetto_config_profiling_cpp", | 
 |         ":protos_perfetto_config_profiling_zero", | 
 |         ":protos_perfetto_config_sys_stats_cpp", | 
 |         ":protos_perfetto_config_sys_stats_zero", | 
 |         ":protos_perfetto_config_track_event_cpp", | 
 |         ":protos_perfetto_config_track_event_zero", | 
 |         ":protos_perfetto_config_zero", | 
 |         ":protos_perfetto_ipc_cpp", | 
 |         ":protos_perfetto_ipc_ipc", | 
 |         ":protos_perfetto_trace_android_zero", | 
 |         ":protos_perfetto_trace_chrome_zero", | 
 |         ":protos_perfetto_trace_filesystem_zero", | 
 |         ":protos_perfetto_trace_ftrace_zero", | 
 |         ":protos_perfetto_trace_gpu_zero", | 
 |         ":protos_perfetto_trace_interned_data_zero", | 
 |         ":protos_perfetto_trace_minimal_zero", | 
 |         ":protos_perfetto_trace_non_minimal_zero", | 
 |         ":protos_perfetto_trace_perfetto_zero", | 
 |         ":protos_perfetto_trace_power_zero", | 
 |         ":protos_perfetto_trace_profiling_zero", | 
 |         ":protos_perfetto_trace_ps_zero", | 
 |         ":protos_perfetto_trace_sys_stats_zero", | 
 |         ":protos_perfetto_trace_system_info_zero", | 
 |         ":protos_perfetto_trace_track_event_cpp", | 
 |         ":protos_perfetto_trace_track_event_zero", | 
 |         ":protozero", | 
 |         ":src_base_base", | 
 |         ":src_perfetto_cmd_gen_cc_config_descriptor", | 
 |         ":src_perfetto_cmd_protos", | 
 |     ] + PERFETTO_CONFIG.deps.zlib, | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor:trace_processor | 
 | perfetto_cc_library( | 
 |     name = "trace_processor", | 
 |     srcs = [ | 
 |         ":src_trace_processor_analysis_analysis", | 
 |         ":src_trace_processor_db_db", | 
 |         ":src_trace_processor_export_json", | 
 |         ":src_trace_processor_ftrace_descriptors", | 
 |         ":src_trace_processor_importers_common_common", | 
 |         ":src_trace_processor_importers_memory_tracker_graph_processor", | 
 |         ":src_trace_processor_lib", | 
 |         ":src_trace_processor_metatrace", | 
 |         ":src_trace_processor_metrics_lib", | 
 |         ":src_trace_processor_sqlite_sqlite", | 
 |         ":src_trace_processor_storage_full", | 
 |         ":src_trace_processor_storage_minimal", | 
 |         ":src_trace_processor_storage_storage", | 
 |         ":src_trace_processor_tables_tables", | 
 |         ":src_trace_processor_types_types", | 
 |         ":src_trace_processor_util_descriptors", | 
 |         ":src_trace_processor_util_proto_to_args_parser", | 
 |         ":src_trace_processor_util_protozero_to_text", | 
 |         ":src_trace_processor_util_util", | 
 |     ], | 
 |     hdrs = [ | 
 |         ":include_perfetto_base_base", | 
 |         ":include_perfetto_ext_base_base", | 
 |         ":include_perfetto_ext_trace_processor_export_json", | 
 |         ":include_perfetto_ext_trace_processor_importers_memory_tracker_memory_tracker", | 
 |         ":include_perfetto_ext_traced_sys_stats_counters", | 
 |         ":include_perfetto_trace_processor_basic_types", | 
 |         ":include_perfetto_trace_processor_storage", | 
 |         ":include_perfetto_trace_processor_trace_processor", | 
 |     ], | 
 |     visibility = [ | 
 |         "//visibility:public", | 
 |     ], | 
 |     deps = [ | 
 |                ":protos_perfetto_common_zero", | 
 |                ":protos_perfetto_config_android_zero", | 
 |                ":protos_perfetto_config_ftrace_zero", | 
 |                ":protos_perfetto_config_gpu_zero", | 
 |                ":protos_perfetto_config_inode_file_zero", | 
 |                ":protos_perfetto_config_interceptors_zero", | 
 |                ":protos_perfetto_config_power_zero", | 
 |                ":protos_perfetto_config_process_stats_zero", | 
 |                ":protos_perfetto_config_profiling_zero", | 
 |                ":protos_perfetto_config_sys_stats_zero", | 
 |                ":protos_perfetto_config_track_event_zero", | 
 |                ":protos_perfetto_config_zero", | 
 |                ":protos_perfetto_trace_android_zero", | 
 |                ":protos_perfetto_trace_chrome_zero", | 
 |                ":protos_perfetto_trace_filesystem_zero", | 
 |                ":protos_perfetto_trace_ftrace_zero", | 
 |                ":protos_perfetto_trace_gpu_zero", | 
 |                ":protos_perfetto_trace_interned_data_zero", | 
 |                ":protos_perfetto_trace_minimal_zero", | 
 |                ":protos_perfetto_trace_non_minimal_zero", | 
 |                ":protos_perfetto_trace_perfetto_zero", | 
 |                ":protos_perfetto_trace_power_zero", | 
 |                ":protos_perfetto_trace_processor_metrics_impl_zero", | 
 |                ":protos_perfetto_trace_processor_zero", | 
 |                ":protos_perfetto_trace_profiling_zero", | 
 |                ":protos_perfetto_trace_ps_zero", | 
 |                ":protos_perfetto_trace_sys_stats_zero", | 
 |                ":protos_perfetto_trace_system_info_zero", | 
 |                ":protos_perfetto_trace_track_event_zero", | 
 |                ":protozero", | 
 |                ":src_base_base", | 
 |                ":src_trace_processor_containers_containers", | 
 |                ":src_trace_processor_importers_gen_cc_chrome_track_event_descriptor", | 
 |                ":src_trace_processor_importers_gen_cc_config_descriptor", | 
 |                ":src_trace_processor_importers_gen_cc_track_event_descriptor", | 
 |                ":src_trace_processor_metrics_gen_cc_all_chrome_metrics_descriptor", | 
 |                ":src_trace_processor_metrics_gen_cc_metrics_descriptor", | 
 |            ] + PERFETTO_CONFIG.deps.jsoncpp + | 
 |            PERFETTO_CONFIG.deps.sqlite + | 
 |            PERFETTO_CONFIG.deps.sqlite_ext_percentile + | 
 |            PERFETTO_CONFIG.deps.zlib + [ | 
 |         ":cc_merged_sql_metrics", | 
 |     ], | 
 |     linkstatic = True, | 
 | ) | 
 |  | 
 | # GN target: //src/trace_processor:trace_processor_shell | 
 | perfetto_cc_binary( | 
 |     name = "trace_processor_shell", | 
 |     srcs = [ | 
 |         ":include_perfetto_base_base", | 
 |         ":include_perfetto_ext_base_base", | 
 |         ":include_perfetto_ext_trace_processor_export_json", | 
 |         ":include_perfetto_ext_trace_processor_importers_memory_tracker_memory_tracker", | 
 |         ":include_perfetto_ext_traced_sys_stats_counters", | 
 |         ":include_perfetto_protozero_protozero", | 
 |         ":include_perfetto_trace_processor_basic_types", | 
 |         ":include_perfetto_trace_processor_storage", | 
 |         ":include_perfetto_trace_processor_trace_processor", | 
 |         ":src_profiling_deobfuscator", | 
 |         ":src_profiling_symbolizer_symbolize_database", | 
 |         ":src_profiling_symbolizer_symbolizer", | 
 |         ":src_trace_processor_analysis_analysis", | 
 |         ":src_trace_processor_db_db", | 
 |         ":src_trace_processor_export_json", | 
 |         ":src_trace_processor_ftrace_descriptors", | 
 |         ":src_trace_processor_importers_common_common", | 
 |         ":src_trace_processor_importers_memory_tracker_graph_processor", | 
 |         ":src_trace_processor_lib", | 
 |         ":src_trace_processor_metatrace", | 
 |         ":src_trace_processor_metrics_lib", | 
 |         ":src_trace_processor_rpc_httpd", | 
 |         ":src_trace_processor_rpc_rpc", | 
 |         ":src_trace_processor_sqlite_sqlite", | 
 |         ":src_trace_processor_storage_full", | 
 |         ":src_trace_processor_storage_minimal", | 
 |         ":src_trace_processor_storage_storage", | 
 |         ":src_trace_processor_tables_tables", | 
 |         ":src_trace_processor_types_types", | 
 |         ":src_trace_processor_util_descriptors", | 
 |         ":src_trace_processor_util_proto_to_args_parser", | 
 |         ":src_trace_processor_util_protozero_to_text", | 
 |         ":src_trace_processor_util_util", | 
 |         "src/trace_processor/trace_processor_shell.cc", | 
 |         "src/trace_processor/util/proto_to_json.cc", | 
 |         "src/trace_processor/util/proto_to_json.h", | 
 |     ], | 
 |     visibility = [ | 
 |         "//visibility:public", | 
 |     ], | 
 |     deps = [ | 
 |                ":protos_perfetto_common_zero", | 
 |                ":protos_perfetto_config_android_zero", | 
 |                ":protos_perfetto_config_ftrace_zero", | 
 |                ":protos_perfetto_config_gpu_zero", | 
 |                ":protos_perfetto_config_inode_file_zero", | 
 |                ":protos_perfetto_config_interceptors_zero", | 
 |                ":protos_perfetto_config_power_zero", | 
 |                ":protos_perfetto_config_process_stats_zero", | 
 |                ":protos_perfetto_config_profiling_zero", | 
 |                ":protos_perfetto_config_sys_stats_zero", | 
 |                ":protos_perfetto_config_track_event_zero", | 
 |                ":protos_perfetto_config_zero", | 
 |                ":protos_perfetto_trace_android_zero", | 
 |                ":protos_perfetto_trace_chrome_zero", | 
 |                ":protos_perfetto_trace_filesystem_zero", | 
 |                ":protos_perfetto_trace_ftrace_zero", | 
 |                ":protos_perfetto_trace_gpu_zero", | 
 |                ":protos_perfetto_trace_interned_data_zero", | 
 |                ":protos_perfetto_trace_minimal_zero", | 
 |                ":protos_perfetto_trace_non_minimal_zero", | 
 |                ":protos_perfetto_trace_perfetto_zero", | 
 |                ":protos_perfetto_trace_power_zero", | 
 |                ":protos_perfetto_trace_processor_metrics_impl_zero", | 
 |                ":protos_perfetto_trace_processor_zero", | 
 |                ":protos_perfetto_trace_profiling_zero", | 
 |                ":protos_perfetto_trace_ps_zero", | 
 |                ":protos_perfetto_trace_sys_stats_zero", | 
 |                ":protos_perfetto_trace_system_info_zero", | 
 |                ":protos_perfetto_trace_track_event_zero", | 
 |                ":protozero", | 
 |                ":src_base_base", | 
 |                ":src_base_unix_socket", | 
 |                ":src_trace_processor_containers_containers", | 
 |                ":src_trace_processor_importers_gen_cc_chrome_track_event_descriptor", | 
 |                ":src_trace_processor_importers_gen_cc_config_descriptor", | 
 |                ":src_trace_processor_importers_gen_cc_track_event_descriptor", | 
 |                ":src_trace_processor_metrics_gen_cc_all_chrome_metrics_descriptor", | 
 |                ":src_trace_processor_metrics_gen_cc_metrics_descriptor", | 
 |            ] + PERFETTO_CONFIG.deps.jsoncpp + | 
 |            PERFETTO_CONFIG.deps.linenoise + | 
 |            PERFETTO_CONFIG.deps.protobuf_full + | 
 |            PERFETTO_CONFIG.deps.sqlite + | 
 |            PERFETTO_CONFIG.deps.sqlite_ext_percentile + | 
 |            PERFETTO_CONFIG.deps.zlib + [ | 
 |         ":cc_merged_sql_metrics", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/traced/probes:traced_probes | 
 | perfetto_cc_binary( | 
 |     name = "traced_probes", | 
 |     srcs = [ | 
 |         ":include_perfetto_ext_traced_traced", | 
 |         "src/traced/probes/main.cc", | 
 |     ], | 
 |     visibility = [ | 
 |         "//visibility:public", | 
 |     ], | 
 |     deps = [ | 
 |         ":libperfetto", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //src/traced/service:traced | 
 | perfetto_cc_binary( | 
 |     name = "traced", | 
 |     srcs = [ | 
 |         ":include_perfetto_ext_traced_traced", | 
 |         "src/traced/service/main.cc", | 
 |     ], | 
 |     visibility = [ | 
 |         "//visibility:public", | 
 |     ], | 
 |     deps = [ | 
 |         ":libperfetto", | 
 |     ], | 
 | ) | 
 |  | 
 | # GN target: //tools/trace_to_text:libpprofbuilder | 
 | perfetto_cc_library( | 
 |     name = "libpprofbuilder", | 
 |     srcs = [ | 
 |         ":src_profiling_deobfuscator", | 
 |         ":src_profiling_symbolizer_symbolize_database", | 
 |         ":src_profiling_symbolizer_symbolizer", | 
 |         ":tools_trace_to_text_pprofbuilder", | 
 |         ":tools_trace_to_text_utils", | 
 |     ], | 
 |     hdrs = [ | 
 |         ":include_perfetto_base_base", | 
 |         ":include_perfetto_ext_base_base", | 
 |         ":include_perfetto_profiling_pprof_builder", | 
 |         ":include_perfetto_protozero_protozero", | 
 |         ":include_perfetto_trace_processor_basic_types", | 
 |         ":include_perfetto_trace_processor_storage", | 
 |         ":include_perfetto_trace_processor_trace_processor", | 
 |     ], | 
 |     visibility = [ | 
 |         "//visibility:public", | 
 |     ], | 
 |     deps = [ | 
 |         ":protos_perfetto_common_zero", | 
 |         ":protos_perfetto_config_android_zero", | 
 |         ":protos_perfetto_config_ftrace_zero", | 
 |         ":protos_perfetto_config_gpu_zero", | 
 |         ":protos_perfetto_config_inode_file_zero", | 
 |         ":protos_perfetto_config_interceptors_zero", | 
 |         ":protos_perfetto_config_power_zero", | 
 |         ":protos_perfetto_config_process_stats_zero", | 
 |         ":protos_perfetto_config_profiling_zero", | 
 |         ":protos_perfetto_config_sys_stats_zero", | 
 |         ":protos_perfetto_config_track_event_zero", | 
 |         ":protos_perfetto_config_zero", | 
 |         ":protos_perfetto_trace_android_zero", | 
 |         ":protos_perfetto_trace_chrome_zero", | 
 |         ":protos_perfetto_trace_filesystem_zero", | 
 |         ":protos_perfetto_trace_ftrace_zero", | 
 |         ":protos_perfetto_trace_gpu_zero", | 
 |         ":protos_perfetto_trace_interned_data_zero", | 
 |         ":protos_perfetto_trace_minimal_zero", | 
 |         ":protos_perfetto_trace_non_minimal_zero", | 
 |         ":protos_perfetto_trace_perfetto_zero", | 
 |         ":protos_perfetto_trace_power_zero", | 
 |         ":protos_perfetto_trace_profiling_zero", | 
 |         ":protos_perfetto_trace_ps_zero", | 
 |         ":protos_perfetto_trace_sys_stats_zero", | 
 |         ":protos_perfetto_trace_system_info_zero", | 
 |         ":protos_perfetto_trace_track_event_zero", | 
 |         ":protos_third_party_pprof_zero", | 
 |         ":protozero", | 
 |         ":src_trace_processor_containers_containers", | 
 |     ] + PERFETTO_CONFIG.deps.zlib, | 
 |     linkstatic = True, | 
 | ) | 
 |  | 
 | # GN target: //tools/trace_to_text:trace_to_text | 
 | perfetto_cc_binary( | 
 |     name = "trace_to_text", | 
 |     srcs = [ | 
 |         ":include_perfetto_base_base", | 
 |         ":include_perfetto_ext_base_base", | 
 |         ":include_perfetto_ext_trace_processor_export_json", | 
 |         ":include_perfetto_ext_trace_processor_importers_memory_tracker_memory_tracker", | 
 |         ":include_perfetto_ext_traced_sys_stats_counters", | 
 |         ":include_perfetto_profiling_pprof_builder", | 
 |         ":include_perfetto_protozero_protozero", | 
 |         ":include_perfetto_trace_processor_basic_types", | 
 |         ":include_perfetto_trace_processor_storage", | 
 |         ":include_perfetto_trace_processor_trace_processor", | 
 |         ":src_profiling_deobfuscator", | 
 |         ":src_profiling_symbolizer_symbolize_database", | 
 |         ":src_profiling_symbolizer_symbolizer", | 
 |         ":src_trace_processor_analysis_analysis", | 
 |         ":src_trace_processor_db_db", | 
 |         ":src_trace_processor_export_json", | 
 |         ":src_trace_processor_ftrace_descriptors", | 
 |         ":src_trace_processor_importers_common_common", | 
 |         ":src_trace_processor_importers_memory_tracker_graph_processor", | 
 |         ":src_trace_processor_lib", | 
 |         ":src_trace_processor_metatrace", | 
 |         ":src_trace_processor_metrics_lib", | 
 |         ":src_trace_processor_sqlite_sqlite", | 
 |         ":src_trace_processor_storage_full", | 
 |         ":src_trace_processor_storage_minimal", | 
 |         ":src_trace_processor_storage_storage", | 
 |         ":src_trace_processor_tables_tables", | 
 |         ":src_trace_processor_types_types", | 
 |         ":src_trace_processor_util_descriptors", | 
 |         ":src_trace_processor_util_proto_to_args_parser", | 
 |         ":src_trace_processor_util_protozero_to_text", | 
 |         ":src_trace_processor_util_util", | 
 |         ":tools_trace_to_text_common", | 
 |         ":tools_trace_to_text_full", | 
 |         ":tools_trace_to_text_pprofbuilder", | 
 |         ":tools_trace_to_text_utils", | 
 |     ], | 
 |     visibility = [ | 
 |         "//visibility:public", | 
 |     ], | 
 |     deps = [ | 
 |                ":protos_perfetto_common_zero", | 
 |                ":protos_perfetto_config_android_zero", | 
 |                ":protos_perfetto_config_ftrace_zero", | 
 |                ":protos_perfetto_config_gpu_zero", | 
 |                ":protos_perfetto_config_inode_file_zero", | 
 |                ":protos_perfetto_config_interceptors_zero", | 
 |                ":protos_perfetto_config_power_zero", | 
 |                ":protos_perfetto_config_process_stats_zero", | 
 |                ":protos_perfetto_config_profiling_zero", | 
 |                ":protos_perfetto_config_sys_stats_zero", | 
 |                ":protos_perfetto_config_track_event_zero", | 
 |                ":protos_perfetto_config_zero", | 
 |                ":protos_perfetto_trace_android_zero", | 
 |                ":protos_perfetto_trace_chrome_zero", | 
 |                ":protos_perfetto_trace_filesystem_zero", | 
 |                ":protos_perfetto_trace_ftrace_zero", | 
 |                ":protos_perfetto_trace_gpu_zero", | 
 |                ":protos_perfetto_trace_interned_data_zero", | 
 |                ":protos_perfetto_trace_minimal_zero", | 
 |                ":protos_perfetto_trace_non_minimal_zero", | 
 |                ":protos_perfetto_trace_perfetto_zero", | 
 |                ":protos_perfetto_trace_power_zero", | 
 |                ":protos_perfetto_trace_processor_metrics_impl_zero", | 
 |                ":protos_perfetto_trace_processor_zero", | 
 |                ":protos_perfetto_trace_profiling_zero", | 
 |                ":protos_perfetto_trace_ps_zero", | 
 |                ":protos_perfetto_trace_sys_stats_zero", | 
 |                ":protos_perfetto_trace_system_info_zero", | 
 |                ":protos_perfetto_trace_track_event_zero", | 
 |                ":protos_third_party_pprof_zero", | 
 |                ":protozero", | 
 |                ":src_base_base", | 
 |                ":src_trace_processor_containers_containers", | 
 |                ":src_trace_processor_importers_gen_cc_chrome_track_event_descriptor", | 
 |                ":src_trace_processor_importers_gen_cc_config_descriptor", | 
 |                ":src_trace_processor_importers_gen_cc_track_event_descriptor", | 
 |                ":src_trace_processor_metrics_gen_cc_all_chrome_metrics_descriptor", | 
 |                ":src_trace_processor_metrics_gen_cc_metrics_descriptor", | 
 |            ] + PERFETTO_CONFIG.deps.jsoncpp + | 
 |            PERFETTO_CONFIG.deps.protobuf_full + | 
 |            PERFETTO_CONFIG.deps.sqlite + | 
 |            PERFETTO_CONFIG.deps.sqlite_ext_percentile + | 
 |            PERFETTO_CONFIG.deps.zlib + [ | 
 |         ":cc_merged_sql_metrics", | 
 |     ], | 
 | ) | 
 |  | 
 | # Content from BUILD.extras | 
 |  | 
 | build_config_dir_ = "include/perfetto/base/build_configs/bazel" | 
 |  | 
 | # Deliberately NOT a perfetto_cc_library, to avoid cyclic deps. | 
 | # This is pulled as a default dep by all targets. | 
 | cc_library( | 
 |     name = "build_config_hdr", | 
 |     hdrs = [build_config_dir_ + "/perfetto_build_flags.h"], | 
 |     includes = [build_config_dir_], | 
 | ) | 
 |  | 
 | perfetto_cc_library( | 
 |     name = "cc_merged_sql_metrics", | 
 |     hdrs = ["src/trace_processor/metrics/sql_metrics.h"], | 
 | ) | 
 |  | 
 | perfetto_py_binary( | 
 |     name = "gen_merged_sql_metrics_py", | 
 |     srcs = [ | 
 |         "tools/gen_merged_sql_metrics.py", | 
 |     ], | 
 |     main = "tools/gen_merged_sql_metrics.py", | 
 |     python_version = "PY3", | 
 | ) | 
 |  | 
 | perfetto_py_binary( | 
 |     name = "gen_cc_proto_descriptor_py", | 
 |     srcs = [ | 
 |         "tools/gen_cc_proto_descriptor.py", | 
 |     ], | 
 |     main = "tools/gen_cc_proto_descriptor.py", | 
 |     python_version = "PY3", | 
 | ) | 
 |  | 
 | perfetto_java_proto_library( | 
 |     name = "protos_perfetto_metrics_java", | 
 |     deps = [ | 
 |         ":protos_perfetto_metrics_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | perfetto_java_proto_library( | 
 |     name = "protos_perfetto_metrics_android_java", | 
 |     deps = [ | 
 |         ":protos_perfetto_metrics_android_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | perfetto_java_proto_library( | 
 |     name = "protos_perfetto_trace_merged_trace_java", | 
 |     deps = [ | 
 |         ":protos_perfetto_trace_merged_trace_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | perfetto_java_proto_library( | 
 |     name = "protos_perfetto_config_merged_config_java", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_merged_config_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | perfetto_java_lite_proto_library( | 
 |     name = "protos_perfetto_config_merged_config_java_lite", | 
 |     deps = [ | 
 |         ":protos_perfetto_config_merged_config_protos", | 
 |     ], | 
 | ) | 
 |  | 
 | perfetto_gensignature_internal_only( | 
 |     name = "trace_processor_sig", | 
 |     srcs = [ | 
 |         ":trace_processor_shell", | 
 |         ":trace_to_text", | 
 |     ], | 
 |     tags = [ | 
 |         "__TRACE_PROCESSOR_SIG_TAG1", | 
 |         "__TRACE_PROCESSOR_SIG_TAG2", | 
 |     ], | 
 | ) | 
 |  | 
 | # This is overridden in google internal builds via | 
 | # PERFETTO_CONFIG.deps.version_header (see perfetto_cfg.bzl). | 
 | perfetto_cc_library( | 
 |     name = "cc_perfetto_version_header", | 
 |     hdrs = ["perfetto_version.gen.h"], | 
 | ) | 
 |  | 
 | perfetto_py_binary( | 
 |     name = "gen_version_header_py", | 
 |     srcs = ["tools/write_version_header.py"], | 
 |     data = ["CHANGELOG"], | 
 |     main = "tools/write_version_header.py", | 
 |     python_version = "PY3", | 
 | ) | 
 |  | 
 | # Noop targets used to represent targets of the protobuf library. | 
 | # These will be rewritten in Google3 to be dependencies on the real targets. | 
 |  | 
 | perfetto_py_library( | 
 |     name = "pyglib_noop", | 
 |     srcs = [], | 
 | ) | 
 |  | 
 | perfetto_py_library( | 
 |     name = "protobuf_noop", | 
 |     srcs = [], | 
 | ) | 
 |  | 
 | perfetto_py_library( | 
 |     name = "protobuf_descriptor_pb2_noop", | 
 |     srcs = [], | 
 | ) | 
 |  | 
 | perfetto_py_library( | 
 |     name = "gfile_noop", | 
 |     srcs = [], | 
 | ) | 
 |  | 
 | perfetto_py_library( | 
 |     name = "trace_processor_init_noop", | 
 |     srcs = [], | 
 | ) | 
 |  | 
 | perfetto_py_binary( | 
 |     name = "trace_processor_py_example", | 
 |     srcs = ["src/trace_processor/python/example.py"], | 
 |     deps = [":trace_processor_py"], | 
 |     main = "src/trace_processor/python/example.py", | 
 |     python_version = "PY3", | 
 | ) | 
 |  | 
 | perfetto_py_library( | 
 |     name = "trace_processor_py", | 
 |     srcs = glob(["src/trace_processor/python/perfetto/trace_processor/*.py"]), | 
 |     data = [ | 
 |         ":trace_processor_init_noop", | 
 |         "src/trace_processor/python/perfetto/trace_processor/trace_processor.descriptor", | 
 |         "src/trace_processor/python/perfetto/trace_processor/metrics.descriptor", | 
 |         ":trace_processor_shell", | 
 |     ], | 
 |     deps = [ | 
 |         ":gfile_noop", | 
 |         ":protobuf_noop", | 
 |         ":protobuf_descriptor_pb2_noop", | 
 |         ":pyglib_noop", | 
 |     ], | 
 |     visibility = PERFETTO_CONFIG.public_visibility, | 
 | ) |