Skip to content

Conversation

@pfitzseb
Copy link
Member

@pfitzseb pfitzseb commented Jan 10, 2022

image

The flame graph viewer is easily re-useable in other contexts, e.g. Pluto notebooks (rendered notebook).

ToDo:

  • inline highlights (this is the big one, but shouldn't be particularly tricky)
  • check high DPI rendering
  • fix path handling
  • hook up "next/previous Profile" commands
  • check (and maybe improve) flame graph performance good enough for now, especially compared to Juno
  • maybe disable any subpixel rendering by rounding all positions/heights/widths keeping this as-is for now
  • get rid of (or integrate) FlameGraphs.jl
  • conditionally enable thread selection on Julia 1.8
  • pane icon
  • stdlib path handling
  • improve hashing/coloring logic (for more easily distinguishable colors)
  • make inline tooltip respect thread selector
  • gracefully handle multiple inline traces on a line (currently gets an opaque background fairly quickly)

Further possible improvements I won't implement in this PR

  • tabular view
  • task selector widget
  • themeing/using VS Code named colors
  • prune/skip past internals
  • "collapsed mode", which collapses tall stacks (frames with only one child don't show up)

Fixes #2606, fixes #2531, fixes #1545.

@pfitzseb
Copy link
Member Author

image

@pfitzseb pfitzseb added this to the Next Minor milestone Jan 17, 2022
@pfitzseb pfitzseb changed the title WIP: Profile Viewer Profile Viewer Jan 17, 2022
@lrnv
Copy link

lrnv commented Jan 29, 2022

What you did here is sick. This is really looking great. I saw the next-minor milestone, but when do you think we will get this on insider ?

@pfitzseb
Copy link
Member Author

Hopefully sometime this week.

@pfitzseb pfitzseb merged commit 8c1cff2 into master Feb 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

More Juno-like profiler features Custom profiler view Replacement for Juno.profiler()?

3 participants