5         Logging and Tracing

The Control Center provides access to detailed log information both on the level of the server as well as on the level of each individual service.

In addition, sophisticated session tracing capabilities are provided to support designers in analyzing and debugging applications.

Server Logs

The Server Logs tab provides access to the server log files, for both single server and cluster server setups. Server Administrators and Server Controllers have access to this tab for all servers. Site Administrators and Site Controllers have access to it for servers from within their own site. For more information on user roles and their privileges refer to Chapter 2 – User Management – Basic Topics in the Administration Guide.


 

 

The different server instances are identified by their name (if defined) or by their IP address and port, shown in the Server Instance column.

To open a log file double-click it or right-click it and select View from its context menu (note that this is only available on non-empty log files). The log file is then opened as a new tab in the editor area of Desktop for Eclipse.

Using the Filter field at the top you can restrict the list of log files to those that contain a certain text string within their name, or that have a name starting with a certain text string (when selecting the Starts with check box).

In Desktop for Web a separate box is shown for each server instance. Log files can be viewed (up to a maximum size of 1 MB), or downloaded (both only possible on non-empty log files). To view a log file, click its name. It will be displayed in a new window. To download a log file, click the Download button to the right of the log file name.

i8    Note: When log files are viewed in a browser window, note that character entities are unmasked. As an example, a & in the log file will show up as &.

i8    Note: To ensure that log file viewing and downloading works in cluster environments, it is required that the correct mapping between IP addresses and host names is available for the machines that are involved in the cluster. In Unix environments, this may require the correct setup of host tables.

Service Logs

The Service Logs tab provides access to the log files for all services, for both single server and cluster server setups. It is accessible to all users who may access the Control Center. Only log files for those services listed on the Server Manager tab are shown, which may be a subset of the total list of services hosted on this server. For more information on user roles and their privileges refer to Chapter 2 – User Management – Basic Topics in the Administration Guide.



The different server instances are identified by their name (if defined) or by their IP address and port, shown in the Server Instance column.

To open a log file double-click it or right-click it and select View from its context menu (note that this is only available on non-empty log files). The log file is then opened as a new tab in the editor area of Desktop for Eclipse.

Each service has two associated log files named VSN_service.log and VSN_error.log (where VSN stands for the VoiceObjects Service Name of the respective service).
The VSN_service.log file contains messages written by the Log object with destination File. The VSN_error.log file contains all error messages related to this service. These error messages are additionally shown in the server log files.

Using the Filter field at the top you can restrict the list of log files to those that contain a certain text string within their name, or that have a name starting with a certain text string (when selecting the Starts with check box).

In Desktop for Web a separate box is shown for each server instance. Log files can be viewed (up to a maximum size of 1 MB), or downloaded (both only possible on non-empty log files). To view a log file, click its name. It will be displayed in a new window. To download a log file, click the Download button to the right of the log file name.

Session Tracing

The Session Tracing tab provides access to the server trace files, for both single server and cluster server setups. It is accessible to all users who are allowed to access the Control Center. Only trace files for those services listed on the Server Manager tab are shown, which may be a subset of the total list of services hosted on this server. For more information on user roles and their privileges refer to Chapter 2 – User Management – Basic Topics in the Administration Guide.


 


The different server instances are identified by their name (if defined) or by their IP address and port, shown in the Server Instance column.

To open a trace file double-click it or right-click it and select View from its context menu (note that this is only available on non-empty log files). The Trace Viewer showing the content of the trace file is then opened as a new tab in the editor area of Desktop for Eclipse.
To delete trace files, select the appropriate file entries, right-click on one of them and select the Delete entry from the context menu. This opens up a confirmation window, and if confirmed deletes the selected trace files. It is strongly recommended to delete trace files when they are no longer required in order to keep the list manageable.  

The list of trace files is ordered by time of file creation, with the newest file at the top of the list. Trace files can be viewed while the corresponding call is still going on, or at any time after the call has finished.

Using the Filter field at the top you can restrict the list of log files to those that contain a certain text string within their name, or that have a name starting with a certain text string (when selecting the Starts with check box).

