Primiano Tucci | 3faad74 | 2018-05-16 19:30:48 +0100 | [diff] [blame] | 1 | # Copyright (C) 2018 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 | |
Siddhartha S | 305a501 | 2019-03-29 09:33:00 -0700 | [diff] [blame] | 15 | import("../../gn/fuzzer.gni") |
Primiano Tucci | 3faad74 | 2018-05-16 19:30:48 +0100 | [diff] [blame] | 16 | import("../../gn/perfetto.gni") |
Primiano Tucci | d0001c3 | 2019-09-08 22:45:58 -0700 | [diff] [blame] | 17 | import("../../gn/perfetto_host_executable.gni") |
Primiano Tucci | 02c1176 | 2019-08-30 00:57:59 +0200 | [diff] [blame] | 18 | import("../../gn/test.gni") |
Primiano Tucci | 3faad74 | 2018-05-16 19:30:48 +0100 | [diff] [blame] | 19 | import("../../gn/wasm.gni") |
| 20 | |
Primiano Tucci | 02c1176 | 2019-08-30 00:57:59 +0200 | [diff] [blame] | 21 | # Prevent that this file is accidentally included in embedder builds. |
| 22 | assert(enable_perfetto_trace_processor) |
| 23 | |
Hector Dearman | 2d79566 | 2018-08-29 16:16:55 +0100 | [diff] [blame] | 24 | # The library which eases processing of Perfetto traces by exposing reading |
| 25 | # friendly APIs. |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 26 | if (enable_perfetto_trace_processor_sqlite) { |
| 27 | static_library("trace_processor") { |
| 28 | complete_static_lib = true |
Primiano Tucci | 2925e9d | 2020-01-27 10:15:58 +0000 | [diff] [blame] | 29 | deps = [ ":lib" ] |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 30 | } |
Hector Dearman | 2d79566 | 2018-08-29 16:16:55 +0100 | [diff] [blame] | 31 | } |
| 32 | |
Primiano Tucci | a36cccc | 2019-10-27 13:15:04 +0100 | [diff] [blame] | 33 | if (enable_perfetto_ui) { |
| 34 | wasm_lib("trace_processor_wasm") { |
| 35 | name = "trace_processor" |
| 36 | deps = [ |
| 37 | ":lib", |
| 38 | "../../gn:default_deps", |
| 39 | "../base", |
| 40 | "rpc:wasm_bridge", |
| 41 | ] |
| 42 | } |
| 43 | } |
| 44 | |
Lalit Maganti | 427b833 | 2020-05-27 16:09:45 +0100 | [diff] [blame^] | 45 | source_set("metatrace") { |
| 46 | sources = [ |
| 47 | "tp_metatrace.cc", |
| 48 | "tp_metatrace.h", |
| 49 | ] |
| 50 | deps = [ |
| 51 | "../../gn:default_deps", |
| 52 | "../../include/perfetto/ext/base", |
| 53 | ] |
| 54 | } |
| 55 | |
Andrew Shulaev | b667838 | 2020-02-27 13:59:32 +0000 | [diff] [blame] | 56 | source_set("track_event_descriptor") { |
| 57 | sources = [ "importers/proto/track_event.descriptor.h" ] |
| 58 | } |
| 59 | |
Lalit Maganti | 655adae | 2020-04-14 21:01:25 +0100 | [diff] [blame] | 60 | source_set("ftrace_descriptors") { |
| 61 | sources = [ |
| 62 | "importers/ftrace/ftrace_descriptors.cc", |
| 63 | "importers/ftrace/ftrace_descriptors.h", |
| 64 | ] |
| 65 | deps = [ |
| 66 | "../../gn:default_deps", |
| 67 | "../../include/perfetto/ext/base:base", |
| 68 | "../protozero", |
| 69 | ] |
| 70 | } |
| 71 | |
Mikhail Khokhlov | 692087e | 2019-12-11 10:53:45 +0000 | [diff] [blame] | 72 | source_set("storage_minimal") { |
Lalit Maganti | caed37e | 2018-06-01 03:03:08 +0100 | [diff] [blame] | 73 | sources = [ |
Primiano Tucci | d933d91 | 2018-09-04 09:15:07 +0100 | [diff] [blame] | 74 | "chunked_trace_reader.h", |
Hector Dearman | d8c3d5c | 2019-08-06 13:28:23 +0100 | [diff] [blame] | 75 | "forwarding_trace_parser.cc", |
| 76 | "forwarding_trace_parser.h", |
Lalit Maganti | 60af4ef | 2020-04-15 14:27:09 +0100 | [diff] [blame] | 77 | "importers/default_modules.cc", |
| 78 | "importers/default_modules.h", |
Mikhail Khokhlov | dd1db00 | 2019-12-09 16:34:07 +0000 | [diff] [blame] | 79 | "importers/ftrace/ftrace_module.cc", |
Eric Seckler | acfe35b | 2019-10-18 15:50:17 +0100 | [diff] [blame] | 80 | "importers/ftrace/ftrace_module.h", |
Eric Seckler | 67e15a9 | 2020-01-03 13:20:46 +0000 | [diff] [blame] | 81 | "importers/fuchsia/fuchsia_record.h", |
Lalit Maganti | 6d1f7b5 | 2020-02-27 13:16:44 +0000 | [diff] [blame] | 82 | "importers/fuchsia/fuchsia_trace_utils.h", |
Lalit Maganti | 9d538bd | 2020-03-12 23:48:16 +0000 | [diff] [blame] | 83 | "importers/gzip/gzip_utils.cc", |
| 84 | "importers/gzip/gzip_utils.h", |
Lalit Maganti | 0bfeb97 | 2020-03-14 03:57:30 +0000 | [diff] [blame] | 85 | "importers/json/json_utils.cc", |
| 86 | "importers/json/json_utils.h", |
Primiano Tucci | 50446cb | 2020-02-14 10:40:23 +0000 | [diff] [blame] | 87 | "importers/ninja/ninja_log_parser.cc", |
| 88 | "importers/ninja/ninja_log_parser.h", |
Stephen Nusko | bc76a6c | 2019-12-03 11:55:27 +0000 | [diff] [blame] | 89 | "importers/proto/args_table_utils.cc", |
| 90 | "importers/proto/args_table_utils.h", |
Lalit Maganti | 05819e2 | 2020-04-14 21:01:38 +0100 | [diff] [blame] | 91 | "importers/proto/heap_profile_tracker.cc", |
| 92 | "importers/proto/heap_profile_tracker.h", |
| 93 | "importers/proto/metadata_tracker.cc", |
| 94 | "importers/proto/metadata_tracker.h", |
Eric Seckler | 7e9dc31 | 2020-01-02 15:17:28 +0000 | [diff] [blame] | 95 | "importers/proto/packet_sequence_state.cc", |
Eric Seckler | 771960c | 2019-10-22 15:37:12 +0100 | [diff] [blame] | 96 | "importers/proto/packet_sequence_state.h", |
Lalit Maganti | 05819e2 | 2020-04-14 21:01:38 +0100 | [diff] [blame] | 97 | "importers/proto/perf_sample_tracker.cc", |
| 98 | "importers/proto/perf_sample_tracker.h", |
Eric Seckler | f2de4db | 2020-02-14 14:17:20 +0000 | [diff] [blame] | 99 | "importers/proto/profile_module.cc", |
| 100 | "importers/proto/profile_module.h", |
| 101 | "importers/proto/profile_packet_utils.cc", |
| 102 | "importers/proto/profile_packet_utils.h", |
Mikhail Khokhlov | 785af54 | 2019-12-06 13:45:10 +0000 | [diff] [blame] | 103 | "importers/proto/proto_importer_module.cc", |
Eric Seckler | de58995 | 2019-10-17 12:46:07 +0100 | [diff] [blame] | 104 | "importers/proto/proto_importer_module.h", |
Eric Seckler | 771960c | 2019-10-22 15:37:12 +0100 | [diff] [blame] | 105 | "importers/proto/proto_incremental_state.h", |
Eric Seckler | 137a467 | 2019-10-24 08:51:14 +0100 | [diff] [blame] | 106 | "importers/proto/proto_trace_parser.cc", |
| 107 | "importers/proto/proto_trace_parser.h", |
| 108 | "importers/proto/proto_trace_tokenizer.cc", |
| 109 | "importers/proto/proto_trace_tokenizer.h", |
Lalit Maganti | 05819e2 | 2020-04-14 21:01:38 +0100 | [diff] [blame] | 110 | "importers/proto/stack_profile_tracker.cc", |
| 111 | "importers/proto/stack_profile_tracker.h", |
Mikhail Khokhlov | 4b5de1a | 2019-12-06 16:33:56 +0000 | [diff] [blame] | 112 | "importers/proto/track_event_module.cc", |
Eric Seckler | de58995 | 2019-10-17 12:46:07 +0100 | [diff] [blame] | 113 | "importers/proto/track_event_module.h", |
Eric Seckler | 771960c | 2019-10-22 15:37:12 +0100 | [diff] [blame] | 114 | "importers/proto/track_event_parser.cc", |
| 115 | "importers/proto/track_event_parser.h", |
| 116 | "importers/proto/track_event_tokenizer.cc", |
| 117 | "importers/proto/track_event_tokenizer.h", |
Lalit Maganti | cda6865 | 2020-04-14 21:01:01 +0100 | [diff] [blame] | 118 | "importers/syscalls/syscall_tracker.h", |
Lalit Maganti | 31afb82 | 2020-03-05 17:36:57 +0000 | [diff] [blame] | 119 | "importers/systrace/systrace_line.h", |
Eric Seckler | 1a2ea13 | 2019-10-16 11:35:31 +0100 | [diff] [blame] | 120 | "timestamped_trace_piece.h", |
Primiano Tucci | d933d91 | 2018-09-04 09:15:07 +0100 | [diff] [blame] | 121 | "trace_blob_view.h", |
Deepanjan Roy | 01994ca | 2019-04-02 11:05:34 -0700 | [diff] [blame] | 122 | "trace_parser.h", |
Isabelle Taylor | a0a2297 | 2018-08-03 12:06:12 +0100 | [diff] [blame] | 123 | "trace_processor_context.cc", |
Eric Seckler | a7870e6 | 2019-11-01 10:11:58 +0000 | [diff] [blame] | 124 | "trace_processor_storage.cc", |
| 125 | "trace_processor_storage_impl.cc", |
| 126 | "trace_processor_storage_impl.h", |
Primiano Tucci | d933d91 | 2018-09-04 09:15:07 +0100 | [diff] [blame] | 127 | "trace_sorter.cc", |
| 128 | "trace_sorter.h", |
Lalit Maganti | df3e926 | 2018-06-04 17:45:00 +0100 | [diff] [blame] | 129 | "virtual_destructors.cc", |
Lalit Maganti | caed37e | 2018-06-01 03:03:08 +0100 | [diff] [blame] | 130 | ] |
| 131 | deps = [ |
Andrew Shulaev | b667838 | 2020-02-27 13:59:32 +0000 | [diff] [blame] | 132 | ":track_event_descriptor", |
Lalit Maganti | caed37e | 2018-06-01 03:03:08 +0100 | [diff] [blame] | 133 | "../../gn:default_deps", |
Primiano Tucci | fe502c4 | 2019-12-11 01:00:27 +0000 | [diff] [blame] | 134 | "../base", |
| 135 | "../protozero", |
Lalit Maganti | 9ecfab3 | 2019-12-17 17:45:38 +0000 | [diff] [blame] | 136 | "containers", |
Lalit Maganti | ccdcbae | 2020-04-15 14:31:40 +0100 | [diff] [blame] | 137 | "importers:common", |
Lalit Maganti | 7010b33 | 2020-02-07 10:51:15 +0000 | [diff] [blame] | 138 | "storage", |
Primiano Tucci | fe502c4 | 2019-12-11 01:00:27 +0000 | [diff] [blame] | 139 | "tables", |
Lalit Maganti | 83b53fa | 2020-01-13 12:55:36 +0000 | [diff] [blame] | 140 | "types", |
Lalit Maganti | e710740 | 2020-04-15 13:41:12 +0100 | [diff] [blame] | 141 | "util", |
| 142 | "util:descriptors", |
Primiano Tucci | fe502c4 | 2019-12-11 01:00:27 +0000 | [diff] [blame] | 143 | ] |
| 144 | public_deps = [ |
| 145 | "../../include/perfetto/trace_processor:storage", |
Primiano Tucci | e5f1168 | 2019-03-22 07:21:49 +0000 | [diff] [blame] | 146 | "../../protos/perfetto/common:zero", |
Lalit Maganti | 295a861 | 2019-05-21 13:57:42 +0100 | [diff] [blame] | 147 | "../../protos/perfetto/config:zero", |
Primiano Tucci | c167887 | 2019-03-20 11:30:54 +0000 | [diff] [blame] | 148 | "../../protos/perfetto/trace:zero", |
Primiano Tucci | e5f1168 | 2019-03-22 07:21:49 +0000 | [diff] [blame] | 149 | "../../protos/perfetto/trace/android:zero", |
Mikhail Khokhlov | db84f10 | 2019-05-24 15:25:47 +0100 | [diff] [blame] | 150 | "../../protos/perfetto/trace/chrome:zero", |
Primiano Tucci | c167887 | 2019-03-20 11:30:54 +0000 | [diff] [blame] | 151 | "../../protos/perfetto/trace/ftrace:zero", |
Eric Seckler | 684a4f7 | 2019-04-26 14:34:07 +0100 | [diff] [blame] | 152 | "../../protos/perfetto/trace/interned_data:zero", |
Primiano Tucci | b02d8dc | 2019-06-04 11:46:43 +0100 | [diff] [blame] | 153 | "../../protos/perfetto/trace/perfetto:zero", |
Primiano Tucci | e5f1168 | 2019-03-22 07:21:49 +0000 | [diff] [blame] | 154 | "../../protos/perfetto/trace/power:zero", |
| 155 | "../../protos/perfetto/trace/profiling:zero", |
| 156 | "../../protos/perfetto/trace/ps:zero", |
| 157 | "../../protos/perfetto/trace/sys_stats:zero", |
Rafal Slawik | 6d62149 | 2020-04-17 12:53:01 +0100 | [diff] [blame] | 158 | "../../protos/perfetto/trace/system_info:zero", |
Eric Seckler | 684a4f7 | 2019-04-26 14:34:07 +0100 | [diff] [blame] | 159 | "../../protos/perfetto/trace/track_event:zero", |
Ioannis Ilkos | eff38f5 | 2018-10-29 10:37:55 +0000 | [diff] [blame] | 160 | ] |
Lalit Maganti | 617deae | 2020-04-14 21:00:49 +0100 | [diff] [blame] | 161 | |
| 162 | # json_utils optionally depends on jsoncpp. |
Eric Seckler | 0383228 | 2020-02-10 19:23:38 +0000 | [diff] [blame] | 163 | if (enable_perfetto_trace_processor_json) { |
Primiano Tucci | 13ae72f | 2019-06-06 10:53:02 +0100 | [diff] [blame] | 164 | deps += [ "../../gn:jsoncpp" ] |
Primiano Tucci | 0d72a31 | 2018-08-07 14:42:45 +0100 | [diff] [blame] | 165 | } |
Lalit Maganti | 617deae | 2020-04-14 21:00:49 +0100 | [diff] [blame] | 166 | |
| 167 | # gzip_utils optionally depends on zlib. |
Lalit Maganti | 6d1f7b5 | 2020-02-27 13:16:44 +0000 | [diff] [blame] | 168 | if (enable_perfetto_zlib) { |
| 169 | deps += [ "../../gn:zlib" ] |
Eric Seckler | ee1cdea | 2019-10-22 12:13:06 +0100 | [diff] [blame] | 170 | } |
Lalit Maganti | caed37e | 2018-06-01 03:03:08 +0100 | [diff] [blame] | 171 | } |
| 172 | |
Mikhail Khokhlov | 692087e | 2019-12-11 10:53:45 +0000 | [diff] [blame] | 173 | source_set("storage_full") { |
| 174 | sources = [ |
Lalit Maganti | 60af4ef | 2020-04-15 14:27:09 +0100 | [diff] [blame] | 175 | "importers/additional_modules.cc", |
| 176 | "importers/additional_modules.h", |
Mikhail Khokhlov | 81491b9 | 2019-12-19 13:58:22 +0000 | [diff] [blame] | 177 | "importers/ftrace/binder_tracker.cc", |
| 178 | "importers/ftrace/binder_tracker.h", |
Mikhail Khokhlov | 81491b9 | 2019-12-19 13:58:22 +0000 | [diff] [blame] | 179 | "importers/ftrace/ftrace_module_impl.cc", |
| 180 | "importers/ftrace/ftrace_module_impl.h", |
| 181 | "importers/ftrace/ftrace_parser.cc", |
| 182 | "importers/ftrace/ftrace_parser.h", |
| 183 | "importers/ftrace/ftrace_tokenizer.cc", |
| 184 | "importers/ftrace/ftrace_tokenizer.h", |
Lalit Maganti | 697894f | 2019-12-23 14:32:13 +0000 | [diff] [blame] | 185 | "importers/ftrace/rss_stat_tracker.cc", |
| 186 | "importers/ftrace/rss_stat_tracker.h", |
Mikhail Khokhlov | 81491b9 | 2019-12-19 13:58:22 +0000 | [diff] [blame] | 187 | "importers/ftrace/sched_event_tracker.cc", |
| 188 | "importers/ftrace/sched_event_tracker.h", |
Lalit Maganti | 6d1f7b5 | 2020-02-27 13:16:44 +0000 | [diff] [blame] | 189 | "importers/fuchsia/fuchsia_record.cc", |
| 190 | "importers/fuchsia/fuchsia_trace_parser.cc", |
| 191 | "importers/fuchsia/fuchsia_trace_parser.h", |
| 192 | "importers/fuchsia/fuchsia_trace_tokenizer.cc", |
| 193 | "importers/fuchsia/fuchsia_trace_tokenizer.h", |
| 194 | "importers/fuchsia/fuchsia_trace_utils.cc", |
Lalit Maganti | 9d538bd | 2020-03-12 23:48:16 +0000 | [diff] [blame] | 195 | "importers/gzip/gzip_trace_parser.cc", |
| 196 | "importers/gzip/gzip_trace_parser.h", |
Lalit Maganti | 0bfeb97 | 2020-03-14 03:57:30 +0000 | [diff] [blame] | 197 | "importers/json/json_trace_parser.cc", |
| 198 | "importers/json/json_trace_parser.h", |
| 199 | "importers/json/json_trace_tokenizer.cc", |
| 200 | "importers/json/json_trace_tokenizer.h", |
| 201 | "importers/json/json_tracker.cc", |
| 202 | "importers/json/json_tracker.h", |
Mikhail Khokhlov | 9996d5d | 2019-12-17 14:43:17 +0000 | [diff] [blame] | 203 | "importers/proto/android_probes_module.cc", |
| 204 | "importers/proto/android_probes_module.h", |
| 205 | "importers/proto/android_probes_parser.cc", |
| 206 | "importers/proto/android_probes_parser.h", |
Florian Mayer | 19ce395 | 2020-04-08 15:27:32 +0200 | [diff] [blame] | 207 | "importers/proto/android_probes_tracker.cc", |
| 208 | "importers/proto/android_probes_tracker.h", |
Mikhail Khokhlov | 692087e | 2019-12-11 10:53:45 +0000 | [diff] [blame] | 209 | "importers/proto/graphics_event_module.cc", |
| 210 | "importers/proto/graphics_event_module.h", |
| 211 | "importers/proto/graphics_event_parser.cc", |
| 212 | "importers/proto/graphics_event_parser.h", |
Mikhail Khokhlov | 6146a58 | 2019-12-17 17:33:47 +0000 | [diff] [blame] | 213 | "importers/proto/heap_graph_module.cc", |
| 214 | "importers/proto/heap_graph_module.h", |
| 215 | "importers/proto/heap_graph_tracker.cc", |
| 216 | "importers/proto/heap_graph_tracker.h", |
| 217 | "importers/proto/heap_graph_walker.cc", |
| 218 | "importers/proto/heap_graph_walker.h", |
Mikhail Khokhlov | 04f6eb7 | 2019-12-17 14:33:11 +0000 | [diff] [blame] | 219 | "importers/proto/system_probes_module.cc", |
| 220 | "importers/proto/system_probes_module.h", |
| 221 | "importers/proto/system_probes_parser.cc", |
| 222 | "importers/proto/system_probes_parser.h", |
Mikhail Khokhlov | 692087e | 2019-12-11 10:53:45 +0000 | [diff] [blame] | 223 | "importers/proto/vulkan_memory_tracker.cc", |
| 224 | "importers/proto/vulkan_memory_tracker.h", |
Lalit Maganti | cda6865 | 2020-04-14 21:01:01 +0100 | [diff] [blame] | 225 | "importers/syscalls/syscall_tracker.cc", |
| 226 | "importers/syscalls/syscalls_aarch32.h", |
| 227 | "importers/syscalls/syscalls_aarch64.h", |
| 228 | "importers/syscalls/syscalls_armeabi.h", |
| 229 | "importers/syscalls/syscalls_x86.h", |
| 230 | "importers/syscalls/syscalls_x86_64.h", |
Lalit Maganti | 2f0b41d | 2020-02-27 13:35:39 +0000 | [diff] [blame] | 231 | "importers/systrace/systrace_line_parser.cc", |
| 232 | "importers/systrace/systrace_line_parser.h", |
| 233 | "importers/systrace/systrace_line_tokenizer.cc", |
| 234 | "importers/systrace/systrace_line_tokenizer.h", |
Mikhail Khokhlov | 81491b9 | 2019-12-19 13:58:22 +0000 | [diff] [blame] | 235 | "importers/systrace/systrace_parser.cc", |
| 236 | "importers/systrace/systrace_parser.h", |
| 237 | "importers/systrace/systrace_trace_parser.cc", |
| 238 | "importers/systrace/systrace_trace_parser.h", |
Mikhail Khokhlov | 692087e | 2019-12-11 10:53:45 +0000 | [diff] [blame] | 239 | ] |
Primiano Tucci | 2925e9d | 2020-01-27 10:15:58 +0000 | [diff] [blame] | 240 | public_deps = [ ":storage_minimal" ] |
Mikhail Khokhlov | 692087e | 2019-12-11 10:53:45 +0000 | [diff] [blame] | 241 | deps = [ |
Lalit Maganti | 655adae | 2020-04-14 21:01:25 +0100 | [diff] [blame] | 242 | ":ftrace_descriptors", |
Raymond Chiu | 1f1ea14 | 2019-12-13 16:59:35 -0800 | [diff] [blame] | 243 | "../../include/perfetto/ext/base:base", |
Mikhail Khokhlov | 04f6eb7 | 2019-12-17 14:33:11 +0000 | [diff] [blame] | 244 | "../../include/perfetto/ext/traced:sys_stats_counters", |
Mikhail Khokhlov | 692087e | 2019-12-11 10:53:45 +0000 | [diff] [blame] | 245 | "../../protos/perfetto/common:zero", |
| 246 | "../../protos/perfetto/trace:zero", |
| 247 | "../../protos/perfetto/trace/android:zero", |
| 248 | "../../protos/perfetto/trace/gpu:zero", |
| 249 | "../../protos/perfetto/trace/interned_data:zero", |
| 250 | "../protozero", |
Lalit Maganti | ccdcbae | 2020-04-15 14:31:40 +0100 | [diff] [blame] | 251 | "importers:common", |
Lalit Maganti | 7010b33 | 2020-02-07 10:51:15 +0000 | [diff] [blame] | 252 | "storage", |
Lalit Maganti | 83b53fa | 2020-01-13 12:55:36 +0000 | [diff] [blame] | 253 | "types", |
Mikhail Khokhlov | 692087e | 2019-12-11 10:53:45 +0000 | [diff] [blame] | 254 | ] |
| 255 | if (enable_perfetto_trace_processor_json) { |
Lalit Maganti | 6d1f7b5 | 2020-02-27 13:16:44 +0000 | [diff] [blame] | 256 | deps += [ "../../gn:jsoncpp" ] |
Mikhail Khokhlov | 692087e | 2019-12-11 10:53:45 +0000 | [diff] [blame] | 257 | } |
| 258 | } |
| 259 | |
Lalit Maganti | 0bfeb97 | 2020-03-14 03:57:30 +0000 | [diff] [blame] | 260 | source_set("export_json") { |
| 261 | sources = [ |
| 262 | "export_json.cc", |
| 263 | "export_json.h", |
| 264 | ] |
| 265 | deps = [ |
| 266 | ":storage_minimal", |
| 267 | "../../gn:default_deps", |
| 268 | "../base", |
| 269 | "storage", |
Lalit Maganti | 0faddc4 | 2020-04-10 17:58:24 +0100 | [diff] [blame] | 270 | "types", |
Lalit Maganti | 0bfeb97 | 2020-03-14 03:57:30 +0000 | [diff] [blame] | 271 | ] |
| 272 | public_deps = [ "../../include/perfetto/ext/trace_processor:export_json" ] |
| 273 | if (enable_perfetto_trace_processor_json) { |
| 274 | deps += [ "../../gn:jsoncpp" ] |
Eric Seckler | a7870e6 | 2019-11-01 10:11:58 +0000 | [diff] [blame] | 275 | } |
| 276 | } |
| 277 | |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 278 | if (enable_perfetto_trace_processor_sqlite) { |
| 279 | source_set("lib") { |
| 280 | sources = [ |
Lalit Maganti | 1f4712b | 2020-04-14 21:01:13 +0100 | [diff] [blame] | 281 | "dynamic/describe_slice_generator.cc", |
| 282 | "dynamic/describe_slice_generator.h", |
| 283 | "dynamic/experimental_counter_dur_generator.cc", |
| 284 | "dynamic/experimental_counter_dur_generator.h", |
| 285 | "dynamic/experimental_flamegraph_generator.cc", |
| 286 | "dynamic/experimental_flamegraph_generator.h", |
Hector Dearman | 5b52376 | 2020-04-16 10:36:32 +0100 | [diff] [blame] | 287 | "dynamic/experimental_slice_layout_generator.cc", |
| 288 | "dynamic/experimental_slice_layout_generator.h", |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 289 | "read_trace.cc", |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 290 | "trace_processor.cc", |
| 291 | "trace_processor_impl.cc", |
| 292 | "trace_processor_impl.h", |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 293 | ] |
Eric Seckler | a7870e6 | 2019-11-01 10:11:58 +0000 | [diff] [blame] | 294 | |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 295 | deps = [ |
Lalit Maganti | 0bfeb97 | 2020-03-14 03:57:30 +0000 | [diff] [blame] | 296 | ":export_json", |
Lalit Maganti | 427b833 | 2020-05-27 16:09:45 +0100 | [diff] [blame^] | 297 | ":metatrace", |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 298 | ":storage_full", |
| 299 | "../../gn:default_deps", |
| 300 | "../../gn:sqlite", |
| 301 | "../../protos/perfetto/metrics:zero", |
| 302 | "../../protos/perfetto/metrics/android:zero", |
| 303 | "../../protos/perfetto/trace/ftrace:zero", |
| 304 | "../base", |
Lalit Maganti | 97d7d47 | 2020-04-07 18:49:17 +0100 | [diff] [blame] | 305 | "analysis", |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 306 | "db:lib", |
Lalit Maganti | ccdcbae | 2020-04-15 14:31:40 +0100 | [diff] [blame] | 307 | "importers:common", |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 308 | "metrics:lib", |
| 309 | "sqlite", |
Lalit Maganti | 7010b33 | 2020-02-07 10:51:15 +0000 | [diff] [blame] | 310 | "storage", |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 311 | "tables", |
| 312 | "types", |
| 313 | ] |
Primiano Tucci | 2925e9d | 2020-01-27 10:15:58 +0000 | [diff] [blame] | 314 | public_deps = [ "../../include/perfetto/trace_processor" ] |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 315 | if (enable_perfetto_trace_processor_json) { |
Lalit Maganti | 0bfeb97 | 2020-03-14 03:57:30 +0000 | [diff] [blame] | 316 | deps += [ "../../gn:jsoncpp" ] |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 317 | } |
Eric Seckler | a7870e6 | 2019-11-01 10:11:58 +0000 | [diff] [blame] | 318 | } |
Eric Seckler | a7870e6 | 2019-11-01 10:11:58 +0000 | [diff] [blame] | 319 | |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 320 | perfetto_host_executable("trace_processor_shell") { |
| 321 | deps = [ |
| 322 | ":lib", |
| 323 | "../../gn:default_deps", |
| 324 | "../../gn:protoc_lib", |
| 325 | "../../src/profiling/symbolizer", |
| 326 | "../../src/profiling/symbolizer:symbolize_database", |
| 327 | "../base", |
| 328 | "metrics:lib", |
Lalit Maganti | 2ae2464 | 2020-04-16 13:14:17 +0100 | [diff] [blame] | 329 | "util", |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 330 | ] |
| 331 | if (enable_perfetto_version_gen) { |
| 332 | deps += [ "../../gn/standalone:gen_git_revision" ] |
| 333 | } |
| 334 | if (enable_perfetto_trace_processor_linenoise) { |
| 335 | deps += [ "../../gn:linenoise" ] |
| 336 | } |
| 337 | if (enable_perfetto_trace_processor_httpd) { |
| 338 | deps += [ "rpc:httpd" ] |
| 339 | } |
| 340 | sources = [ |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 341 | "trace_processor_shell.cc", |
Lalit Maganti | 3d9bbff | 2020-04-15 13:40:58 +0100 | [diff] [blame] | 342 | "util/proto_to_json.cc", |
| 343 | "util/proto_to_json.h", |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 344 | ] |
Eric Seckler | c622b8b | 2019-10-21 09:54:00 +0100 | [diff] [blame] | 345 | } |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 346 | } # if (enable_perfetto_trace_processor_sqlite) |
Primiano Tucci | 5968caf | 2018-08-06 10:31:46 +0100 | [diff] [blame] | 347 | |
Primiano Tucci | 02c1176 | 2019-08-30 00:57:59 +0200 | [diff] [blame] | 348 | perfetto_unittest_source_set("unittests") { |
Lalit Maganti | caed37e | 2018-06-01 03:03:08 +0100 | [diff] [blame] | 349 | testonly = true |
Lalit Maganti | 93b7636 | 2018-06-01 03:03:58 +0100 | [diff] [blame] | 350 | sources = [ |
Hector Dearman | d8c3d5c | 2019-08-06 13:28:23 +0100 | [diff] [blame] | 351 | "forwarding_trace_parser_unittest.cc", |
Lalit Maganti | ccdcbae | 2020-04-15 14:31:40 +0100 | [diff] [blame] | 352 | "importers/ftrace/sched_event_tracker_unittest.cc", |
Lalit Maganti | 6d1f7b5 | 2020-02-27 13:16:44 +0000 | [diff] [blame] | 353 | "importers/fuchsia/fuchsia_trace_utils_unittest.cc", |
Stephen Nusko | bc76a6c | 2019-12-03 11:55:27 +0000 | [diff] [blame] | 354 | "importers/proto/args_table_utils_unittest.cc", |
Florian Mayer | c9bb047 | 2020-01-17 11:29:59 +0000 | [diff] [blame] | 355 | "importers/proto/heap_graph_tracker_unittest.cc", |
Mikhail Khokhlov | 6146a58 | 2019-12-17 17:33:47 +0000 | [diff] [blame] | 356 | "importers/proto/heap_graph_walker_unittest.cc", |
Lalit Maganti | 05819e2 | 2020-04-14 21:01:38 +0100 | [diff] [blame] | 357 | "importers/proto/heap_profile_tracker_unittest.cc", |
Eric Seckler | 137a467 | 2019-10-24 08:51:14 +0100 | [diff] [blame] | 358 | "importers/proto/proto_trace_parser_unittest.cc", |
Lalit Maganti | cda6865 | 2020-04-14 21:01:01 +0100 | [diff] [blame] | 359 | "importers/syscalls/syscall_tracker_unittest.cc", |
Eric Seckler | d8b5208 | 2019-10-17 15:58:38 +0100 | [diff] [blame] | 360 | "importers/systrace/systrace_parser_unittest.cc", |
Primiano Tucci | d933d91 | 2018-09-04 09:15:07 +0100 | [diff] [blame] | 361 | "trace_sorter_unittest.cc", |
Lalit Maganti | 93b7636 | 2018-06-01 03:03:58 +0100 | [diff] [blame] | 362 | ] |
Lalit Maganti | caed37e | 2018-06-01 03:03:08 +0100 | [diff] [blame] | 363 | deps = [ |
Mikhail Khokhlov | 692087e | 2019-12-11 10:53:45 +0000 | [diff] [blame] | 364 | ":storage_full", |
Lalit Maganti | caed37e | 2018-06-01 03:03:08 +0100 | [diff] [blame] | 365 | "../../gn:default_deps", |
Primiano Tucci | 13ae72f | 2019-06-06 10:53:02 +0100 | [diff] [blame] | 366 | "../../gn:gtest_and_gmock", |
Primiano Tucci | e5f1168 | 2019-03-22 07:21:49 +0000 | [diff] [blame] | 367 | "../../protos/perfetto/common:zero", |
Primiano Tucci | 355b8c8 | 2019-08-29 08:37:51 +0200 | [diff] [blame] | 368 | "../../protos/perfetto/trace:minimal_zero", |
Primiano Tucci | e5f1168 | 2019-03-22 07:21:49 +0000 | [diff] [blame] | 369 | "../../protos/perfetto/trace:zero", |
Ryan Savitski | 0476ee9 | 2019-07-09 14:29:33 +0100 | [diff] [blame] | 370 | "../../protos/perfetto/trace/android:zero", |
Mikhail Khokhlov | db84f10 | 2019-05-24 15:25:47 +0100 | [diff] [blame] | 371 | "../../protos/perfetto/trace/chrome:zero", |
Primiano Tucci | e5f1168 | 2019-03-22 07:21:49 +0000 | [diff] [blame] | 372 | "../../protos/perfetto/trace/ftrace:zero", |
Raymond Chiu | 994a35d | 2019-06-12 16:37:26 -0700 | [diff] [blame] | 373 | "../../protos/perfetto/trace/gpu:zero", |
Eric Seckler | 56a007d | 2019-05-02 16:25:14 +0100 | [diff] [blame] | 374 | "../../protos/perfetto/trace/interned_data:zero", |
Primiano Tucci | e5f1168 | 2019-03-22 07:21:49 +0000 | [diff] [blame] | 375 | "../../protos/perfetto/trace/ps:zero", |
| 376 | "../../protos/perfetto/trace/sys_stats:zero", |
Eric Seckler | 56a007d | 2019-05-02 16:25:14 +0100 | [diff] [blame] | 377 | "../../protos/perfetto/trace/track_event:zero", |
Lalit Maganti | df3e926 | 2018-06-04 17:45:00 +0100 | [diff] [blame] | 378 | "../base", |
Primiano Tucci | e5f1168 | 2019-03-22 07:21:49 +0000 | [diff] [blame] | 379 | "../protozero", |
Stephen Nusko | bc76a6c | 2019-12-03 11:55:27 +0000 | [diff] [blame] | 380 | "../protozero:testing_messages_zero", |
Lalit Maganti | 2aa8858 | 2019-12-17 17:06:49 +0000 | [diff] [blame] | 381 | "containers:unittests", |
Lalit Maganti | cf39caa | 2019-08-21 14:00:08 -0700 | [diff] [blame] | 382 | "db:unittests", |
Lalit Maganti | ccdcbae | 2020-04-15 14:31:40 +0100 | [diff] [blame] | 383 | "importers:common", |
| 384 | "importers:unittests", |
Lalit Maganti | 7010b33 | 2020-02-07 10:51:15 +0000 | [diff] [blame] | 385 | "storage", |
Lalit Maganti | 6dc3546 | 2019-08-29 13:24:07 +0100 | [diff] [blame] | 386 | "tables:unittests", |
Lalit Maganti | 0faddc4 | 2020-04-10 17:58:24 +0100 | [diff] [blame] | 387 | "types", |
Lalit Maganti | 616bc08 | 2020-04-09 19:03:12 +0100 | [diff] [blame] | 388 | "types:unittests", |
Lalit Maganti | e710740 | 2020-04-15 13:41:12 +0100 | [diff] [blame] | 389 | "util:unittests", |
Lalit Maganti | caed37e | 2018-06-01 03:03:08 +0100 | [diff] [blame] | 390 | ] |
Mikhail Khokhlov | 2bcfb35 | 2019-12-20 10:19:58 +0000 | [diff] [blame] | 391 | |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 392 | if (enable_perfetto_trace_processor_sqlite) { |
Hector Dearman | 5b52376 | 2020-04-16 10:36:32 +0100 | [diff] [blame] | 393 | sources += [ |
| 394 | "dynamic/experimental_counter_dur_generator_unittest.cc", |
| 395 | "dynamic/experimental_slice_layout_generator_unittest.cc", |
| 396 | ] |
Lalit Maganti | b30edd4 | 2020-02-10 13:31:09 -0500 | [diff] [blame] | 397 | deps += [ |
| 398 | ":lib", |
Eric Seckler | c7b6ede | 2020-02-11 07:49:28 +0000 | [diff] [blame] | 399 | "../../gn:sqlite", |
Lalit Maganti | b30edd4 | 2020-02-10 13:31:09 -0500 | [diff] [blame] | 400 | "sqlite:unittests", |
| 401 | ] |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 402 | } |
| 403 | |
Primiano Tucci | 02c1176 | 2019-08-30 00:57:59 +0200 | [diff] [blame] | 404 | if (enable_perfetto_trace_processor_json) { |
Lalit Maganti | 6d1f7b5 | 2020-02-27 13:16:44 +0000 | [diff] [blame] | 405 | sources += [ |
| 406 | "importers/json/json_trace_tokenizer_unittest.cc", |
Lalit Maganti | 6d1f7b5 | 2020-02-27 13:16:44 +0000 | [diff] [blame] | 407 | "importers/json/json_tracker_unittest.cc", |
Lalit Maganti | 0bfeb97 | 2020-03-14 03:57:30 +0000 | [diff] [blame] | 408 | "importers/json/json_utils_unittest.cc", |
Lalit Maganti | 6d1f7b5 | 2020-02-27 13:16:44 +0000 | [diff] [blame] | 409 | ] |
| 410 | deps += [ "../../gn:jsoncpp" ] |
| 411 | |
Primiano Tucci | 5e96c4e | 2019-09-02 23:24:26 +0100 | [diff] [blame] | 412 | if (!is_win) { |
| 413 | # export_json_unittest.cc uses base::TempFile, which is not supported on |
| 414 | # windows. |
| 415 | sources += [ "export_json_unittest.cc" ] |
Eric Seckler | a7870e6 | 2019-11-01 10:11:58 +0000 | [diff] [blame] | 416 | deps += [ |
| 417 | ":export_json", |
| 418 | "../../include/perfetto/ext/trace_processor:export_json", |
| 419 | ] |
Primiano Tucci | 5e96c4e | 2019-09-02 23:24:26 +0100 | [diff] [blame] | 420 | } |
Hector Dearman | e690b2d | 2018-11-14 10:57:02 +0000 | [diff] [blame] | 421 | } |
Lalit Maganti | caed37e | 2018-06-01 03:03:08 +0100 | [diff] [blame] | 422 | } |
Hector Dearman | 7f71d0e | 2018-08-09 11:26:10 +0100 | [diff] [blame] | 423 | |
| 424 | source_set("integrationtests") { |
| 425 | testonly = true |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 426 | sources = [] |
| 427 | deps = [] |
| 428 | if (enable_perfetto_trace_processor_sqlite) { |
Lalit Maganti | 9d538bd | 2020-03-12 23:48:16 +0000 | [diff] [blame] | 429 | sources += [ |
| 430 | "read_trace_integrationtest.cc", |
| 431 | "trace_database_integrationtest.cc", |
| 432 | ] |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 433 | deps += [ |
| 434 | ":lib", |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 435 | "../../gn:default_deps", |
| 436 | "../../gn:gtest_and_gmock", |
Lalit Maganti | 9d538bd | 2020-03-12 23:48:16 +0000 | [diff] [blame] | 437 | "../../protos/perfetto/trace:zero", |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 438 | "../base", |
| 439 | "../base:test_support", |
| 440 | "sqlite", |
| 441 | ] |
Lalit Maganti | 6d1f7b5 | 2020-02-27 13:16:44 +0000 | [diff] [blame] | 442 | if (enable_perfetto_trace_processor_json) { |
Mikhail Khokhlov | 0f7e68d | 2020-01-16 15:39:27 +0000 | [diff] [blame] | 443 | deps += [ "../../gn:jsoncpp" ] |
| 444 | } |
Deepanjan Roy | 01994ca | 2019-04-02 11:05:34 -0700 | [diff] [blame] | 445 | } |
Hector Dearman | 7f71d0e | 2018-08-09 11:26:10 +0100 | [diff] [blame] | 446 | } |
Hector Dearman | 59bc02d | 2019-02-21 17:28:11 +0000 | [diff] [blame] | 447 | |
Mikhail Khokhlov | 90f09f6 | 2019-12-17 12:53:51 +0000 | [diff] [blame] | 448 | if (enable_perfetto_trace_processor_json) { |
| 449 | source_set("storage_minimal_smoke_tests") { |
| 450 | testonly = true |
Primiano Tucci | 2925e9d | 2020-01-27 10:15:58 +0000 | [diff] [blame] | 451 | sources = [ "storage_minimal_smoke_test.cc" ] |
Mikhail Khokhlov | 90f09f6 | 2019-12-17 12:53:51 +0000 | [diff] [blame] | 452 | deps = [ |
| 453 | ":export_json", |
| 454 | ":storage_minimal", |
| 455 | "../../gn:default_deps", |
| 456 | "../../gn:gtest_and_gmock", |
| 457 | "../../gn:gtest_main", |
| 458 | "../../gn:jsoncpp", |
| 459 | "../base:test_support", |
| 460 | ] |
| 461 | } |
| 462 | } |
| 463 | |
Hector Dearman | 59bc02d | 2019-02-21 17:28:11 +0000 | [diff] [blame] | 464 | perfetto_fuzzer_test("trace_processor_fuzzer") { |
| 465 | testonly = true |
Primiano Tucci | 2925e9d | 2020-01-27 10:15:58 +0000 | [diff] [blame] | 466 | sources = [ "trace_parsing_fuzzer.cc" ] |
Hector Dearman | 59bc02d | 2019-02-21 17:28:11 +0000 | [diff] [blame] | 467 | deps = [ |
Mikhail Khokhlov | 692087e | 2019-12-11 10:53:45 +0000 | [diff] [blame] | 468 | ":storage_full", |
Hector Dearman | 59bc02d | 2019-02-21 17:28:11 +0000 | [diff] [blame] | 469 | "../../gn:default_deps", |
Hector Dearman | 59bc02d | 2019-02-21 17:28:11 +0000 | [diff] [blame] | 470 | "../base", |
Hector Dearman | 59bc02d | 2019-02-21 17:28:11 +0000 | [diff] [blame] | 471 | ] |
| 472 | } |