cpython
cpython copied to clipboard
Improve Tachyon UX
This is a meta issue to group all the items to improve the UX of the tachyon profiler.
Tasks
CLI
- [x] Standardize timing arguments — Currently mixing µs and seconds for related timing args, which is confusing
- [x] Duration should default to "until done" - The fact that we sample only for 10 seconds by default is confusing to users and a bad experience
Workflow
- [x] Auto-open browser with results — Reduce manual steps in the workflow; add
--no-browserflag to disable
Flamegraph
- [x] Hide runner/bootstrap frames by default — Top rows showing interpreter startup aren't useful for most profiling tasks
- [x] The Gil/gc/exception indicators could be progress bars — this probably will show the information more clearly and take less space
- [ ] Show module names instead of full file paths —
/home/user/project/pkg/mod.py→pkg.modfor readability - [ ] Show "self" time for functions — Display time spent in function body excluding callees, not just total inclusive time
- [ ] Move hotspots to top of sidebar — This is the most important info; currently buried below logo and stats
- [ ] Fix inverted flamegraph width — Currently shows narrow chart when leaves sum to small percentage, wasting screen space
Pstats
- [x] Fix docs:
-ooutput format — Docs imply text output but it's actually binary pstats format - [x] Standardize
--pstatsbehavior — Output format differs significantly with/without-oflag, which is unexpected
Thanks @dmoisset 🖤
Linked PRs
- gh-142934
- gh-142936
- gh-142987
- gh-143178
- gh-143180
- gh-143337
- gh-143388