About the Knowledge Monitor

This topic provides you with information about the Knowledge Monitor. The Knowledge Monitor can be used to:

  • Trace and analyze the execution of Knowledgeware applications (exit status, execution times, I/O values, and, for advanced users, stack traces, memory references and memory footprints).
  • Check attributes and parameters values as logged at execution.
  • Trace the evolution of a given attribute throughout the entire execution, based on a reference or on a name.
  • Identify and Interact with logged entities in session.

This page discusses:

To access the Knowledge Monitor, click Knowledge Monitor Debug in the secondary area of the Tools section before activating the entity you want to trace.

Configuring the Knowledge Monitor

The Configuration Knowledge Monitor dialog box lists the available categories and their activation flags:

  • Enabled: Indicates that the tracing is activated for the execution units belonging to this category. EKL expressions can be hidden when belonging to some categories even if enabled in the interface.
  • Hidden: Indicates that the tracing stops for the entire branch under the unit (until an Enabled unit is hit, thus reactivating the tracing) when the execution hits a hidden category.
Note: Depending on the Knowledge Monitor configuration, modifying the state of a given category may not be allowed. In this case, the corresponding buttons may be dimmed in the Configure Knowledge Monitor dialog box.

Using the Knowledge Monitor

Click OK in the Configure Knowledge Monitor dialog box. Click Open Knowledge Monitor. The Knowledge Monitor window opens. It is divided into three boxes.

Note: You an access the knowledge browser from the Knowledge Monitor. It can provide you with additional information related to the objects you trace in the monitor provided these objects are still in session.

Time Line

The timeline (1) shows the complete trace at debug. Execution units are shown in a tree-like structure under a root node which is a virtual node independent from execution units.

The timeline indicates errors using an icon layered on top of the timeline icons.

This icon can be followed down in the tree until reaching the last error icon, which indicates the execution unit generating the error.

Unit Profile Area

Double-clicking a node in the timeline opens the Unit Profile Area (2).

Note: the unit profile area presentation may differ depending on the type of the execution unit you want to trace.

Attributes
An attribute is a single-value parameter, variable, or a logical grouping of variables (such as a list or an object). For simple attributes, the corresponding information appears in a single line. For complex attributes, the subvalues are displayed in individual lines under the containing parent. If a complex attribute (such as a list) has a single value, no value appears under the attribute. The value information appears in the same line as the attribute.

The Input/Output type (IN/OUT or NEUTRAL) of an attribute is identified by a generic icon and/or by a specific symbol when a specific icon is registered for the attribute.

  • : Generic input attribute.
  • : Input attribute symbol.
  • : Generic icon for neutral attributes.
  • : Neutral attribute symbol.
  • : Generic icon for output attributes.
  • : Output attribute symbol.

Some attribute values can have connections to objects in session. Such attributes are flagged using or and enable more advanced user interactions:

  • Selecting the attribute or its value highlights any representation of the object in the 3D area.
  • Right-clicking an attribute and selecting Search references enables you to track all references of the object (based on its address) throughout the timeline, or to track the changes made to the attribute.
Notes:
  • The result of the above operations appears in the Versatile View (3).
  • indicates that an attribute was modified. The attribute currently selected in the Unit Profile Area is designated using .

Messages

A message is a character string that conveys additional information about the execution. Messages can describe error conditions or detail an execution context. As stated previously, the execution unit profile can display additional information based on the category of the unit.

Signature
Available for EKL expressions for example, shows the method/operator signature being executed. A signature contains the name of the method/operator, the list of arguments, and the return type. The signature is identified by f(x).
Body
The body of an execution unit is the code being executed in the unit. For EKL expressions or Knowledge relations, this is mostly EKL code.

Versatile View

The Versatile View (3) enables you to:

  • Display results of interactions with the execution unit profile (track changes or references for example).
  • Display the code for EKL expressions or Knowledge relations.
  • Double-click the item in the profile to show the same text in the Versatile view.
  • Display results of text-based attribute search. Text-based searches help locate attributes based on their names or parts of their names.


Cross-Referencing and Highlighting

Double-clicking an item in the Versatile View filters the timeline to display the nodes that affect the attribute value. Select one of the Timeline Filtering options to check how this behavior can be controlled.

Note: Double-clicking an EKL node in the timeline opens its parent Knowledge relation profile in the profile view and the body in the Versatile View, while highlighting the code lines related to the EKL node.

Configuring the User Interface

You can set up the Knowledge Monitor by clicking View Options in the Knowledge Monitor window.

Execution Time Options: Options that control how the unit execution time appears.

  • Show execution full timestamp: Shows the time registered when entering and exiting the unit.
  • Show execution duration: Calculates and displays the time spent inside the execution unit.
  • Hide time information: No execution time displayed.

Mask Options: Options that control the icons displayed in the Knowledge Monitor window.

  • Show error icons: Controls if a symbol appears to identify the execution units exist status.
  • Identify in-session objects: Controls whether a special symbol appears on items (generally attribute values) linked to objects in session.

Timeline Filtering Options: Options that control the timeline behavior.

  • Show execution trace up to selected unit: Shows all units that executed prior to the activated node, when you activate an execution unit.
  • Show execution trace only in the selected unit branch: Hides all execution units except those located in the path between the start of execution tracing and the activated unit (included).
  • Only show execution units containing attributes (with their branches): Filters the timeline so that only execution units containing one of the shown attributes are displayed. This option is automatically disabled when the configuration dialog box is closed.