There are a few different projects of different skills levels which I (@mpickering) would be willing to help with at Zurihac. The first is continuing the reimplementation of hp2pretty to work with eventlogs and HTML rendering. The second are improvements on the profiling code of GHC itself.
This repo is a reimplementation of hp2pretty, there is a new frontend which reads eventlogs and a new backend which renders the chart using a vega-lite) specification. The resulting chart is interactive.
(Beginner) Improve the rendering of the heap profile.
Display which Constructor we currently mouse over.
Display heap usage of the constructor/total on that position.
Maybe we can change the colour of the event log line when emphasising it.
Allow selecting a specific part of the profiled to view (example)
Make it easy to switch between a "zero", "normalize" and "center" stack chart. This is easy to achieve statically but not dynamically using vega-lite. (vega-lite#3338)
Add a title and other meta information.
(Intermediate) Continue refactoring the internals of hp2pretty.
Honour the --sort flag
Honour the --uniform flag
Honour the --reverse flag
(Intermediate) Get hp2pretty ready for a release.
Embed generated JSON into html document.
Think of another name for the library
Improvements to GHC profiling (Intermediate/Advanced - knowledge of C)
Add a cost-centre profiling mode which inserts cost-centres AFTER optimisations have run. (This is mostly already implemented but needs to be tested)(#16765)
Dynamically adjust sampling interval in proportion to time taken to GC (#1420)
Add eventlog events for biographical and retainer profilers (#16766)