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

Add rendering metrics visualization tool to results.html #4562

Open amyqiu opened 5 years ago

amyqiu commented 5 years ago

To better analyze the durations of each step in the rendering pipeline, a visualization tool has been created here. The documentation for this tool can be found here. By embedding this tool into the results.html page and adding a button that toggles it on/off, users would be able to more easily identify which rendering metric is contributing to delays. Note: the button would only be visible for results containing rendering benchmarks.

The next steps involved in improving the tool are:

@benshayden @sadrulhc

benshayden commented 5 years ago

Thanks! Can you expand on how the UI can be improved?

amyqiu commented 5 years ago

There are a few adjustments that would make the tool fit better into results.html, like the styling of the buttons or moving the tool to somewhere else within the page (which is difficult right now because Plotly doesn't support Polymer's shadow DOM).

benshayden commented 5 years ago

Results.html already has a d3-based Polymerized stacked column chart. Want to look at it and let me know if it's missing any features? Feel free to schedule a VC if you have any questions!

amyqiu commented 5 years ago

Okay, I'll check it out!

amyqiu commented 5 years ago

I looked into the stacked column chart and noticed there isn't a built-in way to do grouped columns. Something like this: example-of-cluster-stacked-chart

Currently, I can simulate this by adding empty columns in between the groups (in the chart data), but is there a better way to do this?

Similarly, there's no default way to make a waterfall chart: cumbarchartbailout

To create this, I could mark columns as "blank" and make them white when drawing, but again I'm not sure that's the best way?