It's not very complicated, which makes it easy to modify and embellish, as witnessed by my aforementioned collection of about 30 RoboVAX variations which I've accumulated over the years. With its default execution cycle of ten minutes, RoboVAX has used about 28 minutes of CPU time over my VAXstation 4000 Model 60's current uptime of 42 days, so it isn't much of a resource hog. The procedure works simply. If it fails, it assumes another RoboVAX process exists and the procedure stops. You can write other procedures which check the contents of the RV logicals and perform additional functions, like paging you if something goes out of whack.
Subroutines are CALLed to reduce coding and permit the passing of parameters.
This makes it a simple matter to add or delete items to be monitored. I added to the original RoboVAX procedure. This information is available, though, by looking directly at the system data structures and examining the longwords where OpenVMS stores the counts. SYS.MAP contains the key. Note that the addresses can change with new releases of OpenVMS and that you'll have to manually update them as required.