The GBT is blanketed with digital interfaces which measure ``real-world'' values. Examples include ambient temperatures, DC power supply voltages, antenna encoder positions, laser power levels, wind direction, actuator positions, and computer/manual switch positions. These interfaces are read periodically and then the values are time-tagged and stored into a small ring buffer. The stream of values available at the ring buffer may be accessed on-command for logging or display. The philosophy of the monitor system is not for clients to request individual values for a particular point, but rather to open and close spigots which spew out a continuous flow of data values.
The Sampler is the monitor class most closely associated with the digital interface. The C++ constructor for a Sampler takes the address of a variable, a data description identifier, and the size of the ring buffer. On a schedule (usually a constant period, though it can also be a commanded periodicity or based on some event), the digital interface is read into the Sampler's associated variable. Then the class method sample is called which time-tags the value and places it into the ring buffer. The Transporter handles all of the Samplers for a single-board computer. It reads and transfers data from any Sampler's ring buffer to a requesting process over the network.
There are currently two client programs of the Transporter: the Accessor for providing monitor streams to in user-interface programs, and the Archivist for recording monitor streams that create FITS' binary table files. The clients to the Accessor almost always use the data to update a graphical-user interface widget that displays the data continuously as a digital readout or graph in near real-time. On request from a user the Archivist is able to produce two types of FITS files. The first are engineering logs which store continuously all of the data from a given Sampler. The second are Data Associated Parameter (DAP) files which store a Sampler's values as part of a scan's data set. Each DAP file represents a Sampler's values during one scan. Certain values have been traditionally stored as part of the scan data, e.g., weather values and antenna positions. This design allows the observer to select any Sampler as a DAP source. One might imagine other client programs to the Transporter, for example, one that stores given Sampler data when triggered by specific alarms.