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

Improved query-integrated debug output and profiling #42678

Closed
nikomatsakis opened this issue Jun 15, 2017 · 1 comment
Closed

Improved query-integrated debug output and profiling #42678

nikomatsakis opened this issue Jun 15, 2017 · 1 comment
Labels
C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@nikomatsakis
Copy link
Contributor

The new query system kind of up-ends our existing -Ztime-passes. In addition, RUST_LOG is obviously a very primitive logging system, with no ability to track indentation or give you much for context. We have to do better.

@matthewhammer has been working on a nifty new system for visualizing what a rust compilation is doing and where it spends its time. The rough idea is -- when enabled, of course -- to intercept when queries start and end and plot that information visually. This lets us see which queries ran and in which order, and whether there were cache hits or misses. There is a bunch of other information that I would like access to:

  • How much time did we spend in each query (and each kind of query)?
    • Maybe useful to separate that into "own" time and "child" time.
  • What debug logs were emitted during each query?
  • Which items was each query processing -- it'd be great to be able to get "just the logs that were emitted when processing foo"

Anyway, this is intended as a general tracking and discussion issue for this work.

@nikomatsakis nikomatsakis added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Jun 15, 2017
This was referenced Jul 10, 2017
@Mark-Simulacrum Mark-Simulacrum added the C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. label Jul 27, 2017
@wesleywiser
Copy link
Member

Between -Zself-profile and the switch to tracing for logging in rustc, I think we can close this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

3 participants