Timeline viewer for process, thread and GPU (general usage) monitoring. This is designed to collect snapshots over prolonged periods of time (hours of data). Assumes NVIDIA graphics cards.
For GPU profiling I recommend using NVIDIA Nsight Systems or NVIDIA Nsight Compute.
There is a monitor component which probes a process at regular intervals (e.g. 1 sec), and a timeline_viewer component which visualizes the data collected by the monitor.
To monitor a process:
MONITOR_PID=<pid> python3 monitor.pyTo visualize the data you need to build the timeline_viewer component. From the timeline_viewer folder, run:
cargo install trunk
rustup target add wasm32-unknown-unknown
cargo install wasm-bindgen-cli
# Verify install
trunk --versionTo start the timeline viewer, run:
trunk serve --openThere is a sample file that you can use to test the viewer in samples (stored using GitHub LFS).