Windows Performance Monitor is powerful, but configuring counters and Data Collector Sets can be cumbersome for quick investigations. I wanted a faster way to select a process, graph its metrics, and inspect changes over time.
Demo
Terminal previewOverview
A process monitoring TUI for tracking per-process resource usage over time
A keyboard-first process monitoring tool for Windows 11 with live system-wide and per-process resource metrics including .NET runtime metrics, time-series analysis, and recording—built with Rust and Ratatui.
From the maintainer
Maintainer profilewinproc-tui
A Windows process monitoring TUI with live metrics, graphs, A/B comparison, and recording.
winproc-tui helps Windows developers investigate how process resource usage changes over time. It combines live metrics, synchronized graphs, exact A/B comparison, and recording for later review.
Install winproc-tui with WinGet, launch it, select a process and metric, and press Space to add it to the Graph Workspace. Then mark two moments with a and b to see the exact change and elapsed time.
Instead of configuring counters in a separate setup step, users add metrics directly from the process table and system panels to a shared Graph Workspace. Every graph uses the same timeline and A/B points, so different signals can be compared at exactly the same moments.
Maintainer install notes
winget install --id TX230.winproc-tui -e
Installation
Official winproc-tui README prebuilt-binary instructions
winget install --id TX230.winproc-tui -e
Latest Release
What's changed
Added
- Added reusable Investigation Profiles for named tracking setups, including startup selection, explicit Open/Save/Save As flows, and migration from legacy named Tracking Lists. Profiles store tracked process names only, while application layout and Graph state remain independent. (Issue #95, Issue #106)
- Added an optional Flat/Tree mode to
PROCESSES, with snapshot-safe parent/child relationships, per-level sorting, filtering context, keyboard and mouse expansion, and a persisted view preference. (Issue #100) - Added a contextual
Esc/[MENU]main menu for Live, Recording, and Log view, with activity-specific actions and keyboard/mouse navigation. (Issue #101) - Added a per-Graph Raw/MA5 display mode. Smoothing changes only the plotted representation; Samples, A/B values, range statistics, clipboard output, Recording, and stored histories remain raw. (Issue #99)
- Added inclusive A/B range statistics for minimum, maximum, mean, available samples, and missing frames while preserving exact raw-sample and process-identity rules. (Issue #96)
- Added keyboard and mouse resizing for the
PROCESSESpanel while Graphs are visible, with a persistent Auto/manual row preference. (Issue #94)
Changed
- Improved responsiveness and reduced avoidable memory and CPU work during long-running Graph sessions, process sorting, display pause, history retention, and PDH sampling. (Issue #91)
- Graph-bound source values now use color and underlining, with bold reserved for the active Graph, so registration is not communicated by color alone. (Issue #104)
- Limited ordinary same-name Live history to two process generations while retaining every live or explicitly protected identity. Recording and loaded logs remain complete. (Issue #92)
Fixed
- Configuration now resolves beside the real executable when launched through WinGet, Scoop, or Cargo command links, and migrates an existing launcher-adjacent configuration when needed. (Issue #103)
- Investigation Profile deletion now uses
Enterto delete andEscto cancel, matching other destructive confirmations. (Issue #105) - Kept A/B range statistics visible across Delta toggles and corrected contextual-menu Graph shortcuts and mouse Quit handling. (Issue #96, Issue #101)
Security
- Hardened Windows API boundaries with aligned and bounds-checked buffers, safer PDH query cleanup, and fixes for the identified CodeQL findings. (Issue #83, Issue #84, Issue #85)
Full Changelog: https://github.com/TX230/winproc-tui/compare/v1.0.1...v1.1.0
Discussions