catapult-project / catapult

Deprecated Catapult GitHub. Please instead use http://crbug.com "Speed>Benchmarks" component for bugs and https://chromium.googlesource.com/catapult for downloading and editing source code..
https://chromium.googlesource.com/catapult
BSD 3-Clause "New" or "Revised" License
1.91k stars 563 forks source link

Display multiple statistics in histogram-set-table-cell. #3380

Open benshayden opened 7 years ago

benshayden commented 7 years ago

Currently, histogram-set-table-cells display exactly 1 statistic when they are closed. Users select which statistic is displayed using a simple select box.

When open, cells display all of the statistics that the metric configured the histogram to produce, plus delta statistics for non-reference columns.

Users frequently need to scan more data than a single statistic, so cells need to display more than 1 statistic when closed. The simple select box statistic-picker needs to allow users to select multiple statistics.

Also, "all the statistics" is sometimes too much data (e.g. in non-reference columns, if metrics configure histograms to produce more than a few statistics). The statistic picker should allow users to hide statistics in open cells even if the metric enables the statistic.

Also, "all the statistics" is sometimes too little data (if metrics configure histograms to produce only a single statistic). The statistic picker should allow users to display statistics in open cells even if the metric disables the statistic. Related: #3440

benshayden commented 7 years ago

When a reference column is selected, the statistic picker dropdown could contain 3 columns of checkboxes for

This level of control should significantly mitigate the firehose that could have resulted from generalizing delta statistics (currently filtered ham-handedly using IGNORE_DELTA_STATISTICS_NAMES).

Maybe tri-states instead of checkboxes in each cell?

I'm assuming that users would be confused if a statistic were only in closed cells and not open cells.

Subsequent clicks could cycle through the 3 states. The open-cells-only state could use the indeterminate checkbox state.

Alternatively, all delta statistics could always be displayed in a 3 column table in histogram-span, but I think that would be an unnecessary firehose of tables within tables. If users regularly check lots of the checkboxes in the dropdown and need all of the delta statistics to be organized in a table, we can revisit that then.

benshayden commented 6 years ago

@tdresser @pcc @simonhatch @dave-2 Any thoughts on this UI for more control over statistics?

I had been thinking about a single grid of tri-state buttons, but now I think that two grids of binary toggle buttons (one group for closed cells, another for open cells) would map to the closed/open cells more naturally and probably feel simpler, even though it looks like twice as many buttons. Material design describes toggle button groups: It doesn’t describe grids of buttons, but I think that grids would help organize the (currently) 39 possible statistics in each of the 2 groups.

When multiple statistics are selected for Closed Cells, they are displayed in a table:

Demo results.html

Left as a followup: an input field to add more percentiles and IPRs.

anniesullie commented 6 years ago

Thanks for taking a look at this, it's an interesting demo! I think people that use results.html more frequently probably have more detailed feedback, but I took a look and I had a couple thoughts:

pcc commented 6 years ago

How will sorting work in this new UI? Right now if I click on a column while (e.g.) "avg" and "% delta avg" are selected I appear to get sorting by avg, which I think is hardly ever what users would want.

I don't see the value in exposing the "closed cells" vs "open cells" distinction. If as a user I enable a statistic, I would expect it to appear in the place where "closed cells" currently appear. I didn't find the current location of the "open cells" to be intuitive at all (it took me a few minutes to figure out that they were hidden alongside the histogram). I'd consider replacing the "open cells" panel with a "sort by" panel and maybe dropping the statistics from the histogram, as they are redundant with the ability to select statistics.

I also have the same feedback as @anniesullie about the function of the "statistics" button being unintuitive.

benshayden commented 6 years ago

Thank you both for the feedback!

The titles "Closed Cells" and "Open Cells" are pretty confusing to me.

Fair point! Naming is hard. The code currently calls them open/closed, but other people have also called them expanded/collapsed. I can change the labels, or would it be better to replace them with wordless diagrams of collapsed and expanded cells to avoid the naming problem altogether? I can draw something as an example,

It's unclear that the "Statistics" button opens a menu.

I was planning to organize the rest of the controls (groupby-picker, reference column selector, etc) into other dropdowns and then style the buttons like a material menu bar: #4010 . Want to continue this discussion on that bug?

How will sorting work in this new UI?

I have a few ideas, but before we spend too much effort on sorting with multiple statistics, do you have a specific use case in mind?