◐ Shell
clean mode source ↗

Improve Tachyon UX

This is a meta issue to group all the items to improve the UX of the tachyon profiler.

Tasks

CLI

  • Standardize timing arguments — Currently mixing µs and seconds for related timing args, which is confusing
  • 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

  • Auto-open browser with results — Reduce manual steps in the workflow; add --no-browser flag to disable

Flamegraph

  • Hide runner/bootstrap frames by default — Top rows showing interpreter startup aren't useful for most profiling tasks
  • 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.pypkg.mod for 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

  • Fix docs: -o output format — Docs imply text output but it's actually binary pstats format
  • Standardize --pstats behavior — Output format differs significantly with/without -o flag, which is unexpected

Thanks @dmoisset 🖤

Linked PRs