# Tests related to Chrome's use of Perfetto.

# Chrome metrics (found in the trace_processor/chrome directory).

# Scroll jank metrics
../../data/chrome_scroll_without_vsync.pftrace scroll_jank_general_validation.sql scroll_jank_general_validation.out
../../data/chrome_scroll_without_vsync.pftrace scroll_jank.sql scroll_jank.out
../../data/chrome_scroll_without_vsync.pftrace scroll_flow_event.sql scroll_flow_event.out
../../data/chrome_scroll_without_vsync.pftrace scroll_flow_event_general_validation.sql scroll_flow_event_general_validation.out
../../data/chrome_scroll_without_vsync.pftrace scroll_jank_cause.sql scroll_jank_cause.out
../../data/chrome_scroll_without_vsync.pftrace scroll_flow_event_queuing_delay.sql scroll_flow_event_queuing_delay.out
../../data/chrome_scroll_without_vsync.pftrace scroll_flow_event_queuing_delay_general_validation.sql scroll_flow_event_general_validation.out
../../data/chrome_scroll_without_vsync.pftrace scroll_jank_cause_queuing_delay.sql scroll_jank_cause_queuing_delay.out
../../data/chrome_scroll_without_vsync.pftrace scroll_jank_cause_queuing_delay_general_validation.sql scroll_jank_cause_queuing_delay_general_validation.out
../../data/chrome_scroll_without_vsync.pftrace chrome_thread_slice_with_cpu_time.sql chrome_thread_slice_with_cpu_time.out
../track_event/track_event_counters.textproto chrome_thread_slice_with_cpu_time_repeated.sql chrome_thread_slice_with_cpu_time_repeated.out
../../data/chrome_rendering_desktop.pftrace frame_times frame_times_metric.out
../../data/chrome_rendering_desktop.pftrace chrome_dropped_frames chrome_dropped_frames_metric.out
scroll_jank_mojo_simple_watcher.py scroll_jank_mojo_simple_watcher.sql scroll_jank_mojo_simple_watcher.out
scroll_jank_gpu_check.py scroll_jank_gpu_check.sql scroll_jank_gpu_check.out

# Touch gesture metrics
../../data/chrome_touch_gesture_scroll.pftrace touch_jank.sql touch_jank.out
../../data/chrome_touch_gesture_scroll.pftrace touch_flow_event.sql touch_flow_event.out
../../data/chrome_touch_gesture_scroll.pftrace touch_flow_event_queuing_delay.sql touch_flow_event_queuing_delay.out
touch_jank.py touch_jank.sql touch_jank_synth.out
touch_jank.py touch_flow_event.sql touch_flow_event_synth.out
touch_jank.py touch_flow_event_queuing_delay_full.sql touch_flow_event_queuing_delay_synth.out

# Chrome memory snapshots.
../../data/chrome_memory_snapshot.pftrace memory_snapshot_general_validation.sql memory_snapshot_general_validation.out
../../data/chrome_memory_snapshot.pftrace memory_snapshot_os_dump_events.sql memory_snapshot_os_dump_events.out
../../data/chrome_memory_snapshot.pftrace memory_snapshot_chrome_dump_events.sql memory_snapshot_chrome_dump_events.out
../../data/chrome_memory_snapshot.pftrace memory_snapshot_nodes.sql memory_snapshot_nodes.out
../../data/chrome_memory_snapshot.pftrace memory_snapshot_edges.sql memory_snapshot_edges.out
../../data/chrome_memory_snapshot.pftrace memory_snapshot_node_args.sql memory_snapshot_node_args.out
../../data/chrome_memory_snapshot.pftrace memory_snapshot_smaps.sql memory_snapshot_smaps.out

# RAIL modes.
combined_rail_modes.py combined_rail_modes.sql combined_rail_modes.out
cpu_time_by_combined_rail_mode.py cpu_time_by_combined_rail_mode.sql cpu_time_by_combined_rail_mode.out
actual_power_by_combined_rail_mode.py actual_power_by_combined_rail_mode.sql actual_power_by_combined_rail_mode.out
estimated_power_by_combined_rail_mode.py estimated_power_by_combined_rail_mode.sql estimated_power_by_combined_rail_mode.out
modified_rail_modes.py modified_rail_modes.sql modified_rail_modes.out
modified_rail_modes_no_vsyncs.py modified_rail_modes.sql modified_rail_modes_no_vsyncs.out
modified_rail_modes_with_input.py modified_rail_modes_with_input.sql modified_rail_modes_with_input.out
modified_rail_modes_long.py modified_rail_modes.sql modified_rail_modes_long.out
modified_rail_modes_extra_long.py modified_rail_modes.sql modified_rail_modes_extra_long.out

# Chrome processes.
../../data/chrome_scroll_without_vsync.pftrace chrome_processes.sql chrome_processes.out
../../data/chrome_android_systrace.pftrace chrome_processes.sql chrome_processes_android_systrace.out
../../data/chrome_scroll_without_vsync.pftrace chrome_threads.sql chrome_threads.out
../../data/chrome_android_systrace.pftrace chrome_threads.sql chrome_threads_android_systrace.out
