Caché Monitoring Guide - InterSystems Documentation
Caché Monitoring Guide - InterSystems Documentation
Caché Monitoring Guide - InterSystems Documentation
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
5<br />
<strong>Monitoring</strong> System Performance Using<br />
^PERFMON<br />
<strong>Caché</strong> provides a utility called ^PERFMON, which provides functions and a rudimentary menu to call these functions it<br />
uses to control the MONITOR facility.<br />
Note:<br />
The MONITOR facility is an internal system feature that was accessible through the ^MONITOR routine in<br />
previous versions of <strong>Caché</strong>. The ^PERFMON functions were available in previous versions in the ^VPMON<br />
routine.<br />
The MONITOR facility provides performance data for the <strong>Caché</strong> system by collecting counts of events at the system level<br />
and sorting the metrics by process, routine, global, and network nodes. Since there is some overhead involved in collecting<br />
this data, you must specifically enable the collection of counters and collect data for a specific number of processes, globals,<br />
routines, and network nodes. <strong>Caché</strong> allocates memory at MONITOR startup to create slots for the number of processes,<br />
routines, globals, and nodes specified. The first process to trigger an event counter allocates the first slot and continues to<br />
add to that set of counters. Once the facility allocates all the available slots to processes, it includes any subsequent process<br />
counts in the Other slot. It follows the same procedure for globals, routines, and nodes.<br />
You can review reports of the data while collection is in progress. When you stop collection, memory is de-allocated and<br />
the counter slots are gone. So, any retention of the numbers needs to be handled by writing the reports to a file (or a global).<br />
Data is given as rates per second by default, although there is also an option for gathering the raw totals. There are also<br />
functions which allow you to pause/resume the collection, and zero the counters.<br />
The menu items available by running ^PERFMON correspond directly to functions available in the ^PERFMON routine,<br />
and the input collected is used to directly supply the parameters of these functions.<br />
Similar functions that control the same MONITOR facility are available through the classes in the %Monitor.System<br />
package. For more information see the following chapters in this guide:<br />
• “Using the <strong>Caché</strong> Monitor”<br />
• “Examining Routine Performance Using ^%SYS.MONLBL”<br />
5.1 Using ^PERFMON<br />
You can use the ^PERFMON routine in two ways: running it interactively or calling its functions from your own routines.<br />
The menu items available from running ^PERFMON correspond directly to callable functions in the ^PERFMON routine;<br />
<strong>Caché</strong> <strong>Monitoring</strong> <strong>Guide</strong> 43