scalac-profiling
scalac-profiling copied to clipboard
RFC: Introduce the `export-profiles` plugin option
The crux
It turns out, that the current show-profiles option generates massive useful debug info and logs it just into the output. That makes exploring data pretty tough. To tackle this, I propose introducing a new compiler plugin option export-profiles, that should prepare the same data in a human-readable format and write it to some external file.
Implementation details
As things stand in 1.1.0-RC2, show-profiles generates the following sets of data:
- Macro data per call-site
- Macro data per file
- Macro data in total
- Macro repeated expansions
- Macro expansions by type
- Implicit searches by position
We need to think about the file format to make data convenient for further exploration. At the moment, I'm thinking about defining the .md file consisting of tables for the mentioned data sets. But still not sure. Any ideas?
cc @lolgab @SethTisue