Session tracing can be enabled and disabled individually for each service and list of ANIs. The section on the Server Management in Chapter 3 – Managing Servers and Services provides more details.

In Desktop for Web a separate box is shown for each server instance. In total a maximum of 1,000 trace files is shown. To view a file, click its name. This opens the Trace Viewer in a new window. To delete trace files, select the appropriate check boxes and click the Delete button. This opens up a confirmation window, and if confirmed deletes the selected trace files. All files can be selected or de-selected at once by using the extra check boxes at the top and bottom of the list. It is strongly recommended to delete trace files when they are no longer required in order to keep the list manageable.

Refer to the Trace Viewer paragraph below for detailed information on the Trace Viewer.

Trace Viewer

The Trace Viewer is used to display the content of a trace file.

It displays general session information at the top of the window:
the name of the server that processed the session, the VoiceObjects Service Name (VSN), the media platform driver that was used, the ANI of the caller, and the internal dialog ID assigned to the session.


 

The detail information presented in the Trace Viewer can be filtered to eliminate certain blocks of information. This allows designers to focus on the specific aspect of the application they want to analyze or debug.
The categories that can be filtered out are Session Information, Navigation, Event Handling, Grammars, Hyperlinks, and Tuning. Each time an entry is selected from the drop-down list, it is added to the list of filtered items. This way, multiple blocks of information can be filtered simultaneously. The currently active filter list is shown below the drop-down field. To reset the filter list, select None from the drop-down list.

Below the header section, the individual dialog steps are listed. A dialog step is defined as one interaction between server and the media platform. This means in particular that for each dialog step, there is a block of markup code that was sent from the server to the media platform. This block of markup code is part of the tracing data available for each dialog step. Note that a dialog step may contain multiple dialog objects since not all of them actually generate markup code. Objects such as Expression for example are evaluated internally within the server. Other objects such as Input or Menu on the other hand generate markup code that needs to be sent to the media platform for interaction with the caller.

The Processed objects column shows the icons for all objects that were processed during this dialog step. Their names are provided as tooltips.

The Last processed object column provides the name of the last object that was processed in this dialog step. This is the object that created the markup code sent to the media platform for this dialog step.

The Processing column shows the time (in milliseconds) the server needed to process the entire dialog step.

The Dialog column shows the accumulated elapsed time for the entire dialog.

Individual dialog steps can be expanded using the Maximize button  to reveal the detailed sequence of objects that were processed internally by the server during this dialog step. Additional information about each object can be obtained by expanding the object itself. By clicking the object icons it is also possible to immediately open up the corresponding object editor, provided that the project from which the objects come is currently open in VoiceObjects Desktop.

In addition to the individual objects processed during the dialog step, the markup code that was sent to the media platform is also available under the heading Rendering Output.


 

The Trace Viewer can be used after a session has been completed, as well as during ongoing sessions. In this case, use the Refresh button (currently only available in Desktop for Web) at the top of the Trace Viewer window to refresh the content periodically as the session progresses.

Additional settings sent as part of the initial request URL, or parameter values sent by the media platform (such as slot values) can be found within the Session Information sections:



The example above shows an initial request URL. In addition to the standard parameters such as ANI, DNIS, etc. two variables were set to initial values: The variable with reference ID drink was set to the value tea, and the variable with reference ID food was set to cake.

8     Caution: Session tracing is intended to be used during development. As it impacts the performance of VoiceObjects Server, it is strongly recommended to keep session tracing disabled in production environments or in any case at least to restrict the list of ANIs to one or two. For information on how to do this, refer to Server Management in Chapter 3 – Managing Servers and Services.
For the exceptional case that tracing is enabled in a production environment it is recommended to configure the operating system such that the trace folder is cleaned on a regular basis to avoid problems with disk space being filled up.

i8    Note: Session tracing can be disabled completely in order to protect sensitive data. For details, refer to Chapter 1 – Advanced Configuration of VoiceObjects in the Administration Guide.