Add zoom/trim/pan functionality to see details in a long benchmark
See original GitHub issueIt’s pretty common for interfaces like this to have a feature where you can select a snippet of the timeline and “zoom in” on it. Y axis stays the same, X axis increases scale so details can be seen.
It’s something users will probably expect based on experience with dev tools and similar, and seems like an important feature since Doctor can run for any time period: run it for longer than, say, 20 seconds, and (depending on screen size) events become hard to distinguish. It would also enable other potential enhancements such as loading and comparing different benchmarks on the same scale.
Should be animated so the user can clearly see what is happening as the x-axis stretches (or on zoom out, contracts) and finer-grain X-axis ticks appear (or disappear).
I like Andreas’s approach of using event emitters to separate actions from the UI, I’d suggest we do it in two steps to avoid getting bogged down in UI design detail questions before we’re in a good position to test ideas out:
- Implement a callable event like
scaleXAxis( startTimestamp, endTimestamp, duration )
(duration uses default setting if unset, can be 0 for instant). This can be done before / while we make decisions on the UI and would make it easy to compare and test UI options. - Add UI for this e.g. drag to select a region to zoom in on, some intuitive way to cancel a zoom, click to auto-zoom on the the highlighted problem area, etc.
Issue Analytics
- State:
- Created 6 years ago
- Comments:6 (6 by maintainers)
Top GitHub Comments
There’s some ongoing work around the upper size limits for Clinic profiles, I think it’d make sense to revisit this after that when we know what are the largest / longest profiles we intend to reasonable support.
This is a feature that every Clinic tool could use (Doctor, Bubbleprof and Flame) so I think after we’ve got some certainty on upper limits and completed other high priority long tasks (e.g. Clinic Flame redesign) we should set aside a little time to implement this feature consistently in all three tools.
This could likely be looked at again. Doctor is out quite some while.