oss-aspen / 8Knot

Dash app in development to serve open source community visualizations using GitHub data from Augur. Hosted app: https://eightknot.osci.io
MIT License
47 stars 59 forks source link

PR review and Issue assignment visualization optimization #613

Open JamesKunstle opened 6 months ago

JamesKunstle commented 6 months ago

When we render the histogram of assignment counts per contributor for a large org, we get a VERY large HTML object via SVG, even when we decrease the range of valid dates to be <2 years (as done in #610). This can push the tab's memory footprint to ~1GB. This makes the browser main thread very slow, and makes user experience bad.

Screenshot 2024-01-08 at 4 34 31 PM

Screenshot 2024-01-08 at 4 34 22 PM

One idea for an improvement: only show the 'n' most-assigned-to contributors in the histogram, and allow the user to see an aggregated bar for 'all other assignments' as an option that will show the relative amount of assignments that the top-'n' aren't a part of.

This will decrease browser memory use significantly because we'll be rendering far fewer objects, and will be more informative for the user. For small communities, there should be no impact on the net number of contributors included.

cdolfi commented 5 months ago

Taken from #548: @JamesKunstle said: When rendering those visualizations, my browser tab spiked to ~1GB of memory used for the kubernetes org. Took 884 seconds to render PR assignments.

Suggestion:

only look at top ~10 contributors by assignment, the rest are 'other'. grab 'windows' of data at once, not all of the data.

cdolfi commented 5 months ago

@JamesKunstle How do you feel about the current solution? Does it solve for this or is there more to be done?

JamesKunstle commented 4 months ago

@cdolfi I'm going to go find the library that simplifies complicated visualizations...