Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Introduce the export-profiles plugin option #105

Open
danicheg opened this issue Feb 4, 2024 · 0 comments
Open

RFC: Introduce the export-profiles plugin option #105

danicheg opened this issue Feb 4, 2024 · 0 comments
Labels
RFC Ideas to discuss regarding new features or changes to the library

Comments

@danicheg
Copy link
Collaborator

danicheg commented Feb 4, 2024

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 danicheg added the RFC Ideas to discuss regarding new features or changes to the library label Feb 4, 2024
@danicheg danicheg added this to the v1.1.0-RC3 milestone Feb 11, 2024
@danicheg danicheg removed this from the v1.1.0-RC4 milestone Jul 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
RFC Ideas to discuss regarding new features or changes to the library
Projects
None yet
Development

No branches or pull requests

1 participant