tp: stdlib: Ensure SF-less frames are associated with input This PR changes our frame association logic to use android_frames_choreographer_do_frame. This fixes an issue where input events which are delivered to a frame which did not invoke SF would be speculatively correlated as android_frames filters them out. Bug: 537643056 Bug: 454761692
diff --git a/src/trace_processor/perfetto_sql/stdlib/android/input.sql b/src/trace_processor/perfetto_sql/stdlib/android/input.sql index a27f51f..f55752d 100644 --- a/src/trace_processor/perfetto_sql/stdlib/android/input.sql +++ b/src/trace_processor/perfetto_sql/stdlib/android/input.sql
@@ -110,16 +110,14 @@ CREATE PERFETTO TABLE _clean_android_frames AS SELECT - f.ts, - f.dur, do_frame_slice.id AS do_frame_id, do_frame_slice.ts AS do_frame_ts, do_frame_slice.dur AS do_frame_dur, cast_int!(ui_thread_utid) AS utid, frame_id -FROM android_frames AS f +FROM android_frames_choreographer_do_frame AS f JOIN slice AS do_frame_slice - ON f.do_frame_id = do_frame_slice.id; + ON f.id = do_frame_slice.id; CREATE PERFETTO TABLE _clean_deliver_events AS SELECT @@ -207,7 +205,7 @@ dev.upid, dev.process_name, af.frame_id, - af.ts AS frame_ts, + af.do_frame_ts AS frame_ts, map.event_channel, CAST(assoc.is_speculative_match AS BOOL) AS is_speculative_match FROM _input_event_frame_association AS assoc