# Copyright (C) 2020 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. import("../../../gn/perfetto.gni") import("../../../gn/perfetto_cc_proto_descriptor.gni") # Track event args parsing logic here is tentatitively planned to eventually # move to src/util and will be used to implement writing typed args in console # interceptor. # Do not add new dependencies to trace_processor code outside of this directory. # # TODO(altimin): Move it to src/util and use it in console interceptor. source_set("util") { sources = [ "status_macros.h" ] deps = [ "../../../gn:default_deps", "../../../include/perfetto/trace_processor:basic_types", ] } source_set("stdlib") { sources = [ "sql_modules.h" ] } source_set("bump_allocator") { sources = [ "bump_allocator.cc", "bump_allocator.h", ] deps = [ "../../../gn:default_deps", "../../base", ] } source_set("gzip") { sources = [ "gzip_utils.cc", "gzip_utils.h", ] deps = [ "../../../gn:default_deps", "../../../include/perfetto/base", ] # gzip_utils optionally depends on zlib. if (enable_perfetto_zlib) { deps += [ "../../../gn:zlib" ] } } source_set("build_id") { sources = [ "build_id.cc", "build_id.h", ] deps = [ "../../../gn:default_deps", "../../../include/perfetto/ext/base:base", ] } source_set("profiler_util") { sources = [ "profiler_util.cc", "profiler_util.h", ] deps = [ "../../../gn:default_deps", "../../../include/perfetto/ext/base:base", "../../../protos/perfetto/trace/profiling:zero", "../storage:storage", ] } source_set("protozero_to_text") { sources = [ "protozero_to_text.cc", "protozero_to_text.h", ] deps = [ ":descriptors", "../../../gn:default_deps", "../../../protos/perfetto/common:zero", "../../../protos/perfetto/trace/track_event:zero", "../../base", "../../protozero", "../importers/proto:gen_cc_track_event_descriptor", ] } source_set("protozero_to_json") { sources = [ "protozero_to_json.cc", "protozero_to_json.h", ] deps = [ ":descriptors", "../../../gn:default_deps", "../../../protos/perfetto/common:zero", "../../../protos/perfetto/trace/track_event:zero", "../../base", "../../protozero", "../importers/proto:gen_cc_track_event_descriptor", ] } source_set("interned_message_view") { sources = [ "interned_message_view.h" ] public_deps = [ "../../../include/perfetto/trace_processor" ] deps = [ "../../../gn:default_deps", "../../base", ] } source_set("descriptors") { sources = [ "descriptors.cc", "descriptors.h", ] deps = [ ":util", "../../../gn:default_deps", "../../../protos/perfetto/common:zero", "../../../protos/perfetto/trace_processor:zero", "../../base", "../../protozero", "../importers/proto:gen_cc_track_event_descriptor", ] } source_set("proto_to_args_parser") { sources = [ "debug_annotation_parser.cc", "debug_annotation_parser.h", "proto_to_args_parser.cc", "proto_to_args_parser.h", ] deps = [ "../../../gn:default_deps", "../../../protos/perfetto/common:zero", "../../../protos/perfetto/trace/interned_data:zero", "../../../protos/perfetto/trace/profiling:zero", "../../../protos/perfetto/trace/track_event:zero", "../../../protos/perfetto/trace_processor:zero", "../../protozero", "../importers/proto:gen_cc_track_event_descriptor", ] public_deps = [ ":descriptors", ":interned_message_view", ":util", "../../base", ] } source_set("zip_reader") { sources = [ "streaming_line_reader.cc", "streaming_line_reader.h", "zip_reader.cc", "zip_reader.h", ] deps = [ ":gzip", ":trace_blob_view_reader", ":util", "../../../gn:default_deps", "../../../include/perfetto/trace_processor:storage", "../../base", ] if (enable_perfetto_zlib) { deps += [ "../../../gn:zlib" ] } } source_set("glob") { sources = [ "glob.cc", "glob.h", ] deps = [ "../../../gn:default_deps", "../../base", ] } source_set("regex") { sources = [ "regex.h" ] deps = [ "../../../gn:default_deps", "../../base", ] } source_set("sql_argument") { sources = [ "sql_argument.cc", "sql_argument.h", ] deps = [ "../../../gn:default_deps", "../../../include/perfetto/base", "../../../include/perfetto/ext/base", "../../../include/perfetto/trace_processor", "../containers", ] } source_set("proto_profiler") { sources = [ "proto_profiler.cc", "proto_profiler.h", ] deps = [ ":descriptors", "../../../gn:default_deps", "../../../protos/perfetto/common:zero", "../../../protos/third_party/pprof:zero", "../../base", "../../protozero", ] } source_set("profile_builder") { sources = [ "annotated_callsites.cc", "annotated_callsites.h", "profile_builder.cc", "profile_builder.h", ] deps = [ "../../../gn:default_deps", "../../../include/perfetto/ext/trace_processor:demangle", "../../../include/perfetto/protozero:protozero", "../../../protos/perfetto/trace_processor:zero", "../../../protos/third_party/pprof:zero", "../../base", "../containers", "../storage", "../tables", "../types", ] } source_set("trace_blob_view_reader") { sources = [ "trace_blob_view_reader.cc", "trace_blob_view_reader.h", ] deps = [ "../../../gn:default_deps", "../../../include/perfetto/ext/base", "../../../include/perfetto/trace_processor:storage", ] } source_set("trace_type") { sources = [ "trace_type.cc", "trace_type.h", ] deps = [ "../../../gn:default_deps", "../../../include/perfetto/ext/base", "../../../protos/perfetto/trace:non_minimal_zero", "../../protozero", "../importers/android_bugreport:android_log_event", "../importers/perf_text:perf_text_sample_line_parser", ] } source_set("winscope_proto_mapping") { sources = ["winscope_proto_mapping.h"] deps = [ "../../../gn:default_deps", "../../../include/perfetto/ext/base:base", "../tables", ] } source_set("unittests") { sources = [ "bump_allocator_unittest.cc", "debug_annotation_parser_unittest.cc", "glob_unittest.cc", "proto_profiler_unittest.cc", "proto_to_args_parser_unittest.cc", "protozero_to_json_unittests.cc", "protozero_to_text_unittests.cc", "sql_argument_unittest.cc", "streaming_line_reader_unittest.cc", "trace_blob_view_reader_unittest.cc", "zip_reader_unittest.cc", ] testonly = true deps = [ ":bump_allocator", ":descriptors", ":glob", ":gzip", ":proto_profiler", ":proto_to_args_parser", ":protozero_to_json", ":protozero_to_text", ":sql_argument", ":trace_blob_view_reader", ":zip_reader", "..:gen_cc_test_messages_descriptor", "../../../gn:default_deps", "../../../gn:gtest_and_gmock", "../../../protos/perfetto/common:zero", "../../../protos/perfetto/trace:non_minimal_zero", "../../../protos/perfetto/trace/interned_data:zero", "../../../protos/perfetto/trace/profiling:zero", "../../../protos/perfetto/trace/track_event:zero", "../../base:test_support", "../../protozero", "../../protozero:testing_messages_zero", "../importers/proto:gen_cc_track_event_descriptor", "../importers/proto:minimal", "../importers/proto:packet_sequence_state_generation_hdr", "../storage", "../types", ] if (perfetto_build_standalone) { deps += [ "../../../protos/perfetto/metrics/chrome:lite", "../metrics:gen_cc_all_chrome_metrics_descriptor", ] } if (enable_perfetto_zlib) { sources += [ "gzip_utils_unittest.cc" ] deps += [ "../../../gn:zlib" ] } } if (enable_perfetto_benchmarks) { source_set("benchmarks") { testonly = true deps = [ ":glob", "../../../gn:benchmark", "../../../gn:default_deps", "../../../gn:sqlite", "../../base", ] sources = [ "glob_benchmark.cc" ] } }