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