google / google/perfetto

[UI] Simplify track selection and full time range selection logic

Open
#4,549 2 comments 0 reactions 0 assignees View on GitHub
enhancement ui
Dominant language
C++
Stars
6.5k
Forks
868
Avg merge
2d 1h
Merged PRs (30d)
218

Description

Currently, UI requires time range selection in the UI to be able to select tracks using that checkbox next to track name. This causes unnecessarily cumbersome flow where you first need to select any random time range (preferrably small, otherwise entire UI starts calculating aggregation of tons of slices which are not going to be even looked at because the goal is to the start selectively checking only necessary tracks). Anyways, once some random time range is selected, UI starts showing track check boxes and allows to do track-by-track selection. And from there we can adjust time range further.

This is quite cumbersome in practice. It would be great if those checkboxes where available right from the start, and if any track is selected this way then time range should be assumed to be selected from start to end.

As somewhat tangent request, it's equally cumbersome to go from partial time range to full time range: if you just deselect time range, track selection is forgotten. And adjusting time range carefully using sliders just to select entire time range is unnecessarily time consuming (and requires quite a lot of careful mouse manipulations...). Using ctrl/cmd-A to speed up time range selection has its own downsides: all the tracks are selected and UI is churning through tons of aggregations which are not really going to be used.

So in short, it would be great if some improvements could be made in this area to make a common scenario of working with a subset of tracks across entire time range much simpler. Thanks!

Here's a video demonstration of things I describe above:

https://github.com/user-attachments/assets/215dde1d-0dd4-4dd6-a8d4-ae50a12808b6

Contributor guide

Open the contributing guide

Research direction

No file or test is named in the issue. Start by tracing the UI entry points for track checkboxes and time-range selection, using the linked demonstration to reproduce the current flow. Done means tracks can be selected before a range, selecting tracks defaults to the full range, and switching to the full range preserves track selection without unnecessary aggregation.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.