gh-140677 Add heatmap visualization to Tachyon sampling profiler#140680
gh-140677 Add heatmap visualization to Tachyon sampling profiler#140680pablogsal merged 23 commits into
Conversation
b1d5307 to
9ee2b80
Compare
October 27, 2025 17:04
Introduce a new --heatmap output format that provides line-by-line execution visualization. The heatmap shows: - Color-coded execution intensity for each line (cold → warm → hot → very hot) - Inline sample counts and percentages per line - Per-file statistics (total samples, hottest line) - Interactive call graph navigation with caller/callee buttons - Module type badges (stdlib, site-packages, project code) Unlike flamegraphs which show call stacks and time distribution, heatmaps excel at identifying hot code paths within files, understanding line-level execution patterns, and navigating through call relationships.
savannahostrowski
left a comment
There was a problem hiding this comment.
Okay, this is so cool! I left a couple of comments, but also wanted to mention that I really loved that you added a minimap to show hotspots and the permalinking on line click; so nice for jumping around and sharing results.
Sorry, something went wrong.
|
CC @ivonastojanovic can you give this a pass when you have some time? Test it locally and play a bit with it before reviewing the code |
Sorry, something went wrong.
|
@ivonastojanovic I have updated the buttons to be toggles, pls take a look |
Sorry, something went wrong.
ivonastojanovic
left a comment
There was a problem hiding this comment.
This looks great! I left a few comments, and I’ll experiment with the CSS a bit
Sorry, something went wrong.
Small changes: - Change navigation button colors for dark theme - Update toggle button colors and active-state text - Add missing "→" in the Intensity legend
|
@pablogsal I ran into a bug during testing, so with Total and Hot enabled, changing the theme makes the sidebar vanish 👀 Screen.Recording.2025-12-02.at.00.15.56.mov |
Sorry, something went wrong.
Co-authored-by: ivonastojanovic <80911834+ivonastojanovic@users.noreply.github.com>
Good catch! Fixed :) |
Sorry, something went wrong.
ivonastojanovic
left a comment
There was a problem hiding this comment.
LGTM 🚀
Sorry, something went wrong.
8801c6d
into
python:main
Dec 2, 2025
|
Thanks a lot @ivonastojanovic and @savannahostrowski for the reviews! |
Sorry, something went wrong.
python#140680) Co-authored-by: Ivona Stojanovic <stojanovic.i@hotmail.com>
Introduce a new --heatmap output format that provides line-by-line
execution visualization. The heatmap shows:
Unlike flamegraphs which show call stacks and time distribution, heatmaps
excel at identifying hot code paths within files, understanding line-level
execution patterns, and navigating through call relationships.