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

Add options to filter out internal GC and dispatch frames #87

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

NHDaly
Copy link
Member

@NHDaly NHDaly commented Jul 30, 2023

The GC frames are skipped by default now, since they make the GC graphs much less readable, and everyone basically always wants them skipped.

I also refactored things a bit in the process, to allow for only checking these once per frame, and caching the result.

This gives nicer graphs like this one, where the recursion here is real - this is a profile of julia's inference:
Screenshot 2023-07-29 at 10 31 55 PM

or this one:
Screenshot 2023-07-29 at 10 35 32 PM

I also added this message to tell you about the new flags
Screenshot 2023-07-29 at 11 04 36 PM

@codecov-commenter
Copy link

codecov-commenter commented Jul 30, 2023

Codecov Report

Merging #87 (c53b14b) into main (8764c85) will increase coverage by 0.39%.
The diff coverage is 100.00%.

❗ Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.

@@            Coverage Diff             @@
##             main      #87      +/-   ##
==========================================
+ Coverage   96.59%   96.99%   +0.39%     
==========================================
  Files           3        3              
  Lines         294      333      +39     
==========================================
+ Hits          284      323      +39     
  Misses         10       10              
Files Changed Coverage Δ
src/Allocs.jl 93.54% <100.00%> (+1.34%) ⬆️
src/PProf.jl 99.31% <100.00%> (+0.13%) ⬆️

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@NHDaly NHDaly force-pushed the nhd-filter-internal-frames branch 2 times, most recently from 30fc804 to be83b31 Compare July 30, 2023 03:03
The GC frames are skipped by default now, since they make the GC graphs
much less readable, and everyone basically always wants them skipped.

I also refactored things a bit in the process, to allow for only
checking these once per frame, and caching the result.
```
julia> PProf.Allocs.pprof()
┌ Info: 👋  Welcome to PProf!
│
│ Consider trying `skip_jl_dispatch = true` as well, for a cleaner Graph view.
│ The current options are best for the Flamegraph view.
│
└ Now outputting your profile...
Main binary filename not available.
Serving web UI on http://localhost:62261
"alloc-profile.pb.gz"
```
@NHDaly NHDaly force-pushed the nhd-filter-internal-frames branch from 6bfc861 to 2513042 Compare July 30, 2023 03:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants