# Contains tests for parsing events which are applicable to more than one vertical # "area". Generally, events here are of high importance (e.g. sched_switch is tested # here is and is used by every embedder of trace processor) # # Note: It's generally *not* advisable to add tests here. Check the guidance provided by # http://perfetto/dev/docs/analysis/trace-processor#diff-tests for choosing which folder # to add a new test to. # TODO(lalitm): some tests here should be moved out of here and into the area folders; # they are only here because they predate the modularisation of diff tests. # 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 # Test the filtering of ftrace events before tracing_start. ftrace_with_tracing_start.py list_sched_slice_spans.sql ftrace_with_tracing_start_list_sched_slice_spans.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 # 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 # 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 # Mm Event ../../data/mm_event.pb mm_event.sql mm_event.out # Android userspace async slices android_async_slice.textproto process_track_slices.sql process_track_slices_android_async_slice.out # Check the systrace conversion code in the raw table. # Print events ../../data/lmk_userspace.pb print_systrace.sql print_systrace_lmk_userspace.out kernel_tmw_counter.textproto thread_counter_and_track.sql kernel_tmw_counter_thread_counter_and_track.out # Unsigned integers print_systrace_unsigned.py print_systrace.sql print_systrace_unsigned.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 # Check error handling when parsing print events. bad_print.textproto list_slices.sql bad_print_textproto_list_slices.out bad_print.systrace list_slices.sql bad_print_systrace_list_slices.out # Match legacy Catapult behaviour when we see multiple S events b2b with the same cookie # name and upid. android_b2b_async_begin.textproto list_slices.sql android_b2b_async_begin_list_slices.out # LMK handling kernel_lmk.py lmk.sql lmk_kernel_lmk.out ../../data/lmk_userspace.pb lmk.sql lmk_userspace_lmk.out ../common/oom_kill.textproto oom_kill.sql oom_kill.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 # 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 # Stats ../../data/android_sched_and_ps.pb stats.sql android_sched_and_ps_stats.out # Syscalls syscall.py sys.sql sys_syscall.out # Thread time_in_state thread_time_in_state.textproto thread_time_in_state.sql thread_time_in_state.out thread_time_in_state_event.py thread_time_in_state_event.sql thread_time_in_state_event.out thread_time_in_state.textproto android_thread_time_in_state android_thread_time_in_state.out thread_time_in_state_unknown.textproto android_thread_time_in_state android_thread_time_in_state_unknown.out # Initial display state initial_display_state.textproto initial_display_state.sql initial_display_state.out # Config & metadata config_metadata.textproto metadata.sql config_metadata.out trigger_packet_trace.textproto triggers_packets.sql triggers_packets_trigger_packet_trace.out chrome_metadata.textproto chrome_metadata.sql chrome_metadata.out # CPU info cpu_info.textproto cpu.sql cpu.out cpu_info.textproto cpu_freq.sql cpu_freq.out # Trace size ../../data/android_sched_and_ps.pb trace_size.sql android_sched_and_ps_trace_size.out # Package list handling android_package_list.py android_package_list android_package_list.out # Ensures process -> package matching works as expected. process_metadata_matching.textproto process_metadata_matching.sql process_metadata_matching.out # Flow events importing from json flow_events_json_v1.json flow_events.sql flow_events_json_v1.out flow_events_json_v2.json flow_events.sql flow_events_json_v2.out # Importing displayTimeUnit ../../data/display_time_unit.json slices.sql display_time_unit_slices.out # Parsing sched_blocked_reason sched_blocked_proto.py sched_blocked_reason.sql sched_blocked_proto_sched_blocked_reason.out sched_blocked_systrace.systrace sched_blocked_reason.sql sched_blocked_systrace_sched_blocked_reason.out # Kernel symbolization sched_blocked_reason_symbolized.textproto sched_blocked_reason_function.sql sched_blocked_reason_symbolized_sched_blocked_reason_function.out sched_blocked_reason_symbolized.textproto ../common/to_systrace.sql sched_blocked_reason_symbolized_to_systrace.out # Floating point numbers ../../data/decimal_timestamp.json slices.sql decimal_timestamp_slices.out