1# Copyright (C) 2019 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#
15# This file is automatically generated by tools/gen_build. Do not edit.
16
17package(default_visibility = ["//visibility:public"])
18
19licenses(["notice"])  # Apache 2.0
20
21exports_files(["LICENSE"])
22
23# GN target: //src/trace_processor/metrics:gen_merged_sql_metrics
24genrule(
25    name = "gen_merged_sql_metrics",
26    srcs = [
27        "src/trace_processor/metrics/android/android_mem.sql",
28        "src/trace_processor/metrics/android/android_mem_lmk.sql",
29    ],
30    outs = [
31        "src/trace_processor/metrics/sql_metrics.h",
32    ],
33    cmd = "$(location gen_merged_sql_metrics_py) --cpp_out=$@ $(SRCS)",
34    tools = [
35        "gen_merged_sql_metrics_py",
36    ],
37)
38
39# GN target: //src/protozero:libprotozero
40cc_library(
41    name = "libprotozero",
42    srcs = [
43        "src/base/event.cc",
44        "src/base/file_utils.cc",
45        "src/base/metatrace.cc",
46        "src/base/paged_memory.cc",
47        "src/base/pipe.cc",
48        "src/base/string_splitter.cc",
49        "src/base/string_utils.cc",
50        "src/base/string_view.cc",
51        "src/base/temp_file.cc",
52        "src/base/thread_checker.cc",
53        "src/base/thread_task_runner.cc",
54        "src/base/time.cc",
55        "src/base/unix_task_runner.cc",
56        "src/base/virtual_destructors.cc",
57        "src/base/watchdog_posix.cc",
58        "src/protozero/message.cc",
59        "src/protozero/message_handle.cc",
60        "src/protozero/proto_decoder.cc",
61        "src/protozero/scattered_heap_buffer.cc",
62        "src/protozero/scattered_stream_null_delegate.cc",
63        "src/protozero/scattered_stream_writer.cc",
64    ],
65    hdrs = [
66        "include/perfetto/base/build_config.h",
67        "include/perfetto/base/circular_queue.h",
68        "include/perfetto/base/container_annotations.h",
69        "include/perfetto/base/event.h",
70        "include/perfetto/base/export.h",
71        "include/perfetto/base/file_utils.h",
72        "include/perfetto/base/gtest_prod_util.h",
73        "include/perfetto/base/hash.h",
74        "include/perfetto/base/logging.h",
75        "include/perfetto/base/metatrace.h",
76        "include/perfetto/base/no_destructor.h",
77        "include/perfetto/base/optional.h",
78        "include/perfetto/base/paged_memory.h",
79        "include/perfetto/base/pipe.h",
80        "include/perfetto/base/scoped_file.h",
81        "include/perfetto/base/small_set.h",
82        "include/perfetto/base/string_splitter.h",
83        "include/perfetto/base/string_utils.h",
84        "include/perfetto/base/string_view.h",
85        "include/perfetto/base/string_writer.h",
86        "include/perfetto/base/task_runner.h",
87        "include/perfetto/base/temp_file.h",
88        "include/perfetto/base/thread_annotations.h",
89        "include/perfetto/base/thread_checker.h",
90        "include/perfetto/base/thread_task_runner.h",
91        "include/perfetto/base/thread_utils.h",
92        "include/perfetto/base/time.h",
93        "include/perfetto/base/unix_socket.h",
94        "include/perfetto/base/unix_task_runner.h",
95        "include/perfetto/base/utils.h",
96        "include/perfetto/base/watchdog.h",
97        "include/perfetto/base/watchdog_noop.h",
98        "include/perfetto/base/watchdog_posix.h",
99        "include/perfetto/base/weak_ptr.h",
100        "include/perfetto/protozero/contiguous_memory_range.h",
101        "include/perfetto/protozero/field.h",
102        "include/perfetto/protozero/message.h",
103        "include/perfetto/protozero/message_handle.h",
104        "include/perfetto/protozero/proto_decoder.h",
105        "include/perfetto/protozero/proto_utils.h",
106        "include/perfetto/protozero/scattered_heap_buffer.h",
107        "include/perfetto/protozero/scattered_stream_null_delegate.h",
108        "include/perfetto/protozero/scattered_stream_writer.h",
109    ],
110    deps = [
111        "//third_party/perfetto/google:gtest_prod",
112    ],
113)
114
115# GN target: //src/protozero/protoc_plugin:protoc_plugin
116cc_binary(
117    name = "src_protozero_protoc_plugin_protoc_plugin",
118    srcs = [
119        "src/protozero/protoc_plugin/protozero_generator.cc",
120        "src/protozero/protoc_plugin/protozero_generator.h",
121        "src/protozero/protoc_plugin/protozero_plugin.cc",
122    ],
123    deps = [
124        "//third_party/protobuf",
125        "//third_party/protobuf:libprotoc",
126    ],
127)
128
129# GN target: //src/trace_processor:trace_processor
130cc_library(
131    name = "trace_processor",
132    srcs = [
133        "src/base/event.cc",
134        "src/base/file_utils.cc",
135        "src/base/metatrace.cc",
136        "src/base/paged_memory.cc",
137        "src/base/pipe.cc",
138        "src/base/string_splitter.cc",
139        "src/base/string_utils.cc",
140        "src/base/string_view.cc",
141        "src/base/temp_file.cc",
142        "src/base/thread_checker.cc",
143        "src/base/thread_task_runner.cc",
144        "src/base/time.cc",
145        "src/base/unix_task_runner.cc",
146        "src/base/virtual_destructors.cc",
147        "src/base/watchdog_posix.cc",
148        "src/protozero/message.cc",
149        "src/protozero/message_handle.cc",
150        "src/protozero/proto_decoder.cc",
151        "src/protozero/scattered_heap_buffer.cc",
152        "src/protozero/scattered_stream_null_delegate.cc",
153        "src/protozero/scattered_stream_writer.cc",
154        "src/trace_processor/android_logs_table.cc",
155        "src/trace_processor/android_logs_table.h",
156        "src/trace_processor/args_table.cc",
157        "src/trace_processor/args_table.h",
158        "src/trace_processor/args_tracker.cc",
159        "src/trace_processor/args_tracker.h",
160        "src/trace_processor/chunked_trace_reader.h",
161        "src/trace_processor/clock_tracker.cc",
162        "src/trace_processor/clock_tracker.h",
163        "src/trace_processor/counter_definitions_table.cc",
164        "src/trace_processor/counter_definitions_table.h",
165        "src/trace_processor/counter_values_table.cc",
166        "src/trace_processor/counter_values_table.h",
167        "src/trace_processor/event_tracker.cc",
168        "src/trace_processor/event_tracker.h",
169        "src/trace_processor/filtered_row_index.cc",
170        "src/trace_processor/filtered_row_index.h",
171        "src/trace_processor/ftrace_descriptors.cc",
172        "src/trace_processor/ftrace_descriptors.h",
173        "src/trace_processor/ftrace_utils.cc",
174        "src/trace_processor/ftrace_utils.h",
175        "src/trace_processor/fuchsia_provider_view.cc",
176        "src/trace_processor/fuchsia_provider_view.h",
177        "src/trace_processor/fuchsia_trace_parser.cc",
178        "src/trace_processor/fuchsia_trace_parser.h",
179        "src/trace_processor/fuchsia_trace_tokenizer.cc",
180        "src/trace_processor/fuchsia_trace_tokenizer.h",
181        "src/trace_processor/fuchsia_trace_utils.cc",
182        "src/trace_processor/fuchsia_trace_utils.h",
183        "src/trace_processor/heap_profile_tracker.cc",
184        "src/trace_processor/heap_profile_tracker.h",
185        "src/trace_processor/instants_table.cc",
186        "src/trace_processor/instants_table.h",
187        "src/trace_processor/json_trace_parser.cc",
188        "src/trace_processor/json_trace_parser.h",
189        "src/trace_processor/json_trace_tokenizer.cc",
190        "src/trace_processor/json_trace_tokenizer.h",
191        "src/trace_processor/json_trace_utils.cc",
192        "src/trace_processor/json_trace_utils.h",
193        "src/trace_processor/metrics/metrics.cc",
194        "src/trace_processor/metrics/metrics.h",
195        "src/trace_processor/metrics/sql_metrics.h",
196        "src/trace_processor/null_term_string_view.h",
197        "src/trace_processor/process_table.cc",
198        "src/trace_processor/process_table.h",
199        "src/trace_processor/process_tracker.cc",
200        "src/trace_processor/process_tracker.h",
201        "src/trace_processor/proto_incremental_state.h",
202        "src/trace_processor/proto_trace_parser.cc",
203        "src/trace_processor/proto_trace_parser.h",
204        "src/trace_processor/proto_trace_tokenizer.cc",
205        "src/trace_processor/proto_trace_tokenizer.h",
206        "src/trace_processor/query_constraints.cc",
207        "src/trace_processor/query_constraints.h",
208        "src/trace_processor/raw_table.cc",
209        "src/trace_processor/raw_table.h",
210        "src/trace_processor/row_iterators.cc",
211        "src/trace_processor/row_iterators.h",
212        "src/trace_processor/sched_slice_table.cc",
213        "src/trace_processor/sched_slice_table.h",
214        "src/trace_processor/scoped_db.h",
215        "src/trace_processor/slice_table.cc",
216        "src/trace_processor/slice_table.h",
217        "src/trace_processor/slice_tracker.cc",
218        "src/trace_processor/slice_tracker.h",
219        "src/trace_processor/span_join_operator_table.cc",
220        "src/trace_processor/span_join_operator_table.h",
221        "src/trace_processor/sql_stats_table.cc",
222        "src/trace_processor/sql_stats_table.h",
223        "src/trace_processor/sqlite3_str_split.cc",
224        "src/trace_processor/sqlite3_str_split.h",
225        "src/trace_processor/sqlite_utils.h",
226        "src/trace_processor/stats.h",
227        "src/trace_processor/stats_table.cc",
228        "src/trace_processor/stats_table.h",
229        "src/trace_processor/storage_columns.cc",
230        "src/trace_processor/storage_columns.h",
231        "src/trace_processor/storage_schema.cc",
232        "src/trace_processor/storage_schema.h",
233        "src/trace_processor/storage_table.cc",
234        "src/trace_processor/storage_table.h",
235        "src/trace_processor/string_pool.cc",
236        "src/trace_processor/string_pool.h",
237        "src/trace_processor/string_table.cc",
238        "src/trace_processor/string_table.h",
239        "src/trace_processor/syscall_tracker.cc",
240        "src/trace_processor/syscall_tracker.h",
241        "src/trace_processor/syscalls_aarch32.h",
242        "src/trace_processor/syscalls_aarch64.h",
243        "src/trace_processor/syscalls_armeabi.h",
244        "src/trace_processor/syscalls_x86_64.h",
245        "src/trace_processor/table.cc",
246        "src/trace_processor/table.h",
247        "src/trace_processor/thread_table.cc",
248        "src/trace_processor/thread_table.h",
249        "src/trace_processor/trace_blob_view.h",
250        "src/trace_processor/trace_parser.h",
251        "src/trace_processor/trace_processor.cc",
252        "src/trace_processor/trace_processor_context.cc",
253        "src/trace_processor/trace_processor_context.h",
254        "src/trace_processor/trace_processor_impl.cc",
255        "src/trace_processor/trace_processor_impl.h",
256        "src/trace_processor/trace_sorter.cc",
257        "src/trace_processor/trace_sorter.h",
258        "src/trace_processor/trace_storage.cc",
259        "src/trace_processor/trace_storage.h",
260        "src/trace_processor/virtual_destructors.cc",
261        "src/trace_processor/window_operator_table.cc",
262        "src/trace_processor/window_operator_table.h",
263    ],
264    hdrs = [
265        "include/perfetto/base/build_config.h",
266        "include/perfetto/base/circular_queue.h",
267        "include/perfetto/base/container_annotations.h",
268        "include/perfetto/base/event.h",
269        "include/perfetto/base/export.h",
270        "include/perfetto/base/file_utils.h",
271        "include/perfetto/base/gtest_prod_util.h",
272        "include/perfetto/base/hash.h",
273        "include/perfetto/base/logging.h",
274        "include/perfetto/base/metatrace.h",
275        "include/perfetto/base/no_destructor.h",
276        "include/perfetto/base/optional.h",
277        "include/perfetto/base/paged_memory.h",
278        "include/perfetto/base/pipe.h",
279        "include/perfetto/base/scoped_file.h",
280        "include/perfetto/base/small_set.h",
281        "include/perfetto/base/string_splitter.h",
282        "include/perfetto/base/string_utils.h",
283        "include/perfetto/base/string_view.h",
284        "include/perfetto/base/string_writer.h",
285        "include/perfetto/base/task_runner.h",
286        "include/perfetto/base/temp_file.h",
287        "include/perfetto/base/thread_annotations.h",
288        "include/perfetto/base/thread_checker.h",
289        "include/perfetto/base/thread_task_runner.h",
290        "include/perfetto/base/thread_utils.h",
291        "include/perfetto/base/time.h",
292        "include/perfetto/base/unix_socket.h",
293        "include/perfetto/base/unix_task_runner.h",
294        "include/perfetto/base/utils.h",
295        "include/perfetto/base/watchdog.h",
296        "include/perfetto/base/watchdog_noop.h",
297        "include/perfetto/base/watchdog_posix.h",
298        "include/perfetto/base/weak_ptr.h",
299        "include/perfetto/protozero/contiguous_memory_range.h",
300        "include/perfetto/protozero/field.h",
301        "include/perfetto/protozero/message.h",
302        "include/perfetto/protozero/message_handle.h",
303        "include/perfetto/protozero/proto_decoder.h",
304        "include/perfetto/protozero/proto_utils.h",
305        "include/perfetto/protozero/scattered_heap_buffer.h",
306        "include/perfetto/protozero/scattered_stream_null_delegate.h",
307        "include/perfetto/protozero/scattered_stream_writer.h",
308        "include/perfetto/trace_processor/basic_types.h",
309        "include/perfetto/trace_processor/trace_processor.h",
310        "include/perfetto/traced/sys_stats_counters.h",
311    ],
312    deps = [
313        "//third_party/perfetto:gen_merged_sql_metrics",
314        "//third_party/perfetto/google:gtest_prod",
315        "//third_party/perfetto/google:jsoncpp",
316        "//third_party/perfetto/protos:common_zero_cc_proto",
317        "//third_party/perfetto/protos:config_zero_cc_proto",
318        "//third_party/perfetto/protos:metrics_android_zero_cc_proto",
319        "//third_party/perfetto/protos:metrics_zero_cc_proto",
320        "//third_party/perfetto/protos:trace_android_zero_cc_proto",
321        "//third_party/perfetto/protos:trace_chrome_zero_cc_proto",
322        "//third_party/perfetto/protos:trace_filesystem_zero_cc_proto",
323        "//third_party/perfetto/protos:trace_ftrace_zero_cc_proto",
324        "//third_party/perfetto/protos:trace_interned_data_zero_cc_proto",
325        "//third_party/perfetto/protos:trace_power_zero_cc_proto",
326        "//third_party/perfetto/protos:trace_profiling_zero_cc_proto",
327        "//third_party/perfetto/protos:trace_ps_zero_cc_proto",
328        "//third_party/perfetto/protos:trace_sys_stats_zero_cc_proto",
329        "//third_party/perfetto/protos:trace_track_event_zero_cc_proto",
330        "//third_party/perfetto/protos:trace_zero_cc_proto",
331        "//third_party/sqlite",
332        "//third_party/sqlite:sqlite_ext_percentile",
333    ],
334)
335
336# GN target: //src/trace_processor:trace_processor_shell_host
337cc_binary(
338    name = "trace_processor_shell",
339    srcs = [
340        "include/perfetto/base/build_config.h",
341        "include/perfetto/base/circular_queue.h",
342        "include/perfetto/base/container_annotations.h",
343        "include/perfetto/base/event.h",
344        "include/perfetto/base/export.h",
345        "include/perfetto/base/file_utils.h",
346        "include/perfetto/base/gtest_prod_util.h",
347        "include/perfetto/base/hash.h",
348        "include/perfetto/base/logging.h",
349        "include/perfetto/base/metatrace.h",
350        "include/perfetto/base/no_destructor.h",
351        "include/perfetto/base/optional.h",
352        "include/perfetto/base/paged_memory.h",
353        "include/perfetto/base/pipe.h",
354        "include/perfetto/base/scoped_file.h",
355        "include/perfetto/base/small_set.h",
356        "include/perfetto/base/string_splitter.h",
357        "include/perfetto/base/string_utils.h",
358        "include/perfetto/base/string_view.h",
359        "include/perfetto/base/string_writer.h",
360        "include/perfetto/base/task_runner.h",
361        "include/perfetto/base/temp_file.h",
362        "include/perfetto/base/thread_annotations.h",
363        "include/perfetto/base/thread_checker.h",
364        "include/perfetto/base/thread_task_runner.h",
365        "include/perfetto/base/thread_utils.h",
366        "include/perfetto/base/time.h",
367        "include/perfetto/base/unix_socket.h",
368        "include/perfetto/base/unix_task_runner.h",
369        "include/perfetto/base/utils.h",
370        "include/perfetto/base/watchdog.h",
371        "include/perfetto/base/watchdog_noop.h",
372        "include/perfetto/base/watchdog_posix.h",
373        "include/perfetto/base/weak_ptr.h",
374        "include/perfetto/protozero/contiguous_memory_range.h",
375        "include/perfetto/protozero/field.h",
376        "include/perfetto/protozero/message.h",
377        "include/perfetto/protozero/message_handle.h",
378        "include/perfetto/protozero/proto_decoder.h",
379        "include/perfetto/protozero/proto_utils.h",
380        "include/perfetto/protozero/scattered_heap_buffer.h",
381        "include/perfetto/protozero/scattered_stream_null_delegate.h",
382        "include/perfetto/protozero/scattered_stream_writer.h",
383        "include/perfetto/trace_processor/basic_types.h",
384        "include/perfetto/trace_processor/trace_processor.h",
385        "include/perfetto/traced/sys_stats_counters.h",
386        "src/base/event.cc",
387        "src/base/file_utils.cc",
388        "src/base/metatrace.cc",
389        "src/base/paged_memory.cc",
390        "src/base/pipe.cc",
391        "src/base/string_splitter.cc",
392        "src/base/string_utils.cc",
393        "src/base/string_view.cc",
394        "src/base/temp_file.cc",
395        "src/base/thread_checker.cc",
396        "src/base/thread_task_runner.cc",
397        "src/base/time.cc",
398        "src/base/unix_task_runner.cc",
399        "src/base/virtual_destructors.cc",
400        "src/base/watchdog_posix.cc",
401        "src/protozero/message.cc",
402        "src/protozero/message_handle.cc",
403        "src/protozero/proto_decoder.cc",
404        "src/protozero/scattered_heap_buffer.cc",
405        "src/protozero/scattered_stream_null_delegate.cc",
406        "src/protozero/scattered_stream_writer.cc",
407        "src/trace_processor/android_logs_table.cc",
408        "src/trace_processor/android_logs_table.h",
409        "src/trace_processor/args_table.cc",
410        "src/trace_processor/args_table.h",
411        "src/trace_processor/args_tracker.cc",
412        "src/trace_processor/args_tracker.h",
413        "src/trace_processor/chunked_trace_reader.h",
414        "src/trace_processor/clock_tracker.cc",
415        "src/trace_processor/clock_tracker.h",
416        "src/trace_processor/counter_definitions_table.cc",
417        "src/trace_processor/counter_definitions_table.h",
418        "src/trace_processor/counter_values_table.cc",
419        "src/trace_processor/counter_values_table.h",
420        "src/trace_processor/event_tracker.cc",
421        "src/trace_processor/event_tracker.h",
422        "src/trace_processor/filtered_row_index.cc",
423        "src/trace_processor/filtered_row_index.h",
424        "src/trace_processor/ftrace_descriptors.cc",
425        "src/trace_processor/ftrace_descriptors.h",
426        "src/trace_processor/ftrace_utils.cc",
427        "src/trace_processor/ftrace_utils.h",
428        "src/trace_processor/fuchsia_provider_view.cc",
429        "src/trace_processor/fuchsia_provider_view.h",
430        "src/trace_processor/fuchsia_trace_parser.cc",
431        "src/trace_processor/fuchsia_trace_parser.h",
432        "src/trace_processor/fuchsia_trace_tokenizer.cc",
433        "src/trace_processor/fuchsia_trace_tokenizer.h",
434        "src/trace_processor/fuchsia_trace_utils.cc",
435        "src/trace_processor/fuchsia_trace_utils.h",
436        "src/trace_processor/heap_profile_tracker.cc",
437        "src/trace_processor/heap_profile_tracker.h",
438        "src/trace_processor/instants_table.cc",
439        "src/trace_processor/instants_table.h",
440        "src/trace_processor/json_trace_parser.cc",
441        "src/trace_processor/json_trace_parser.h",
442        "src/trace_processor/json_trace_tokenizer.cc",
443        "src/trace_processor/json_trace_tokenizer.h",
444        "src/trace_processor/json_trace_utils.cc",
445        "src/trace_processor/json_trace_utils.h",
446        "src/trace_processor/metrics/metrics.cc",
447        "src/trace_processor/metrics/metrics.h",
448        "src/trace_processor/metrics/sql_metrics.h",
449        "src/trace_processor/null_term_string_view.h",
450        "src/trace_processor/process_table.cc",
451        "src/trace_processor/process_table.h",
452        "src/trace_processor/process_tracker.cc",
453        "src/trace_processor/process_tracker.h",
454        "src/trace_processor/proto_incremental_state.h",
455        "src/trace_processor/proto_trace_parser.cc",
456        "src/trace_processor/proto_trace_parser.h",
457        "src/trace_processor/proto_trace_tokenizer.cc",
458        "src/trace_processor/proto_trace_tokenizer.h",
459        "src/trace_processor/query_constraints.cc",
460        "src/trace_processor/query_constraints.h",
461        "src/trace_processor/raw_table.cc",
462        "src/trace_processor/raw_table.h",
463        "src/trace_processor/row_iterators.cc",
464        "src/trace_processor/row_iterators.h",
465        "src/trace_processor/sched_slice_table.cc",
466        "src/trace_processor/sched_slice_table.h",
467        "src/trace_processor/scoped_db.h",
468        "src/trace_processor/slice_table.cc",
469        "src/trace_processor/slice_table.h",
470        "src/trace_processor/slice_tracker.cc",
471        "src/trace_processor/slice_tracker.h",
472        "src/trace_processor/span_join_operator_table.cc",
473        "src/trace_processor/span_join_operator_table.h",
474        "src/trace_processor/sql_stats_table.cc",
475        "src/trace_processor/sql_stats_table.h",
476        "src/trace_processor/sqlite3_str_split.cc",
477        "src/trace_processor/sqlite3_str_split.h",
478        "src/trace_processor/sqlite_utils.h",
479        "src/trace_processor/stats.h",
480        "src/trace_processor/stats_table.cc",
481        "src/trace_processor/stats_table.h",
482        "src/trace_processor/storage_columns.cc",
483        "src/trace_processor/storage_columns.h",
484        "src/trace_processor/storage_schema.cc",
485        "src/trace_processor/storage_schema.h",
486        "src/trace_processor/storage_table.cc",
487        "src/trace_processor/storage_table.h",
488        "src/trace_processor/string_pool.cc",
489        "src/trace_processor/string_pool.h",
490        "src/trace_processor/string_table.cc",
491        "src/trace_processor/string_table.h",
492        "src/trace_processor/syscall_tracker.cc",
493        "src/trace_processor/syscall_tracker.h",
494        "src/trace_processor/syscalls_aarch32.h",
495        "src/trace_processor/syscalls_aarch64.h",
496        "src/trace_processor/syscalls_armeabi.h",
497        "src/trace_processor/syscalls_x86_64.h",
498        "src/trace_processor/table.cc",
499        "src/trace_processor/table.h",
500        "src/trace_processor/thread_table.cc",
501        "src/trace_processor/thread_table.h",
502        "src/trace_processor/trace_blob_view.h",
503        "src/trace_processor/trace_parser.h",
504        "src/trace_processor/trace_processor.cc",
505        "src/trace_processor/trace_processor_context.cc",
506        "src/trace_processor/trace_processor_context.h",
507        "src/trace_processor/trace_processor_impl.cc",
508        "src/trace_processor/trace_processor_impl.h",
509        "src/trace_processor/trace_processor_shell.cc",
510        "src/trace_processor/trace_sorter.cc",
511        "src/trace_processor/trace_sorter.h",
512        "src/trace_processor/trace_storage.cc",
513        "src/trace_processor/trace_storage.h",
514        "src/trace_processor/virtual_destructors.cc",
515        "src/trace_processor/window_operator_table.cc",
516        "src/trace_processor/window_operator_table.h",
517    ],
518    deps = [
519        "//third_party/perfetto:gen_merged_sql_metrics",
520        "//third_party/perfetto/google:gtest_prod",
521        "//third_party/perfetto/google:jsoncpp",
522        "//third_party/perfetto/google:linenoise",
523        "//third_party/perfetto/google:perfetto_version",
524        "//third_party/perfetto/protos:common_zero_cc_proto",
525        "//third_party/perfetto/protos:config_zero_cc_proto",
526        "//third_party/perfetto/protos:metrics_android_zero_cc_proto",
527        "//third_party/perfetto/protos:metrics_zero_cc_proto",
528        "//third_party/perfetto/protos:trace_android_zero_cc_proto",
529        "//third_party/perfetto/protos:trace_chrome_zero_cc_proto",
530        "//third_party/perfetto/protos:trace_filesystem_zero_cc_proto",
531        "//third_party/perfetto/protos:trace_ftrace_zero_cc_proto",
532        "//third_party/perfetto/protos:trace_interned_data_zero_cc_proto",
533        "//third_party/perfetto/protos:trace_power_zero_cc_proto",
534        "//third_party/perfetto/protos:trace_profiling_zero_cc_proto",
535        "//third_party/perfetto/protos:trace_ps_zero_cc_proto",
536        "//third_party/perfetto/protos:trace_sys_stats_zero_cc_proto",
537        "//third_party/perfetto/protos:trace_track_event_zero_cc_proto",
538        "//third_party/perfetto/protos:trace_zero_cc_proto",
539        "//third_party/sqlite",
540        "//third_party/sqlite:sqlite_ext_percentile",
541    ],
542)
543
544# GN target: //tools/trace_to_text:trace_to_text_host
545cc_binary(
546    name = "trace_to_text",
547    srcs = [
548        "include/perfetto/base/build_config.h",
549        "include/perfetto/base/circular_queue.h",
550        "include/perfetto/base/container_annotations.h",
551        "include/perfetto/base/event.h",
552        "include/perfetto/base/export.h",
553        "include/perfetto/base/file_utils.h",
554        "include/perfetto/base/gtest_prod_util.h",
555        "include/perfetto/base/hash.h",
556        "include/perfetto/base/logging.h",
557        "include/perfetto/base/metatrace.h",
558        "include/perfetto/base/no_destructor.h",
559        "include/perfetto/base/optional.h",
560        "include/perfetto/base/paged_memory.h",
561        "include/perfetto/base/pipe.h",
562        "include/perfetto/base/scoped_file.h",
563        "include/perfetto/base/small_set.h",
564        "include/perfetto/base/string_splitter.h",
565        "include/perfetto/base/string_utils.h",
566        "include/perfetto/base/string_view.h",
567        "include/perfetto/base/string_writer.h",
568        "include/perfetto/base/task_runner.h",
569        "include/perfetto/base/temp_file.h",
570        "include/perfetto/base/thread_annotations.h",
571        "include/perfetto/base/thread_checker.h",
572        "include/perfetto/base/thread_task_runner.h",
573        "include/perfetto/base/thread_utils.h",
574        "include/perfetto/base/time.h",
575        "include/perfetto/base/unix_socket.h",
576        "include/perfetto/base/unix_task_runner.h",
577        "include/perfetto/base/utils.h",
578        "include/perfetto/base/watchdog.h",
579        "include/perfetto/base/watchdog_noop.h",
580        "include/perfetto/base/watchdog_posix.h",
581        "include/perfetto/base/weak_ptr.h",
582        "include/perfetto/protozero/contiguous_memory_range.h",
583        "include/perfetto/protozero/field.h",
584        "include/perfetto/protozero/message.h",
585        "include/perfetto/protozero/message_handle.h",
586        "include/perfetto/protozero/proto_decoder.h",
587        "include/perfetto/protozero/proto_utils.h",
588        "include/perfetto/protozero/scattered_heap_buffer.h",
589        "include/perfetto/protozero/scattered_stream_null_delegate.h",
590        "include/perfetto/protozero/scattered_stream_writer.h",
591        "include/perfetto/trace_processor/basic_types.h",
592        "include/perfetto/trace_processor/trace_processor.h",
593        "include/perfetto/traced/sys_stats_counters.h",
594        "src/base/event.cc",
595        "src/base/file_utils.cc",
596        "src/base/metatrace.cc",
597        "src/base/paged_memory.cc",
598        "src/base/pipe.cc",
599        "src/base/string_splitter.cc",
600        "src/base/string_utils.cc",
601        "src/base/string_view.cc",
602        "src/base/temp_file.cc",
603        "src/base/thread_checker.cc",
604        "src/base/thread_task_runner.cc",
605        "src/base/time.cc",
606        "src/base/unix_task_runner.cc",
607        "src/base/virtual_destructors.cc",
608        "src/base/watchdog_posix.cc",
609        "src/protozero/message.cc",
610        "src/protozero/message_handle.cc",
611        "src/protozero/proto_decoder.cc",
612        "src/protozero/scattered_heap_buffer.cc",
613        "src/protozero/scattered_stream_null_delegate.cc",
614        "src/protozero/scattered_stream_writer.cc",
615        "src/trace_processor/android_logs_table.cc",
616        "src/trace_processor/android_logs_table.h",
617        "src/trace_processor/args_table.cc",
618        "src/trace_processor/args_table.h",
619        "src/trace_processor/args_tracker.cc",
620        "src/trace_processor/args_tracker.h",
621        "src/trace_processor/chunked_trace_reader.h",
622        "src/trace_processor/clock_tracker.cc",
623        "src/trace_processor/clock_tracker.h",
624        "src/trace_processor/counter_definitions_table.cc",
625        "src/trace_processor/counter_definitions_table.h",
626        "src/trace_processor/counter_values_table.cc",
627        "src/trace_processor/counter_values_table.h",
628        "src/trace_processor/event_tracker.cc",
629        "src/trace_processor/event_tracker.h",
630        "src/trace_processor/filtered_row_index.cc",
631        "src/trace_processor/filtered_row_index.h",
632        "src/trace_processor/ftrace_descriptors.cc",
633        "src/trace_processor/ftrace_descriptors.h",
634        "src/trace_processor/ftrace_utils.cc",
635        "src/trace_processor/ftrace_utils.h",
636        "src/trace_processor/fuchsia_provider_view.cc",
637        "src/trace_processor/fuchsia_provider_view.h",
638        "src/trace_processor/fuchsia_trace_parser.cc",
639        "src/trace_processor/fuchsia_trace_parser.h",
640        "src/trace_processor/fuchsia_trace_tokenizer.cc",
641        "src/trace_processor/fuchsia_trace_tokenizer.h",
642        "src/trace_processor/fuchsia_trace_utils.cc",
643        "src/trace_processor/fuchsia_trace_utils.h",
644        "src/trace_processor/heap_profile_tracker.cc",
645        "src/trace_processor/heap_profile_tracker.h",
646        "src/trace_processor/instants_table.cc",
647        "src/trace_processor/instants_table.h",
648        "src/trace_processor/json_trace_parser.cc",
649        "src/trace_processor/json_trace_parser.h",
650        "src/trace_processor/json_trace_tokenizer.cc",
651        "src/trace_processor/json_trace_tokenizer.h",
652        "src/trace_processor/json_trace_utils.cc",
653        "src/trace_processor/json_trace_utils.h",
654        "src/trace_processor/metrics/metrics.cc",
655        "src/trace_processor/metrics/metrics.h",
656        "src/trace_processor/metrics/sql_metrics.h",
657        "src/trace_processor/null_term_string_view.h",
658        "src/trace_processor/process_table.cc",
659        "src/trace_processor/process_table.h",
660        "src/trace_processor/process_tracker.cc",
661        "src/trace_processor/process_tracker.h",
662        "src/trace_processor/proto_incremental_state.h",
663        "src/trace_processor/proto_trace_parser.cc",
664        "src/trace_processor/proto_trace_parser.h",
665        "src/trace_processor/proto_trace_tokenizer.cc",
666        "src/trace_processor/proto_trace_tokenizer.h",
667        "src/trace_processor/query_constraints.cc",
668        "src/trace_processor/query_constraints.h",
669        "src/trace_processor/raw_table.cc",
670        "src/trace_processor/raw_table.h",
671        "src/trace_processor/row_iterators.cc",
672        "src/trace_processor/row_iterators.h",
673        "src/trace_processor/sched_slice_table.cc",
674        "src/trace_processor/sched_slice_table.h",
675        "src/trace_processor/scoped_db.h",
676        "src/trace_processor/slice_table.cc",
677        "src/trace_processor/slice_table.h",
678        "src/trace_processor/slice_tracker.cc",
679        "src/trace_processor/slice_tracker.h",
680        "src/trace_processor/span_join_operator_table.cc",
681        "src/trace_processor/span_join_operator_table.h",
682        "src/trace_processor/sql_stats_table.cc",
683        "src/trace_processor/sql_stats_table.h",
684        "src/trace_processor/sqlite3_str_split.cc",
685        "src/trace_processor/sqlite3_str_split.h",
686        "src/trace_processor/sqlite_utils.h",
687        "src/trace_processor/stats.h",
688        "src/trace_processor/stats_table.cc",
689        "src/trace_processor/stats_table.h",
690        "src/trace_processor/storage_columns.cc",
691        "src/trace_processor/storage_columns.h",
692        "src/trace_processor/storage_schema.cc",
693        "src/trace_processor/storage_schema.h",
694        "src/trace_processor/storage_table.cc",
695        "src/trace_processor/storage_table.h",
696        "src/trace_processor/string_pool.cc",
697        "src/trace_processor/string_pool.h",
698        "src/trace_processor/string_table.cc",
699        "src/trace_processor/string_table.h",
700        "src/trace_processor/syscall_tracker.cc",
701        "src/trace_processor/syscall_tracker.h",
702        "src/trace_processor/syscalls_aarch32.h",
703        "src/trace_processor/syscalls_aarch64.h",
704        "src/trace_processor/syscalls_armeabi.h",
705        "src/trace_processor/syscalls_x86_64.h",
706        "src/trace_processor/table.cc",
707        "src/trace_processor/table.h",
708        "src/trace_processor/thread_table.cc",
709        "src/trace_processor/thread_table.h",
710        "src/trace_processor/trace_blob_view.h",
711        "src/trace_processor/trace_parser.h",
712        "src/trace_processor/trace_processor.cc",
713        "src/trace_processor/trace_processor_context.cc",
714        "src/trace_processor/trace_processor_context.h",
715        "src/trace_processor/trace_processor_impl.cc",
716        "src/trace_processor/trace_processor_impl.h",
717        "src/trace_processor/trace_sorter.cc",
718        "src/trace_processor/trace_sorter.h",
719        "src/trace_processor/trace_storage.cc",
720        "src/trace_processor/trace_storage.h",
721        "src/trace_processor/virtual_destructors.cc",
722        "src/trace_processor/window_operator_table.cc",
723        "src/trace_processor/window_operator_table.h",
724        "tools/trace_to_text/main.cc",
725        "tools/trace_to_text/proto_full_utils.cc",
726        "tools/trace_to_text/proto_full_utils.h",
727        "tools/trace_to_text/trace_to_profile.cc",
728        "tools/trace_to_text/trace_to_profile.h",
729        "tools/trace_to_text/trace_to_systrace.cc",
730        "tools/trace_to_text/trace_to_systrace.h",
731        "tools/trace_to_text/trace_to_text.cc",
732        "tools/trace_to_text/trace_to_text.h",
733        "tools/trace_to_text/utils.cc",
734        "tools/trace_to_text/utils.h",
735    ],
736    deps = [
737        "//third_party/perfetto:gen_merged_sql_metrics",
738        "//third_party/perfetto/google:gtest_prod",
739        "//third_party/perfetto/google:jsoncpp",
740        "//third_party/perfetto/google:perfetto_version",
741        "//third_party/perfetto/protos:common_cc_proto",
742        "//third_party/perfetto/protos:common_zero_cc_proto",
743        "//third_party/perfetto/protos:config_cc_proto",
744        "//third_party/perfetto/protos:config_zero_cc_proto",
745        "//third_party/perfetto/protos:metrics_android_zero_cc_proto",
746        "//third_party/perfetto/protos:metrics_zero_cc_proto",
747        "//third_party/perfetto/protos:protos_third_party_pprof_cc_proto",
748        "//third_party/perfetto/protos:trace_android_cc_proto",
749        "//third_party/perfetto/protos:trace_android_zero_cc_proto",
750        "//third_party/perfetto/protos:trace_cc_proto",
751        "//third_party/perfetto/protos:trace_chrome_cc_proto",
752        "//third_party/perfetto/protos:trace_chrome_zero_cc_proto",
753        "//third_party/perfetto/protos:trace_filesystem_cc_proto",
754        "//third_party/perfetto/protos:trace_filesystem_zero_cc_proto",
755        "//third_party/perfetto/protos:trace_ftrace_cc_proto",
756        "//third_party/perfetto/protos:trace_ftrace_zero_cc_proto",
757        "//third_party/perfetto/protos:trace_interned_data_cc_proto",
758        "//third_party/perfetto/protos:trace_interned_data_zero_cc_proto",
759        "//third_party/perfetto/protos:trace_minimal_cc_proto",
760        "//third_party/perfetto/protos:trace_power_cc_proto",
761        "//third_party/perfetto/protos:trace_power_zero_cc_proto",
762        "//third_party/perfetto/protos:trace_profiling_cc_proto",
763        "//third_party/perfetto/protos:trace_profiling_zero_cc_proto",
764        "//third_party/perfetto/protos:trace_ps_cc_proto",
765        "//third_party/perfetto/protos:trace_ps_zero_cc_proto",
766        "//third_party/perfetto/protos:trace_sys_stats_cc_proto",
767        "//third_party/perfetto/protos:trace_sys_stats_zero_cc_proto",
768        "//third_party/perfetto/protos:trace_track_event_cc_proto",
769        "//third_party/perfetto/protos:trace_track_event_zero_cc_proto",
770        "//third_party/perfetto/protos:trace_zero_cc_proto",
771        "//third_party/protobuf",
772        "//third_party/protobuf:libprotoc",
773        "//third_party/sqlite",
774        "//third_party/sqlite:sqlite_ext_percentile",
775    ],
776)
777
778gensignature(
779    name = "trace_processor_sig",
780    srcs = [
781        ":trace_processor_shell",
782        ":trace_to_text",
783    ],
784    tags = [
785        "__TRACE_PROCESSOR_SIG_TAG1",
786        "__TRACE_PROCESSOR_SIG_TAG2",
787    ],
788)
789
790py_binary(
791    name = "gen_merged_sql_metrics_py",
792    srcs = [
793        "tools/gen_merged_sql_metrics.py",
794    ],
795    main = "tools/gen_merged_sql_metrics.py",
796)
797
798load("//security/fuzzing/blaze:cc_fuzz_target.bzl", "cc_fuzz_target")
799
800cc_fuzz_target(
801    name = "trace_parsing_fuzzer",
802    srcs = ["src/trace_processor/trace_parsing_fuzzer.cc"],
803    componentid = 323270,
804    deps = [
805        ":trace_processor",
806        "//third_party/perfetto/protos:trace_processor_cc_proto",
807    ],
808)
809
810cc_fuzz_target(
811    name = "proto_decoder_fuzzer",
812    srcs = ["src/protozero/proto_decoder_fuzzer.cc"],
813    componentid = 323270,
814    deps = [
815        ":trace_processor",
816    ],
817)
818