Remove tasks blocking the End LatencyInfo slice from queuing.
Since the end LatencyInfo just reports explicit timestamps when it runs
isn't important. So we don't need to consider tasks that block it. We
remove it by matching on the description name explicitly.
Bug: 166441398
Change-Id: I642ac4fabfdeedf07c49ef0598eba66c52ea3cbd
diff --git a/src/trace_processor/metrics/chrome/scroll_jank_cause_queuing_delay.sql b/src/trace_processor/metrics/chrome/scroll_jank_cause_queuing_delay.sql
index f0eebb3..95b3f59 100644
--- a/src/trace_processor/metrics/chrome/scroll_jank_cause_queuing_delay.sql
+++ b/src/trace_processor/metrics/chrome/scroll_jank_cause_queuing_delay.sql
@@ -19,6 +19,10 @@
-- flow event from being run (queuing delays). For RunTask we know that its
-- generic (and thus hard to figure out whats the cause) so we grab the src
-- location to make it more meaningful.
+--
+-- See b/166441398 & crbug/1094361 for why we remove the -to-End step. In
+-- essence -to-End is often reported on the ThreadPool after the fact with
+-- explicit timestamps so it being blocked isn't noteworthy.
DROP TABLE IF EXISTS blocking_tasks_queuing_delay;
CREATE TABLE blocking_tasks_queuing_delay AS
@@ -53,8 +57,10 @@
slice ON
slice.ts + slice.dur > queuing.ancestor_end AND
queuing.maybe_next_ancestor_ts > slice.ts AND
- slice.track_id = next_track_id AND
- slice.depth = 0
+ slice.track_id = queuing.next_track_id AND
+ slice.depth = 0 AND
+ queuing.description NOT LIKE
+ "InputLatency.LatencyInfo.%ank.STEP_DRAW_AND_SWAP-to-End"
WHERE
queuing_time_ns IS NOT NULL AND
queuing_time_ns > 0;
diff --git a/test/trace_processor/chrome/scroll_jank_cause_queuing_delay.out b/test/trace_processor/chrome/scroll_jank_cause_queuing_delay.out
index a41e34b..ce1a961 100644
--- a/test/trace_processor/chrome/scroll_jank_cause_queuing_delay.out
+++ b/test/trace_processor/chrome/scroll_jank_cause_queuing_delay.out
@@ -8,7 +8,6 @@
2918,0,7000,"InputLatency.LatencyInfo.Flow.QueuingDelay.NoJank.BlockingTasksUs.ScrollPredictor::ResampleScrollEvents"
2918,0,25000,"InputLatency.LatencyInfo.Flow.QueuingDelay.NoJank.BlockingTasksUs.InputHandlerProxy::HandleGestureScrollUpdate-DeltaUnits"
2918,0,6000,"InputLatency.LatencyInfo.Flow.QueuingDelay.NoJank.BlockingTasksUs.LatencyInfo.Flow"
-2918,0,10000,"InputLatency.LatencyInfo.Flow.QueuingDelay.NoJank.BlockingTasksUs.LatencyInfo.Flow"
2926,1,52000,"InputLatency.LatencyInfo.Flow.QueuingDelay.Jank.BlockingTasksUs.InputRouterImpl::GestureEventHandled-GestureEventQueue::ProcessGestureAck"
2926,1,17000,"InputLatency.LatencyInfo.Flow.QueuingDelay.Jank.BlockingTasksUs.GestureProvider::OnTouchEvent"
2926,1,1208,"InputLatency.LatencyInfo.Flow.QueuingDelay.Jank.BlockingTasksUs.WidgetInputHandlerImpl::DispatchNonBlockingEvent-LatencyInfo.Flow"
@@ -20,6 +19,3 @@
2926,1,2000,"InputLatency.LatencyInfo.Flow.QueuingDelay.Jank.BlockingTasksUs.LatencyInfo.Flow"
2926,1,5000,"InputLatency.LatencyInfo.Flow.QueuingDelay.Jank.BlockingTasksUs.LatencyInfo.Flow"
2926,1,8000,"InputLatency.LatencyInfo.Flow.QueuingDelay.Jank.BlockingTasksUs.LatencyInfo.Flow"
-2926,1,2000,"InputLatency.LatencyInfo.Flow.QueuingDelay.Jank.BlockingTasksUs.LatencyInfo.Flow"
-2926,1,8000,"InputLatency.LatencyInfo.Flow.QueuingDelay.Jank.BlockingTasksUs.LatencyInfo.Flow"
-2926,1,2000,"InputLatency.LatencyInfo.Flow.QueuingDelay.Jank.BlockingTasksUs.LatencyInfo.Flow"