# Smoke tests ../data/sfgate.json smoke.sql sfgate_smoke.out ../data/sfgate.json smoke_slices.sql sfgate_smoke_slices.out ../data/android_sched_and_ps.pb smoke.sql android_sched_and_ps_smoke.out ../data/compressed.pb smoke.sql compressed_smoke.out synth_1.py smoke.sql synth_1_smoke.out ../data/fuchsia_trace.fxt smoke.sql fuchsia_smoke.out ../data/fuchsia_trace.fxt smoke_slices.sql fuchsia_smoke_slices.out ../data/fuchsia_trace.fxt smoke_instants.sql fuchsia_smoke_instants.out ../data/fuchsia_trace.fxt smoke_counters.sql fuchsia_smoke_counters.out ../data/fuchsia_workstation.fxt smoke_slices.sql fuchsia_workstation_smoke_slices.out # Test for the process<>thread tracking logic. synth_process_tracking.py process_tracking.sql process_tracking.out synth_process_tracking.py process_tracking_uid.sql process_tracking_uid.out process_tracking_short_lived_1.py process_tracking.sql process_tracking_process_tracking_short_lived_1.out process_tracking_short_lived_2.py process_tracking.sql process_tracking_process_tracking_short_lived_2.out process_tracking_exec.py process_tracking.sql process_tracking_process_tracking_exec.out process_parent_pid_tracking_1.py process_parent_pid.sql process_parent_pid_process_parent_pid_tracking_1.out process_parent_pid_tracking_2.py process_parent_pid.sql process_parent_pid_process_parent_pid_tracking_2.out reused_thread_print.py process_tracking.sql process_tracking_reused_thread_print.out sde_tracing_mark_write.textproto slice_with_pid.sql slice_with_pid_sde_tracing_mark_write.out # Test for computing CPU time from sched events for threads. ../data/example_android_trace_30s.pb thread_cpu_time.sql thread_cpu_time_example_android_trace_30s.out # The below tests check the storage backed tables in the trace processor. # Sched ../data/android_sched_and_ps.pb ts_desc_filter.sql ts_desc_filter_android_sched_and_ps.out # Sched reason ../data/android_sched_and_ps.pb end_reason_eq.sql android_sched_and_ps_end_reason_eq.out ../data/android_sched_and_ps.pb end_reason_neq.sql android_sched_and_ps_end_reason_neq.out # Sched wakeup ../data/android_sched_and_ps.pb sched_wakeup.sql sched_wakeup_android_sched_and_ps.out # CPU Frequency ../data/cpu_counters.pb b120487929.sql cpu_counters_b120487929.out # Logcat ../data/android_log.pb android_log_counts.sql android_log_counts.out ../data/android_log.pb android_log_msgs.sql android_log_msgs.out ../data/android_log_ring_buffer_mode.pb android_log_ring_buffer_mode.sql android_log_ring_buffer_mode.out # Mm Event ../data/mm_event.pb mm_event.sql mm_event.out # Oom Score synth_oom.py oom_query.sql synth_oom_oom_query.out ../data/process_stats_poll.pb oom_score_poll.sql process_stats_poll_oom_score.out # LMK handling kernel_lmk.py lmk.sql lmk_kernel_lmk.out ../data/lmk_userspace.pb lmk.sql lmk_userspace_lmk.out oom_kill.textproto oom_kill.sql oom_kill.out # Rss stats rss_stat_mm_id.py rss_stat.sql rss_stat_mm_id.out rss_stat_mm_id_clone.py rss_stat.sql rss_stat_mm_id_clone.out rss_stat_mm_id_reuse.py rss_stat.sql rss_stat_mm_id_reuse.out rss_stat_legacy.py rss_stat.sql rss_stat_legacy.out rss_stat_after_free.py rss_stat_after_free.sql rss_stat_after_free.out # Memory counters ../data/memory_counters.pb args_string_filter_null.sql memory_counters_args_string_filter_null.out ../data/memory_counters.pb args_string_is_null.sql memory_counters_args_string_is_null.out ../data/memory_counters.pb args_string_is_not_null.sql memory_counters_args_string_is_not_null.out ../data/memory_counters.pb b120605557.sql memory_counters_b120605557.out ../data/memory_counters.pb global_memory_counter.sql global_memory_counter_memory_counters.out ion_stat.textproto ion_stat.sql ion_stat.out # Stats ../data/android_sched_and_ps.pb stats.sql android_sched_and_ps_stats.out # Syscalls syscall.py sys.sql sys_syscall.out # Power rails ../data/power_rails.pb power_rails.sql power_rails_power_rails.out power_rails_custom_clock.textproto power_rails_event.sql power_rails_event_power_rails_custom_clock.out power_rails.textproto power_rails_timestamp_sort.sql power_rails_timestamp_sort.out # Android userspace async slices android_async_slice.textproto process_track_slices.sql process_track_slices_android_async_slice.out # The below tests check the autogenerated tables. # Span join ../data/android_sched_and_ps.pb slice_span_join_b118665515.sql android_sched_and_ps_slice_span_join_b118665515.out synth_1.py span_join_unordered_cols.sql span_join_unordered_cols_synth_1.out synth_1.py span_join_unordered_cols_reverse.sql span_join_unordered_cols_synth_1.out ../data/android_sched_and_ps.pb span_left_join.sql span_left_join.out ../data/android_sched_and_ps.pb span_left_join_unpartitioned.sql span_left_join_unpartitioned.out ../data/android_sched_and_ps.pb span_left_join_left_unpartitioned.sql span_left_join_left_unpartitioned.out ../data/android_sched_and_ps.pb span_left_join_left_partitioned.sql span_left_join_left_partitioned.out ../data/android_sched_and_ps.pb span_outer_join.sql span_outer_join.out ../data/android_sched_and_ps.pb span_left_join_empty_right.sql span_left_join_empty_right.out ../data/android_sched_and_ps.pb span_join_zero_negative_dur.sql span_join_zero_negative_dur.out ../data/android_sched_and_ps.pb span_outer_join_empty.sql span_outer_join_empty_android_sched_and_ps.out ../data/android_sched_and_ps.pb span_left_join_unordered.sql span_left_join_unordered_android_sched_and_ps.out ../data/android_sched_and_ps.pb span_join_unpartitioned_empty.sql span_join_unpartitioned_empty.out # Window table ../data/android_sched_and_ps.pb smoke_window.sql android_sched_and_ps_smoke_window.out # The below tests check the lower level layers of the trace processor (i.e. # fitering and printing code). # Sched table synth_1.py filter_sched.sql synth_1_filter_sched.out ../data/android_sched_and_ps.pb b119496959.sql android_sched_and_ps_b119496959.out ../data/android_sched_and_ps.pb b119301023.sql android_sched_and_ps_b119301023.out # Counters table synth_1.py filter_counter.sql synth_1_filter_counter.out ../data/memory_counters.pb b120278869_neg_ts_end.sql memory_counters_b120278869_neg_ts_end.out counters_where_cpu.py counters_where_cpu.sql counters_where_cpu_counters_where_cpu.out counters_group_by_freq.py counters_group_by_freq.sql counters_group_by_freq_counters_group_by_freq.out ../data/example_android_trace_30s.pb filter_row_vector.sql filter_row_vector_example_android_trace_30s.out ../data/example_android_trace_30s.pb counter_dur.sql counter_dur_example_android_trace_30s.out # Null printing synth_1.py nulls.sql nulls.out # The below tests check the systrace conversion code in the raw table. # Print events ../data/lmk_userspace.pb print_systrace.sql print_systrace_lmk_userspace.out # Unsigned integers print_systrace_unsigned.py print_systrace.sql print_systrace_unsigned.out # GPU trace tests. gpu_counters.py gpu_counters.sql gpu_counters.out gpu_counter_specs.textproto gpu_counter_specs.sql gpu_counter_specs.out gpu_render_stages.py gpu_render_stages.sql gpu_render_stages.out vulkan_api_events.py vulkan_api_events.sql vulkan_api_events.out gpu_log.py gpu_log.sql gpu_log.out # Clock sync clock_sync.py clock_sync.sql clock_sync.out # Graphics frame event trace tests. graphics_frame_events.py graphics_frame_events.sql graphics_frame_events.out # Scheduling slices from sched_switch events. There are two tests, one for the # typical encoding of sched_switch events, and one for the same trace # re-encoded in the compact format. The output should be identical apart from # the latter having one slice fewer for each cpu (the first compact # sched_switch event doesn't start a slice). Six slices in this case. ../data/sched_switch_original.pb sched_slices.sql sched_slices_sched_switch_original.out ../data/sched_switch_compact.pb sched_slices.sql sched_slices_sched_switch_compact.out heap_profile_jit.textproto heap_profile_frames.sql heap_profile_jit.out profiler_smaps.textproto profiler_smaps.sql profiler_smaps.out heap_graph_baseapk.textproto heap_graph_flamegraph.sql heap_graph_flamegraph.out heap_graph_baseapk.textproto heap_graph_object.sql heap_graph_object.out heap_graph_baseapk.textproto heap_graph_reference.sql heap_graph_reference.out heap_graph.textproto heap_graph_flamegraph.sql heap_graph_flamegraph.out heap_graph.textproto heap_graph_object.sql heap_graph_object.out heap_graph.textproto heap_graph_reference.sql heap_graph_reference.out heap_graph_two_locations.textproto heap_graph_object.sql heap_graph_two_locations.out # TODO(b/153552977): Stop supporting legacy heap graphs. These never made # it into a public release, so we should eventually stop # supporting workarounds for them. heap_graph_legacy.textproto heap_graph_flamegraph.sql heap_graph_flamegraph.out heap_graph_legacy.textproto heap_graph_object.sql heap_graph_object.out heap_graph_legacy.textproto heap_graph_reference.sql heap_graph_reference.out heap_graph_interleaved.textproto heap_graph_object.sql heap_graph_interleaved_object.out heap_graph_interleaved.textproto heap_graph_reference.sql heap_graph_interleaved_reference.out ../data/system-server-heap-graph.pftrace heap_graph_flamegraph.sql heap_graph_flamegraph_system-server-heap-graph.out ../data/system-server-native-profile heap_profile_flamegraph.sql heap_profile_flamegraph_system-server-native-profile.out heap_profile_tracker_new_stack.textproto heap_profile_tracker_new_stack.sql heap_profile_tracker_new_stack.out heap_graph_branching.textproto heap_graph_flamegraph_focused.sql heap_graph_flamegraph_focused.out stack_profile_tracker_empty_callstack.textproto stack_profile_tracker_empty_callstack.sql stack_profile_tracker_empty_callstack.out # TrackEvent tests. track_event_same_tids.textproto process_tracking.sql track_event_same_tids_threads.out track_event_same_tids.textproto track_event_slices.sql track_event_same_tids_slices.out track_event_typed_args.textproto track_event_slices.sql track_event_typed_args_slices.out track_event_typed_args.textproto track_event_args.sql track_event_typed_args_args.out track_event_tracks.textproto track_event_slices.sql track_event_tracks_slices.out track_event_with_atrace.textproto track_event_slices.sql track_event_with_atrace.out track_event_merged_debug_annotations.textproto track_event_args.sql track_event_merged_debug_annotations_args.out track_event_counters.textproto track_event_slices.sql track_event_counters_slices.out track_event_counters.textproto track_event_counters.sql track_event_counters_counters.out track_event_monotonic_trace_clock.textproto track_event_slices.sql track_event_monotonic_trace_clock_slices.out # Parsing systrace files ../data/systrace.html systrace_html.sql systrace_html.out ../data/trailing_empty.systrace sched_smoke.sql sched_smoke_trailing_empty.out # Config & metadata config_metadata.textproto metadata.sql config_metadata.out trigger_packet_trace.textproto triggers_packets.sql triggers_packets_trigger_packet_trace.out # Decoding of sched_waking events from a trace with compact scheduling events. # Verifies the contents of raw & instants tables. ../data/compact_sched.pb sched_waking_raw.sql sched_waking_raw_compact_sched.out ../data/compact_sched.pb sched_waking_instants.sql sched_waking_instants_compact_sched.out # Ensures process -> package matching works as expected. process_metadata_matching.textproto process_metadata_matching.sql process_metadata_matching.out # Trace size ../data/android_sched_and_ps.pb trace_size.sql android_sched_and_ps_trace_size.out # Thread time_in_state thread_time_in_state.textproto thread_time_in_state.sql thread_time_in_state.out thread_time_in_state_annotations.py thread_time_in_state_annotations.sql thread_time_in_state_annotations.out # Initial display state initial_display_state.textproto initial_display_state.sql initial_display_state.out # CPU info cpu_info.textproto cpu.sql cpu.out cpu_info.textproto cpu_freq.sql cpu_freq.out # Thread table thread_main_thread.textproto thread_main_thread.sql thread_main_thread.out