summaryrefslogtreecommitdiff
path: root/tools/perf/python/ttimechart.py
AgeCommit message (Collapse)Author
2026-10-19perf timechart: Fix task row type narrowing in goto_task()James Clark
Mypy cannot narrow Row to TaskRow or IoRow when the class passed to isinstance() comes from a loop variable, causing the perf build to fail with: python/ttimechart.py:1686: error: "Row" has no attribute "task" [attr-defined] Check against TaskRow and IoRow explicitly so mypy can verify access to the task attribute. The tasks and I/O views contain TaskRow and IoRow instances respectively, so task navigation behaves as before. Fixes: e7a72d6919804e5e ("perf timechart: Add an interactive --tui mode") Reviewed-by: Ian Rogers <irogers@google.com> Assisted-by: Codex:GPT-6.1-Sol Signed-off-by: James Clark <james.clark@linaro.org> Cc: Alice Rogers <alice.mei.rogers@gmail.com> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2026-10-03perf timechart: Add an interactive --tui modeAlice Rogers
Add ttimechart.py, a textual based interactive timechart, and a --tui option to perf timechart that launches it through perf script. Rather than writing an SVG file, per-CPU (busy, frequency and idle state), per-task (running, runnable and blocked) and I/O timelines are shown in the terminal along with a summary table. The timelines can be zoomed, panned and the state of the selected row at the cursor is described, including the task that woke it. The -i, -P, -T and -p options are passed to the script. The data is loaded in a background thread and the timelines are shown and updated as it loads. A --dump option prints a text summary without the UI. Committer testing: Fist record a short session with: root@x2:/home/acme/git/perf-tools-next# perf timechart record ^C[ perf record: Woken up 9 times to write data ] [ perf record: Captured and wrote 4.489 MB perf.data (29719 samples) ] root@x2:/home/acme/git/perf-tools-next# Then try the TUI with: root@x2:/home/acme/git/perf-tools-next# tools/perf/python/ttimechart.py or: root@x2:/home/acme/git/perf-tools-next# perf timechart --tui Assisted-by: Antigravity:gemini-3.1-pro Signed-off-by: Alice Rogers <alice.mei.rogers@gmail.com> Co-developed-by: Ian Rogers <irogers@google.com> Signed-off-by: Ian Rogers <irogers@google.com> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>