Nodes/Muse Run Stats/Muse Run Stats
ComfyUI Node

Muse Run Stats

Is It Stalled or Just Slow? This ComfyUI Node Tells You

By muse-collective-26·Created 3 days ago·Updated 3 days ago· 0
Muse Run Stats

      You know the feeling. It's fifteen minutes into a long render and you're staring at the KSampler's progress bar wondering the exact same thing you wondered five minutes ago: is it genuinely grinding through a step, or has it quietly hung? Muse Run Stats is the cheapest answer to that question - a stopwatch for the whole workflow that also keeps a running readout of your GPU temperature, GPU utilization, VRAM, and system RAM while it works.

      It's built by Muse Collective and it's openly a variation on Pixaroma's popular Run Timer, with hardware stats bolted on. The name undersells it slightly - it's less a "stats page" and more "a live health check you can glance at mid-run." For something like MiniMax H3 video renders, where a single run can stretch for minutes, being able to tell "100% GPU, VRAM pegged, temperatures climbing, actually doing something" from "nothing has moved in ninety seconds" is genuinely useful.

      The trick: it never actually runs

      Drop the node anywhere on the canvas and you'll notice something odd - it has no inputs and no outputs. That's not a bug, it's the whole design. The node never appears in the executed prompt at all. ComfyUI skips it because it has nothing to execute; everything interesting happens in the browser, driven by ComfyUI's own run events.

      Here's the mechanism: the node's JavaScript listens for ComfyUI's execution_start, execution_success, execution_error, and execution_interrupted events. The moment a run starts, the clock starts. While it's running, the frontend polls a tiny REST endpoint the pack adds (/muse/system_stats) roughly every 1.5 seconds. That endpoint shells out to nvidia-smi for GPU temperature, utilization, and VRAM, and reads system RAM via psutil. When the run finishes - cleanly, with an error, or because you cancelled it - the clock stops and the node shows the total time plus the averages of everything it sampled along the way. An errored or interrupted run is labeled as such but still shows its partial stats, which is more useful than a dead node that just forgets the run happened.

      What to actually do with it

      There's no configuration to speak of, which is refreshing for a change. You drop it somewhere out of the way, leave it unwired, and hit Run. During the run you get a big monospace clock with a colored status dot (green while running) and a line like GPU 63°C · 97% · VRAM 9.4/24.0 GB · RAM 21.3/64.0 GB. On finish it flips to the summary with averages.

      Two honest limits. First, this measures whole-run wall-clock time only - if you want per-node timings, you want ComfyUI's built-in execution profiler, not this. Second, the clock lives in your browser, not the server. If you switch away and the tab gets backgrounded, browsers throttle the timers that drive the display, so don't treat it as a trustworthy benchmark of a run you walked away from.

      Installing it

      Via ComfyUI Manager, search for Muse Run Stats and hit Install. Or manually:

      cd ComfyUI/custom_nodes
      git clone https://github.com/muse-collective-26/Muse-Run-Stats
      

      Then restart ComfyUI. No model files, no heavy dependencies - but the RAM reading needs one extra Python package:

      pip install psutil
      

      GPU stats don't need anything extra because they use nvidia-smi directly, which any working NVIDIA driver already puts on PATH.

      Where people get burned

      The graceful-fallback design hides most problems, which cuts both ways. If psutil isn't installed, the RAM slot quietly shows a dash while the rest works. If you're on an AMD or Intel GPU, or nvidia-smi isn't on PATH, the GPU readings all show dashes but the stopwatch still runs. And it only reads the first GPU - fine for the common single-card rig, useless if you're one of the few doing multi-GPU averaging. If a run finishes almost instantly, you may get "no stats collected," which just means it ended before a poll landed. None of these break your workflow; they just leave you squinting at em-dashes. Now you know what each dash means.

      CategoryMuse Collective

      Inputs (0)

      No inputs

      Outputs (0)

      No outputs