spmonitor
✅ Verified · no code on this page ·
The badge reports the whole
docs-verifysuite, not this chapter alone.
Subscribe to one or more PVs and print every update until interrupted.
spmonitor [OPTIONS] [PV ...]
Requires the client feature. Unlike spget, this one does take
several PV names.
Flags beyond the shared set
| Flag | Meaning |
|---|---|
--raw | print the raw hex payload |
--json | print JSON instead of the default line format |
--pipeline N | enable monitor pipelining with queue size N (0 = off) |
Pipelining lets the server send ahead without waiting for an acknowledgement per update. It matters for high-rate PVs on a slow link; leave it off otherwise.
Output
$ spmonitor VAC:PRESSURE
VAC:PRESSURE 2026-08-04 10:36:09.069 0
VAC:PRESSURE 2026-08-04 10:36:10.065 0
Same three columns as spget, one line per posted update. Ctrl-C to stop.
Gotchas
You see posts, not writes. A record whose MDEL deadband swallows a
change posts nothing, so a monitor can look frozen while the value moves.
The capstone IOC scans at 2 Hz and posts at about 1 Hz for exactly this
reason. See Monitors.
Alarm transitions always post, regardless of the deadband
(spvirit-server/src/simple_store.rs:545). A severity change is never
suppressed.
The first update is the current value. A subscription delivers one immediate post at connect, then only changes. Do not treat the first line as an event.
See also
Monitoring changes for the library APIs behind this tool.