Tracing is controlled by checkboxes on the COPIAFACTS Options Page, Trace sub-page. The trace file written by the program is named "nodename.TRx" where x is the day number in the week (Sunday = 0). When tracing to file is enabled, a new file is started automatically at midnight, overwriting the previous week's file. When the COPIAFACTS program is started with tracing enabled, a new 'session' is added to any existing file for the day number. Normally, therefore, trace files for the preceding week are preserved in case it is necessary to refer to them for problem resolution.
The following checkboxes control the destination for tracing:
| Trace to display | Displays the trace on the Summary, Trace and Scrollback pages on the COPIAFACTS console. |
| Trace to file | Writes the trace lines to file. File writes are normally buffered unless the Flush Trace Buffer run-time option is enabled. Copia support staff may ask you to set that option in order to capture the trace immediately before an abnormal termination. The trace file can be viewed using TRCVIEW. Using TRCVIEW on the same node as COPIAFACTS causes the trace buffer to be flushed by COPIAFACTS before loading the trace file. To flush the trace buffer prior to viewing the trace file in TRCVIEW on another node, left-click once in the large globe icon at the top left of the window. |
| Right-click on the large globe icon to send the current day's trace file to Copia support. Notifications must first be enabled in EMSETUP. |
The checkboxes listed below specify what is traced. If none are set, only a single trace line is written for each incoming or outbound transaction, along with any error message or debugging options output that is specified.
| Trace processing states | Traces each processing state visited during the transaction. You should always set this option on when any debugging options are set, to provide a context for the debug messages. This checkbox also causes 'events' signaled by board and port interfaces to be logged. |
| Trace IIF actions | You should always enable this trace while testing infobox logic, whether for custom IVR or for pre- and post-processing. It traces all $set_var variable assignments, $script texts, $set_state traps, and a number of other useful data items. |
To add a second 'result' trace line to each transaction, in addition to the single basic trace line, you can add RESULT_ variable definitions in FAXFACTS.CFG. Each variable controls specifies values which are to be printed in the trace for each type of operation. For example:
$var_def RESULT_EMAIL "Email to @EMAIL_TO (@OC_DESC) @OC_CODE {@FSNUM}"
would print a trace line containing expanded variables which might contain:
Result: Email to steve@copia.com (success) 0 {12345678.FS}
You can choose any variables from Appendix D that are valid in a result context to be expanded in the trace. A suggested set of variables to add to FAXFACTS.CFG is as follows:
$var_def RESULT_FAXOUT "Fax to @RCVRFAX (@OC_CODE: @OC_DESC) {@FSNUM}
Pg=@OC_SENTPAGES Att=@OC_ACOUNT Sec=@OC_ACALLTIME Baud=@TXBAUD"
$var_def RESULT_EMAIL "Email to @EMAIL_TO (@OC_CODE: @OC_DESC) {@FSNUM}"
$var_def RESULT_VOICE "Voice to @DIALED_DIGITS (@OC_CODE: @OC_DESC) {@FSNUM}"
$var_def RESULT_FAXIN "Fax in @DNIS ANI=@ANI (PR_FAXSTAT: @PR_OUTCOME) {@PR_FAXFILE}
Pg=@PR_FAXPAGES Baud=@RXBAUD"
$var_def RESULT_IVR "IVR to @DNIS ANI=@ANI"
$var_def RESULT_JOB "Job action @JOB_ACTION (@OC_CODE: @OC_DESC) {@FSNUM}"
$var_def RESULT_PREVIEW "Preview for @PREVIEW_TYPE (@OC_CODE: @OC_DESC) {@FSNUM}"
$var_def RESULT_WORKER "Worker infobox @AUTOCALL (@OC_CODE: @OC_DESC) {@FSNUM}"
For users who send very long faxes, there is also a RESULT_FAXPAGE variable which shows its content in the trace at the end of each fax page sent. Use PR_FAXPAGES to show the incrementing page count.
At the end of each COPIAFACTS session, and at the end of the day if the engine runs continuously, a summary is printed showing the current totals from the eight boxes on the Summary page. In addition, for systems with inbound fax or voice channels, an analysis is printed of activity on these channels. A COPIAFACTS run-time option can be used to change this analysis to include all channels in a node.
The top row shows clock hours of the day. Each subsequent row analyzes times when the specified number of channels were active, showing the number of minutes of that hour for which this number of channels was active. The analysis below is from a system which has five inbound channels:
Inbound chans:TOTAL 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
5-active mins: 42 0 0 0 0 0 0 0 9 10 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4-active mins: 69 0 0 0 0 0 0 0 18 23 19 0 3 3 0 2 0 0 0 0 0 0 0 0 0
3-active mins: 110 0 0 0 0 0 0 0 24 18 12 3 7 9 3 3 13 4 12 0 0 0 0 0 0
2-active mins: 244 0 0 0 0 0 9 2 8 10 6 13 17 14 11 7 27 55 47 15 0 0 0 0 0
1-active mins: 203 0 0 0 3 14 17 31 0 0 0 23 20 15 27 22 19 0 0 6 0 4 1 0 0
0-active mins: 773 60 60 60 57 46 33 27 0 0 0 19 13 18 18 25 0 0 0 39 60 56 59 60 60
The analysis shows that for 42 minutes (9+10+23) between 7am and 10am, all five inbound channels were busy. This implies that any additional calls during those 42 minutes did not get though to the system because all inbound channels were in use. Clearly this system should consider configuring additional inbound channels.
The default (inbound-only) analysis counts not only the minutes a channel was occupied on inbound calls: it records time spent on any call for channels which are configured for inbound. So reserving some channels for inbound calls only (if your telephone connection can do this) may also increase the capacity for inbound calls.
If you are using CopiaFacts only for outbound operations, select the COPIAFACTS run-time option which causes the table to analyze all transaction types in the table. Then a high number of 'minutes active' in specific hours shows that your system is 'maxed out' at these times.
Values are recorded in milliseconds but are displayed rounded to the nearest whole minute, so some columns may not add up exactly to 60 and some items may show as zero if there was only one call that lasted less than 30 seconds.
You can assign (with $set_var in an infobox) a non-empty value to the WRITE_COUNTERS variable to write the current summary block content, including the above table, to a nodename_COUNTERS.txt file in the FAXFACTS\LOG folder at any time.