Skip to content

Improve Tachyon UX #142927

Description

@pablogsal

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.py → pkg.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

Activity

  1. pablogsal commented on Dec 18, 2025

    @pablogsal
    MemberAuthor
  2. pablogsal commented on Dec 18, 2025

    @pablogsal
    MemberAuthor

    Please say what items you plan to work on to avoid collisions

  3. added
    type-featureA feature request or enhancement
    stdlibStandard Library Python modules in the Lib/ directory
    3.15bugs and security fixes
    on Dec 18, 2025
  4. added a commit that references this issue on Dec 20, 2025
  5. added a commit that references this issue on Dec 22, 2025
  6. lkollar commented on Dec 22, 2025

    @lkollar
    Contributor
    • 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

    I'll take these.

  7. ivonastojanovic commented on Dec 22, 2025

    @ivonastojanovic
    Contributor
    • Auto-open browser with results — Reduce manual steps in the workflow; add --no-browser flag to disable
    • 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

    I'll take these

  8. added 2 commits that reference this issue on Dec 22, 2025
  9. 17 remaining items

  10. hugovk commented on Mar 2, 2026

    @hugovk
    Member
    • Move hotspots to top of sidebar — This is the most important info; currently buried below logo and stats

    See PR http://github.com/python/cpython/pull/145428.

  11. added a commit that references this issue on Mar 10, 2026
  12. ivonastojanovic commented on Mar 16, 2026

    @ivonastojanovic
    Contributor

    Show module names instead of full file paths — /home/user/project/pkg/mod.py → pkg.mod for readability

    #146040 should fix this.

    Show "self" time for functions — Display time spent in function body excluding callees, not just total inclusive time

    @pablogsal #145785 adds tracking for self time, but currently we only update the differential flamegraph there. Would you prefer that I open a separate PR to make this change outside of #145785, or should we handle the regular flamegraphs as a follow-up once #145785 is merged?

  13. added a commit that references this issue on Mar 16, 2026
  14. ivonastojanovic commented on Mar 31, 2026

    @ivonastojanovic
    Contributor

    Show "self" time for functions — Display time spent in function body excluding callees, not just total inclusive time

    #147706 should fix this.

  15. added a commit that references this issue on Apr 4, 2026
  16. added a commit that references this issue on Apr 5, 2026
  17. added 4 commits that reference this issue on Apr 25, 2026
  18. added 2 commits that reference this issue on Apr 28, 2026
  19. added 2 commits that reference this issue on Oct 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.15bugs and security fixesstdlibStandard Library Python modules in the Lib/ directorytopic-profilingtype-featureA feature request or enhancement

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions