INCLUDE PERFETTO MODULE slices.with_context;
CREATE PERFETTO TABLE chrome_scroll_interactions (
id LONG,
name STRING,
ts TIMESTAMP,
dur DURATION,
frame_count LONG,
vsync_count LONG,
missed_vsync_max LONG,
missed_vsync_sum LONG,
delayed_frame_count LONG,
predictor_janky_frame_count LONG,
renderer_upid LONG
) AS
WITH
scroll_metrics AS (
SELECT
id,
ts,
dur,
extract_arg(arg_set_id, 'scroll_metrics.frame_count') AS frame_count,
extract_arg(arg_set_id, 'scroll_metrics.vsync_count') AS vsync_count,
extract_arg(arg_set_id, 'scroll_metrics.missed_vsync_max') AS missed_vsync_max,
extract_arg(arg_set_id, 'scroll_metrics.missed_vsync_sum') AS missed_vsync_sum,
extract_arg(arg_set_id, 'scroll_metrics.delayed_frame_count') AS delayed_frame_count,
extract_arg(arg_set_id, 'scroll_metrics.predictor_janky_frame_count') AS predictor_janky_frame_count,
upid AS renderer_upid
FROM process_slice
WHERE
name = 'Scroll'
)
SELECT
id,
'Scroll' AS name,
ts,
dur,
frame_count,
vsync_count,
missed_vsync_max,
missed_vsync_sum,
delayed_frame_count,
predictor_janky_frame_count,
renderer_upid
FROM scroll_metrics;