Workflow Timer
How Long Did That Actually Take? Meet the Stopwatch Node
ComfyUI's queue tells you a job is running, but it won't tell you whether the render took 40 seconds or four minutes. Workflow Timer is the answer to "wait, was that faster?" - a display-only node that runs a live stopwatch on screen while your workflow executes and shows the final elapsed time when it finishes.
How it works
This is the purest "UI convenience" node in the pack, and it's worth being clear about that up front: it has no inputs, no outputs, and produces no data. All the timing lives in the frontend (kiko_workflow_timer_ui.js), which hooks into ComfyUI's WebSocket events - it starts when execution begins and stops when the workflow completes, displaying the elapsed time as MM:SS:mmm. The Python side is basically a stub that returns an empty dict; it exists so the node has a body in the graph. Don't expect to wire its result into anything, because there's nothing to wire.
You can drop multiple timer nodes into one workflow and they stay in sync, which is the clever trick: put one at the start of a section and one after it, and the delta tells you where your time is going. That's how you find out the VAE decode is the real hog, not the sampler.
Settings
Two global settings live in the pack's settings panel (the "KikoTools Settings" section in ComfyUI's settings):
- Workflow Timer: Color - pick whatever color suits your theme.
- Workflow Timer: Enable Glow - an optional pulsing glow animation.
Both apply to every timer node at once, which is a small thing that would annoy you if it didn't exist.
Installing it
Same pack, same story. In ComfyUI Manager, search "ComfyUI-KikoTools", install, restart, then find it under ComfyAssets β Utils. Manual install:
cd ComfyUI/custom_nodes
git clone https://github.com/ComfyAssets/ComfyUI-KikoTools.git
cd ComfyUI-KikoTools
pip install -r requirements.txt
Restart ComfyUI. Nothing else needed - no models, no dependencies beyond the pack's own frontend files.
Gotchas
The one thing that trips people: the timer only runs while a workflow is executing, and it only shows a number once a run has happened. Drag the node in and stare at an empty graph all you want - nothing displays until you hit Queue. Also, since the timing is per-execution-event rather than per-graph-node, the node measures workflow time, not itself; two timers give you the same total, so to compare sections you're doing the subtraction in your head, not reading it off the node. That's fine - it's a stopwatch, not a profiler. If you want real per-node timing data, you'd be better off with ComfyUI's own debug/performance tooling; this is for the quick "did that change help?" check, and it nails that job.
Inputs (0)
No inputs
Outputs (0)
No outputs