02/27/85 response_meters Syntax as a command: response_meters {-control_args} Function: displays statistics on interactive response time. Control arguments: -report_reset, -rr generates a report and then performs the reset operation. -reset, -rs resets the metering interval for the invoking process so that the interval begins at the last call with -reset specified. If -reset has never been given in the process, it is equivalent to having been specified at system initialization time. -total, -totals, -tt prints summary information for all work classes. -work_class N, -wc N prints information only for work class number N. Access required: This command requires access to phcs_ or metering_gate_. Notes: If neither -reset nor -report_reset is specified, response_meters prints a report. The control arguments -total and -work_class cannot be used together. If either of these is used, the remaining control arguments must be such that response_meters prints a report. The fundamental concept needed to understand the output produced by the response_meters command is that of a terminal interaction. A terminal interaction is essentially an atomic unit of work by a Multics user at a remote terminal. A terminal interaction is triggered by a set of characters keyed by a user at a terminal, which are passed into the user ring as a unit. The activity between the receipt of the set of characters at the Multics mainframe and the next request by user-ring software for more input is a terminal interaction. For a typical user, a terminal interaction corresponds to a line of input. Some user-ring software, however, receives input as sets of characters rather than as lines (the Emacs editor is an example of such software). For software of this sort, a terminal interaction corresponds to the set of characters handed out by ring 0 TTY software at one time. If, in processing a set of characters keyed by a user at a terminal, the user-ring software blocks itself on anything other than terminal input, that activity is not considered a terminal interaction. For example, any command that results in tape I/O is not considered a terminal interaction. The output of response_meters is summarized by work class. Any work class for which no interactions were measured is not displayed. The following are brief descriptions of the variables printed out by response_meters for each work class and for the system. WC is the work class number. Work class "All" represents statistics for the entire system. # Thinks is the number of times a process in the work class blocked itself awaiting terminal input. The term "Think" is used because the delay represented here corresponds to what is commonly called "Think Time" in models of interactive computer systems. This term is derived from the assumption that during this time the interactive user is cogitating about the response just received and is formulating an appropriate next input. Avg Thinks is the average time in seconds for all blocks awaiting terminal input. This is the average external delay between interactions to the same process in the work class. This external delay includes communications processing time (in the FNP), communications line delay, and user idle (or "Think") time. # Queues is the number of times a process in the work class was queued for eligibility following receipt of terminal input. It may be less than the number of interactions because of type-ahead. That is, by keying input sufficiently rapidly, a user may cause several interactions to be processed during the same eligibility period. It may be larger than the number of Thinks because of perturbations associated with process initiation. Avg Queues is the average eligibility queue time (in seconds) following the receipt of terminal input. This is the average clock time between the receipt of the terminal input at the Multics mainframe and the awarding of eligibility to the target process by traffic control. The average queue time corresponds to what is called "response time" in the output of traffic_control_meters. Load Control Group is the set of Load Control Groups corresponding to the work class. Read access to the Answer Table and to the Master Group Table (MGT) is required for this information to be displayed. If the requesting process does not have this access, then this field is left blank. Response times by VCPU Range Up to four detail lines and one summary line are printed, with each line corresponding to a set of interactions. Each interaction measured is categorized by the amount of virtual CPU time consumed by the interaction. Based on the virtual CPU time for the interaction, the interaction is recorded against one of four "buckets." Each of the detail lines represents all terminal interactions for processes in the work class that fell into the corresponding "bucket." A bucket is simply a range of virtual times. Intuitively, the first bucket represents trivial interactions, the last bucket represents exceptionally long interactions, and the remaining two buckets lie between these extremes. If there were no interactions recorded against a bucket, the detail line corresponding to that bucket is not printed. The summary line contains information on all terminal interactions for processes in the work class. VCPU Range From To is the range of virtual CPU times for interactions presented on that line, in seconds. "From" is the beginning of the range, and "To" is the end of the range. The summary line is identified by "-----" in both the "From" and the "To" fields. # Int is the number of interactions in the bucket for the line. That is, this is the number of interactions whose virtual CPU time fell between the values of "From" and "To." Avg VCPU is the average virtual CPU time per interaction for the bucket. Avg RT is the average response time per interaction for the bucket. It is the average clock time required to process an interaction, including any eligibility queue time. Resp Fact is the response factor. This is defined as the ratio of the average response time per interaction to the average virtual CPU time per interaction. Intuitively, this ratio represents an "extension factor" for virtual CPU time. That is, it is a factor expressing the average amount of clock time required to process an interaction with a given virtual CPU time. This number can be used as a "quick" indicator of work class or system performance. In addition to the per-work class data described above, the following summary information is displayed. calls to meter_response_time is the number of subroutine calls to the ring 0 routine that collects the raw response time data. invalid transitions is the number of invalid calls to this routine; meter_response_time implements a finite-state automaton that models a terminal user's interaction with the Multics system. The number of invalid transitions is the number of events that did not fit into this models. Typically, invalid transitions result from perturbations associated with process initiation. Overhead is the CPU time consumed by the measurement routine, expressed as a percentage of total system CPU time, and as the average CPU time in milliseconds per call to this routine. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved