Tracing Process Performance with ^TRACE
The ^TRACE utility UI offers functionality to trace the execution of IRIS processes. Traced processes write events to a trace file with information about the routine line, where it occurred and, if applicable, the global reference.
The trace files may contain sensitive information such as global references or parameters passed to subroutines. They will not, however, contain the values of any globals.
The events available for tracing correspond to the metrics reported in performance monitoring tools (^PERFMON, %SYS.MONLBL, etc). Raw data is written to a trace file, iristrace_pid.txt, in a specified directory.
The trace directory must be writable by the processes being traced.
Different sets of trace events can be selected to produce traces for different purposes. Highly detailed application execution tracing can be achieved; this can include tracing all global references (GloRef), all application subroutine calls (RtnLoad), and/or every line of application code executed (RtnLines). Alternatively, tracing can be limited to less common events such as physical block reads (DataBlkRd, UpntBlkRd, etc), network cache misses (NCacheMiss), and/or block collisions (BlkWait), in order to find all the locations in the application where these occurrences may be affecting performance.
The ability to configure the trace, start tracing a process, or use the ^TRACE utility requires %Admin_Manage:USE.