scalac-profiling icon indicating copy to clipboard operation
scalac-profiling copied to clipboard

RFC: Introduce the `export-profiles` plugin option

Open danicheg opened this issue 1 year ago • 0 comments

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

danicheg avatar Feb 04 '24 17:02 danicheg