blob: 6244cb666e908a22ed0e879e7328874731923cdb [file] [log] [blame]
Primiano Tucci3faad742018-05-16 19:30:48 +01001# 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 S305a5012019-03-29 09:33:00 -070015import("../../gn/fuzzer.gni")
Primiano Tucci3faad742018-05-16 19:30:48 +010016import("../../gn/perfetto.gni")
Primiano Tuccid0001c32019-09-08 22:45:58 -070017import("../../gn/perfetto_host_executable.gni")
Primiano Tucci02c11762019-08-30 00:57:59 +020018import("../../gn/test.gni")
Primiano Tucci3faad742018-05-16 19:30:48 +010019import("../../gn/wasm.gni")
20
Primiano Tucci02c11762019-08-30 00:57:59 +020021# Prevent that this file is accidentally included in embedder builds.
22assert(enable_perfetto_trace_processor)
23
Hector Dearman2d795662018-08-29 16:16:55 +010024# The library which eases processing of Perfetto traces by exposing reading
25# friendly APIs.
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +000026if (enable_perfetto_trace_processor_sqlite) {
27 static_library("trace_processor") {
28 complete_static_lib = true
Primiano Tucci2925e9d2020-01-27 10:15:58 +000029 deps = [ ":lib" ]
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +000030 }
Hector Dearman2d795662018-08-29 16:16:55 +010031}
32
Primiano Tuccia36cccc2019-10-27 13:15:04 +010033if (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 Maganti427b8332020-05-27 16:09:45 +010045source_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 Shulaevb6678382020-02-27 13:59:32 +000056source_set("track_event_descriptor") {
57 sources = [ "importers/proto/track_event.descriptor.h" ]
58}
59
Lalit Maganti655adae2020-04-14 21:01:25 +010060source_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 Khokhlov692087e2019-12-11 10:53:45 +000072source_set("storage_minimal") {
Lalit Maganticaed37e2018-06-01 03:03:08 +010073 sources = [
Primiano Tuccid933d912018-09-04 09:15:07 +010074 "chunked_trace_reader.h",
Hector Dearmand8c3d5c2019-08-06 13:28:23 +010075 "forwarding_trace_parser.cc",
76 "forwarding_trace_parser.h",
Lalit Maganti60af4ef2020-04-15 14:27:09 +010077 "importers/default_modules.cc",
78 "importers/default_modules.h",
Mikhail Khokhlovdd1db002019-12-09 16:34:07 +000079 "importers/ftrace/ftrace_module.cc",
Eric Seckleracfe35b2019-10-18 15:50:17 +010080 "importers/ftrace/ftrace_module.h",
Eric Seckler67e15a92020-01-03 13:20:46 +000081 "importers/fuchsia/fuchsia_record.h",
Lalit Maganti6d1f7b52020-02-27 13:16:44 +000082 "importers/fuchsia/fuchsia_trace_utils.h",
Lalit Maganti9d538bd2020-03-12 23:48:16 +000083 "importers/gzip/gzip_utils.cc",
84 "importers/gzip/gzip_utils.h",
Lalit Maganti0bfeb972020-03-14 03:57:30 +000085 "importers/json/json_utils.cc",
86 "importers/json/json_utils.h",
Primiano Tucci50446cb2020-02-14 10:40:23 +000087 "importers/ninja/ninja_log_parser.cc",
88 "importers/ninja/ninja_log_parser.h",
Stephen Nuskobc76a6c2019-12-03 11:55:27 +000089 "importers/proto/args_table_utils.cc",
90 "importers/proto/args_table_utils.h",
Lalit Maganti05819e22020-04-14 21:01:38 +010091 "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 Seckler7e9dc312020-01-02 15:17:28 +000095 "importers/proto/packet_sequence_state.cc",
Eric Seckler771960c2019-10-22 15:37:12 +010096 "importers/proto/packet_sequence_state.h",
Lalit Maganti05819e22020-04-14 21:01:38 +010097 "importers/proto/perf_sample_tracker.cc",
98 "importers/proto/perf_sample_tracker.h",
Eric Secklerf2de4db2020-02-14 14:17:20 +000099 "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 Khokhlov785af542019-12-06 13:45:10 +0000103 "importers/proto/proto_importer_module.cc",
Eric Secklerde589952019-10-17 12:46:07 +0100104 "importers/proto/proto_importer_module.h",
Eric Seckler771960c2019-10-22 15:37:12 +0100105 "importers/proto/proto_incremental_state.h",
Eric Seckler137a4672019-10-24 08:51:14 +0100106 "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 Maganti05819e22020-04-14 21:01:38 +0100110 "importers/proto/stack_profile_tracker.cc",
111 "importers/proto/stack_profile_tracker.h",
Mikhail Khokhlov4b5de1a2019-12-06 16:33:56 +0000112 "importers/proto/track_event_module.cc",
Eric Secklerde589952019-10-17 12:46:07 +0100113 "importers/proto/track_event_module.h",
Eric Seckler771960c2019-10-22 15:37:12 +0100114 "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 Maganticda68652020-04-14 21:01:01 +0100118 "importers/syscalls/syscall_tracker.h",
Lalit Maganti31afb822020-03-05 17:36:57 +0000119 "importers/systrace/systrace_line.h",
Eric Seckler1a2ea132019-10-16 11:35:31 +0100120 "timestamped_trace_piece.h",
Primiano Tuccid933d912018-09-04 09:15:07 +0100121 "trace_blob_view.h",
Deepanjan Roy01994ca2019-04-02 11:05:34 -0700122 "trace_parser.h",
Isabelle Taylora0a22972018-08-03 12:06:12 +0100123 "trace_processor_context.cc",
Eric Secklera7870e62019-11-01 10:11:58 +0000124 "trace_processor_storage.cc",
125 "trace_processor_storage_impl.cc",
126 "trace_processor_storage_impl.h",
Primiano Tuccid933d912018-09-04 09:15:07 +0100127 "trace_sorter.cc",
128 "trace_sorter.h",
Lalit Magantidf3e9262018-06-04 17:45:00 +0100129 "virtual_destructors.cc",
Lalit Maganticaed37e2018-06-01 03:03:08 +0100130 ]
131 deps = [
Andrew Shulaevb6678382020-02-27 13:59:32 +0000132 ":track_event_descriptor",
Lalit Maganticaed37e2018-06-01 03:03:08 +0100133 "../../gn:default_deps",
Primiano Tuccife502c42019-12-11 01:00:27 +0000134 "../base",
135 "../protozero",
Lalit Maganti9ecfab32019-12-17 17:45:38 +0000136 "containers",
Lalit Maganticcdcbae2020-04-15 14:31:40 +0100137 "importers:common",
Lalit Maganti7010b332020-02-07 10:51:15 +0000138 "storage",
Primiano Tuccife502c42019-12-11 01:00:27 +0000139 "tables",
Lalit Maganti83b53fa2020-01-13 12:55:36 +0000140 "types",
Lalit Magantie7107402020-04-15 13:41:12 +0100141 "util",
142 "util:descriptors",
Primiano Tuccife502c42019-12-11 01:00:27 +0000143 ]
144 public_deps = [
145 "../../include/perfetto/trace_processor:storage",
Primiano Tuccie5f11682019-03-22 07:21:49 +0000146 "../../protos/perfetto/common:zero",
Lalit Maganti295a8612019-05-21 13:57:42 +0100147 "../../protos/perfetto/config:zero",
Primiano Tuccic1678872019-03-20 11:30:54 +0000148 "../../protos/perfetto/trace:zero",
Primiano Tuccie5f11682019-03-22 07:21:49 +0000149 "../../protos/perfetto/trace/android:zero",
Mikhail Khokhlovdb84f102019-05-24 15:25:47 +0100150 "../../protos/perfetto/trace/chrome:zero",
Primiano Tuccic1678872019-03-20 11:30:54 +0000151 "../../protos/perfetto/trace/ftrace:zero",
Eric Seckler684a4f72019-04-26 14:34:07 +0100152 "../../protos/perfetto/trace/interned_data:zero",
Primiano Tuccib02d8dc2019-06-04 11:46:43 +0100153 "../../protos/perfetto/trace/perfetto:zero",
Primiano Tuccie5f11682019-03-22 07:21:49 +0000154 "../../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 Slawik6d621492020-04-17 12:53:01 +0100158 "../../protos/perfetto/trace/system_info:zero",
Eric Seckler684a4f72019-04-26 14:34:07 +0100159 "../../protos/perfetto/trace/track_event:zero",
Ioannis Ilkoseff38f52018-10-29 10:37:55 +0000160 ]
Lalit Maganti617deae2020-04-14 21:00:49 +0100161
162 # json_utils optionally depends on jsoncpp.
Eric Seckler03832282020-02-10 19:23:38 +0000163 if (enable_perfetto_trace_processor_json) {
Primiano Tucci13ae72f2019-06-06 10:53:02 +0100164 deps += [ "../../gn:jsoncpp" ]
Primiano Tucci0d72a312018-08-07 14:42:45 +0100165 }
Lalit Maganti617deae2020-04-14 21:00:49 +0100166
167 # gzip_utils optionally depends on zlib.
Lalit Maganti6d1f7b52020-02-27 13:16:44 +0000168 if (enable_perfetto_zlib) {
169 deps += [ "../../gn:zlib" ]
Eric Seckleree1cdea2019-10-22 12:13:06 +0100170 }
Lalit Maganticaed37e2018-06-01 03:03:08 +0100171}
172
Mikhail Khokhlov692087e2019-12-11 10:53:45 +0000173source_set("storage_full") {
174 sources = [
Lalit Maganti60af4ef2020-04-15 14:27:09 +0100175 "importers/additional_modules.cc",
176 "importers/additional_modules.h",
Mikhail Khokhlov81491b92019-12-19 13:58:22 +0000177 "importers/ftrace/binder_tracker.cc",
178 "importers/ftrace/binder_tracker.h",
Mikhail Khokhlov81491b92019-12-19 13:58:22 +0000179 "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 Maganti697894f2019-12-23 14:32:13 +0000185 "importers/ftrace/rss_stat_tracker.cc",
186 "importers/ftrace/rss_stat_tracker.h",
Mikhail Khokhlov81491b92019-12-19 13:58:22 +0000187 "importers/ftrace/sched_event_tracker.cc",
188 "importers/ftrace/sched_event_tracker.h",
Lalit Maganti6d1f7b52020-02-27 13:16:44 +0000189 "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 Maganti9d538bd2020-03-12 23:48:16 +0000195 "importers/gzip/gzip_trace_parser.cc",
196 "importers/gzip/gzip_trace_parser.h",
Lalit Maganti0bfeb972020-03-14 03:57:30 +0000197 "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 Khokhlov9996d5d2019-12-17 14:43:17 +0000203 "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 Mayer19ce3952020-04-08 15:27:32 +0200207 "importers/proto/android_probes_tracker.cc",
208 "importers/proto/android_probes_tracker.h",
Mikhail Khokhlov692087e2019-12-11 10:53:45 +0000209 "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 Khokhlov6146a582019-12-17 17:33:47 +0000213 "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 Khokhlov04f6eb72019-12-17 14:33:11 +0000219 "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 Khokhlov692087e2019-12-11 10:53:45 +0000223 "importers/proto/vulkan_memory_tracker.cc",
224 "importers/proto/vulkan_memory_tracker.h",
Lalit Maganticda68652020-04-14 21:01:01 +0100225 "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 Maganti2f0b41d2020-02-27 13:35:39 +0000231 "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 Khokhlov81491b92019-12-19 13:58:22 +0000235 "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 Khokhlov692087e2019-12-11 10:53:45 +0000239 ]
Primiano Tucci2925e9d2020-01-27 10:15:58 +0000240 public_deps = [ ":storage_minimal" ]
Mikhail Khokhlov692087e2019-12-11 10:53:45 +0000241 deps = [
Lalit Maganti655adae2020-04-14 21:01:25 +0100242 ":ftrace_descriptors",
Raymond Chiu1f1ea142019-12-13 16:59:35 -0800243 "../../include/perfetto/ext/base:base",
Mikhail Khokhlov04f6eb72019-12-17 14:33:11 +0000244 "../../include/perfetto/ext/traced:sys_stats_counters",
Mikhail Khokhlov692087e2019-12-11 10:53:45 +0000245 "../../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 Maganticcdcbae2020-04-15 14:31:40 +0100251 "importers:common",
Lalit Maganti7010b332020-02-07 10:51:15 +0000252 "storage",
Lalit Maganti83b53fa2020-01-13 12:55:36 +0000253 "types",
Mikhail Khokhlov692087e2019-12-11 10:53:45 +0000254 ]
255 if (enable_perfetto_trace_processor_json) {
Lalit Maganti6d1f7b52020-02-27 13:16:44 +0000256 deps += [ "../../gn:jsoncpp" ]
Mikhail Khokhlov692087e2019-12-11 10:53:45 +0000257 }
258}
259
Lalit Maganti0bfeb972020-03-14 03:57:30 +0000260source_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 Maganti0faddc42020-04-10 17:58:24 +0100270 "types",
Lalit Maganti0bfeb972020-03-14 03:57:30 +0000271 ]
272 public_deps = [ "../../include/perfetto/ext/trace_processor:export_json" ]
273 if (enable_perfetto_trace_processor_json) {
274 deps += [ "../../gn:jsoncpp" ]
Eric Secklera7870e62019-11-01 10:11:58 +0000275 }
276}
277
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000278if (enable_perfetto_trace_processor_sqlite) {
279 source_set("lib") {
280 sources = [
Lalit Maganti1f4712b2020-04-14 21:01:13 +0100281 "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 Dearman5b523762020-04-16 10:36:32 +0100287 "dynamic/experimental_slice_layout_generator.cc",
288 "dynamic/experimental_slice_layout_generator.h",
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000289 "read_trace.cc",
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000290 "trace_processor.cc",
291 "trace_processor_impl.cc",
292 "trace_processor_impl.h",
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000293 ]
Eric Secklera7870e62019-11-01 10:11:58 +0000294
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000295 deps = [
Lalit Maganti0bfeb972020-03-14 03:57:30 +0000296 ":export_json",
Lalit Maganti427b8332020-05-27 16:09:45 +0100297 ":metatrace",
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000298 ":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 Maganti97d7d472020-04-07 18:49:17 +0100305 "analysis",
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000306 "db:lib",
Lalit Maganticcdcbae2020-04-15 14:31:40 +0100307 "importers:common",
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000308 "metrics:lib",
309 "sqlite",
Lalit Maganti7010b332020-02-07 10:51:15 +0000310 "storage",
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000311 "tables",
312 "types",
313 ]
Primiano Tucci2925e9d2020-01-27 10:15:58 +0000314 public_deps = [ "../../include/perfetto/trace_processor" ]
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000315 if (enable_perfetto_trace_processor_json) {
Lalit Maganti0bfeb972020-03-14 03:57:30 +0000316 deps += [ "../../gn:jsoncpp" ]
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000317 }
Eric Secklera7870e62019-11-01 10:11:58 +0000318 }
Eric Secklera7870e62019-11-01 10:11:58 +0000319
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000320 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 Maganti2ae24642020-04-16 13:14:17 +0100329 "util",
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000330 ]
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 Khokhlov0f7e68d2020-01-16 15:39:27 +0000341 "trace_processor_shell.cc",
Lalit Maganti3d9bbff2020-04-15 13:40:58 +0100342 "util/proto_to_json.cc",
343 "util/proto_to_json.h",
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000344 ]
Eric Secklerc622b8b2019-10-21 09:54:00 +0100345 }
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000346} # if (enable_perfetto_trace_processor_sqlite)
Primiano Tucci5968caf2018-08-06 10:31:46 +0100347
Primiano Tucci02c11762019-08-30 00:57:59 +0200348perfetto_unittest_source_set("unittests") {
Lalit Maganticaed37e2018-06-01 03:03:08 +0100349 testonly = true
Lalit Maganti93b76362018-06-01 03:03:58 +0100350 sources = [
Hector Dearmand8c3d5c2019-08-06 13:28:23 +0100351 "forwarding_trace_parser_unittest.cc",
Lalit Maganticcdcbae2020-04-15 14:31:40 +0100352 "importers/ftrace/sched_event_tracker_unittest.cc",
Lalit Maganti6d1f7b52020-02-27 13:16:44 +0000353 "importers/fuchsia/fuchsia_trace_utils_unittest.cc",
Stephen Nuskobc76a6c2019-12-03 11:55:27 +0000354 "importers/proto/args_table_utils_unittest.cc",
Florian Mayerc9bb0472020-01-17 11:29:59 +0000355 "importers/proto/heap_graph_tracker_unittest.cc",
Mikhail Khokhlov6146a582019-12-17 17:33:47 +0000356 "importers/proto/heap_graph_walker_unittest.cc",
Lalit Maganti05819e22020-04-14 21:01:38 +0100357 "importers/proto/heap_profile_tracker_unittest.cc",
Eric Seckler137a4672019-10-24 08:51:14 +0100358 "importers/proto/proto_trace_parser_unittest.cc",
Lalit Maganticda68652020-04-14 21:01:01 +0100359 "importers/syscalls/syscall_tracker_unittest.cc",
Eric Secklerd8b52082019-10-17 15:58:38 +0100360 "importers/systrace/systrace_parser_unittest.cc",
Primiano Tuccid933d912018-09-04 09:15:07 +0100361 "trace_sorter_unittest.cc",
Lalit Maganti93b76362018-06-01 03:03:58 +0100362 ]
Lalit Maganticaed37e2018-06-01 03:03:08 +0100363 deps = [
Mikhail Khokhlov692087e2019-12-11 10:53:45 +0000364 ":storage_full",
Lalit Maganticaed37e2018-06-01 03:03:08 +0100365 "../../gn:default_deps",
Primiano Tucci13ae72f2019-06-06 10:53:02 +0100366 "../../gn:gtest_and_gmock",
Primiano Tuccie5f11682019-03-22 07:21:49 +0000367 "../../protos/perfetto/common:zero",
Primiano Tucci355b8c82019-08-29 08:37:51 +0200368 "../../protos/perfetto/trace:minimal_zero",
Primiano Tuccie5f11682019-03-22 07:21:49 +0000369 "../../protos/perfetto/trace:zero",
Ryan Savitski0476ee92019-07-09 14:29:33 +0100370 "../../protos/perfetto/trace/android:zero",
Mikhail Khokhlovdb84f102019-05-24 15:25:47 +0100371 "../../protos/perfetto/trace/chrome:zero",
Primiano Tuccie5f11682019-03-22 07:21:49 +0000372 "../../protos/perfetto/trace/ftrace:zero",
Raymond Chiu994a35d2019-06-12 16:37:26 -0700373 "../../protos/perfetto/trace/gpu:zero",
Eric Seckler56a007d2019-05-02 16:25:14 +0100374 "../../protos/perfetto/trace/interned_data:zero",
Primiano Tuccie5f11682019-03-22 07:21:49 +0000375 "../../protos/perfetto/trace/ps:zero",
376 "../../protos/perfetto/trace/sys_stats:zero",
Eric Seckler56a007d2019-05-02 16:25:14 +0100377 "../../protos/perfetto/trace/track_event:zero",
Lalit Magantidf3e9262018-06-04 17:45:00 +0100378 "../base",
Primiano Tuccie5f11682019-03-22 07:21:49 +0000379 "../protozero",
Stephen Nuskobc76a6c2019-12-03 11:55:27 +0000380 "../protozero:testing_messages_zero",
Lalit Maganti2aa88582019-12-17 17:06:49 +0000381 "containers:unittests",
Lalit Maganticf39caa2019-08-21 14:00:08 -0700382 "db:unittests",
Lalit Maganticcdcbae2020-04-15 14:31:40 +0100383 "importers:common",
384 "importers:unittests",
Lalit Maganti7010b332020-02-07 10:51:15 +0000385 "storage",
Lalit Maganti6dc35462019-08-29 13:24:07 +0100386 "tables:unittests",
Lalit Maganti0faddc42020-04-10 17:58:24 +0100387 "types",
Lalit Maganti616bc082020-04-09 19:03:12 +0100388 "types:unittests",
Lalit Magantie7107402020-04-15 13:41:12 +0100389 "util:unittests",
Lalit Maganticaed37e2018-06-01 03:03:08 +0100390 ]
Mikhail Khokhlov2bcfb352019-12-20 10:19:58 +0000391
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000392 if (enable_perfetto_trace_processor_sqlite) {
Hector Dearman5b523762020-04-16 10:36:32 +0100393 sources += [
394 "dynamic/experimental_counter_dur_generator_unittest.cc",
395 "dynamic/experimental_slice_layout_generator_unittest.cc",
396 ]
Lalit Magantib30edd42020-02-10 13:31:09 -0500397 deps += [
398 ":lib",
Eric Secklerc7b6ede2020-02-11 07:49:28 +0000399 "../../gn:sqlite",
Lalit Magantib30edd42020-02-10 13:31:09 -0500400 "sqlite:unittests",
401 ]
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000402 }
403
Primiano Tucci02c11762019-08-30 00:57:59 +0200404 if (enable_perfetto_trace_processor_json) {
Lalit Maganti6d1f7b52020-02-27 13:16:44 +0000405 sources += [
406 "importers/json/json_trace_tokenizer_unittest.cc",
Lalit Maganti6d1f7b52020-02-27 13:16:44 +0000407 "importers/json/json_tracker_unittest.cc",
Lalit Maganti0bfeb972020-03-14 03:57:30 +0000408 "importers/json/json_utils_unittest.cc",
Lalit Maganti6d1f7b52020-02-27 13:16:44 +0000409 ]
410 deps += [ "../../gn:jsoncpp" ]
411
Primiano Tucci5e96c4e2019-09-02 23:24:26 +0100412 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 Secklera7870e62019-11-01 10:11:58 +0000416 deps += [
417 ":export_json",
418 "../../include/perfetto/ext/trace_processor:export_json",
419 ]
Primiano Tucci5e96c4e2019-09-02 23:24:26 +0100420 }
Hector Dearmane690b2d2018-11-14 10:57:02 +0000421 }
Lalit Maganticaed37e2018-06-01 03:03:08 +0100422}
Hector Dearman7f71d0e2018-08-09 11:26:10 +0100423
424source_set("integrationtests") {
425 testonly = true
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000426 sources = []
427 deps = []
428 if (enable_perfetto_trace_processor_sqlite) {
Lalit Maganti9d538bd2020-03-12 23:48:16 +0000429 sources += [
430 "read_trace_integrationtest.cc",
431 "trace_database_integrationtest.cc",
432 ]
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000433 deps += [
434 ":lib",
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000435 "../../gn:default_deps",
436 "../../gn:gtest_and_gmock",
Lalit Maganti9d538bd2020-03-12 23:48:16 +0000437 "../../protos/perfetto/trace:zero",
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000438 "../base",
439 "../base:test_support",
440 "sqlite",
441 ]
Lalit Maganti6d1f7b52020-02-27 13:16:44 +0000442 if (enable_perfetto_trace_processor_json) {
Mikhail Khokhlov0f7e68d2020-01-16 15:39:27 +0000443 deps += [ "../../gn:jsoncpp" ]
444 }
Deepanjan Roy01994ca2019-04-02 11:05:34 -0700445 }
Hector Dearman7f71d0e2018-08-09 11:26:10 +0100446}
Hector Dearman59bc02d2019-02-21 17:28:11 +0000447
Mikhail Khokhlov90f09f62019-12-17 12:53:51 +0000448if (enable_perfetto_trace_processor_json) {
449 source_set("storage_minimal_smoke_tests") {
450 testonly = true
Primiano Tucci2925e9d2020-01-27 10:15:58 +0000451 sources = [ "storage_minimal_smoke_test.cc" ]
Mikhail Khokhlov90f09f62019-12-17 12:53:51 +0000452 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 Dearman59bc02d2019-02-21 17:28:11 +0000464perfetto_fuzzer_test("trace_processor_fuzzer") {
465 testonly = true
Primiano Tucci2925e9d2020-01-27 10:15:58 +0000466 sources = [ "trace_parsing_fuzzer.cc" ]
Hector Dearman59bc02d2019-02-21 17:28:11 +0000467 deps = [
Mikhail Khokhlov692087e2019-12-11 10:53:45 +0000468 ":storage_full",
Hector Dearman59bc02d2019-02-21 17:28:11 +0000469 "../../gn:default_deps",
Hector Dearman59bc02d2019-02-21 17:28:11 +0000470 "../base",
Hector Dearman59bc02d2019-02-21 17:28:11 +0000471 ]
472}