Aggregation Agent - Real-Time (2.2)

The real-time Aggregation agent's configuration dialog includes the following tabs: 

  • General
  • APL Code
  • Storage

General Tab

SettingDescription

Profile

Click Browse...and select an Aggregation profile.

All the workflows in the same workflow configuration can use different Aggregation profiles. For this to work, the profile has to be set to Default in the Field settings tab in the Workflow Properties dialog. After this, each workflow in the Workflow Table can be assigned with the correct profile.

Force Read Only

Select this check box to only use the aggregation storage for reading aggregation session data.

If you select this setting, timeout handling is disabled.

When using file storage and sharing an Aggregation profile across several workflow configurations, the read and write lock mechanisms that are applied to the stored sessions must be considered:

  • There can only be one write lock at a time in a profile. This means that all but one Aggregation agent must have the Force Read Only setting enabled.

  • If all of the Aggregation agents are configured with Force Read Only, any number of read locks can be granted in the profile.

  • If a write lock is set, a read lock cannot be granted.

If Timeout is Missing

Select the action to take if timeout for sessions is not set in the APL code using sessionTimeout. The setting is evaluated after each consume or timeout function block has been called (assuming the session has not been removed).

The available options are:

  • Ignore - Do nothing. This may leave sessions in the system indefinitely if the closing UDR does not arrive.

  • Abort - Abort the agent execution. This option is used if timeout must be set at all times. Therefore, a missing timeout is considered a configuration error.

  • Use Default Timeout - Allow the session timeout to be set here instead of within the code. If enabled, a field becomes available. In this field, enter the timeout, in seconds.

If No UDR Match is Found

Select the action that the agent is to take when a UDR that arrives does not match any session, and Create Session on Failure is disabled in the profile configuration:

  • Ignore - Discard the UDR.

  • Log Event - Discard the UDR and generate a message in the System Log.

  • Route - Send the UDR on the route that you select from the on list. This is a list of output routes through which the UDR can be sent. The list is only activated if Route is selected.

APL Code Tab

The APL Code tab allows you to manage the detailed behavior of the Aggregation agent. You use the Analysis Programming Language (APL) with some limitations but also with additional functionality. For further information see Aggregation APL Functions (2.2).

The main function block of the code is consume. This block is invoked whenever a UDR has been associated with a session.

The timeout block enables you to handle sessions that have not been successfully closed, e g if the final UDR has not arrived.

Item

Description

Code Area

This is where you write your APL code. For further information about the code area and its right-click menu, see Text Editor in /wiki/spaces/MD/pages/3221849.

Compilation Test...

Use this button to compile your code and check that it is valid. The status of the compilation is displayed in a dialog. Upon failure, the erroneous line is highlighted and a message, including the line number, is displayed.

Outline

Use this button to display or hide the APL Code Editor Outline navigation panel. The navigation panel provides a view of all the blocks, variables and methods in an APL code configuration and makes it possible to easily navigate between different types in the APL code. For further information on the Outline navigation panel, see /wiki/spaces/MD/pages/3221849.

Storage Tab

The Storage tab contains settings that are specific for the selected storage in the Aggregation profile. Different settings are available in batch and real-time workflows.

File Storage

When using file storage for sessions in a batch workflow, the Storage tab contains a setting to control how often the timeout block should be executed. In this tab, it is also specified when the changes to the aggregation data is written to file.


The Aggregation agent configuration dialog - Storage tab for File Storage

SettingDescription

Session Timeout Interval (seconds)

Determines how often, in seconds, the timeout block is invoked for outdated sessions.


Storage Commit Interval (seconds)

Determines how often, in seconds, the in-memory data is saved to files on disk.

Storage Commit Interval (#Processing Calls)

Determines the number of Processing Calls before the in memory data is saved to files on disk. A 'Processing Call' is an execution of any of the blocks consumecommand or timeout.

If both this option and the Storage Commit Interval (seconds) are configured, commits are made when any of them are fulfilled.

Note!

  • If  Storage Commit Interval (seconds) and/or  Storage Commit Interval (#Processing Calls) are configured, data left in memory when the workflow stops is saved to file.

  • If  Storage Commit Interval (seconds) and Storage Commit Interval (#Processing Calls) are not configured, none of the sessions in-memory are stored on disk. The session count displayed in the Aggregation Inspector does not include these sessions.

  • When the  Max Cached Sessions in the Aggregation profile is exceeded, and  Storage Commit Interval (seconds) and  Storage Commit Interval (#Processing Calls) are not configured, the agent deletes the oldest session. This is done to allocate space for the new session while still staying within the limit.

CouchBase Storage

The Aggregation agent configuration dialog - Storage tab for CouchBase Storage


SettingDescription

If Error Occurs in Storage

Select the action that the agent should take when an error occurs in the storage:

  • Ignore  - Discard the UDR.

  • Log Event  - Discard the UDR and generate a message in the System Log.

  • Route  - Send the UDR on the route selected from the on list. This is a list of output routes on which the UDR can be sent. The list is only activated if Route is selected.

Disable TimeoutSelect this check box to disable the timeout handling.

Redis Storage

The Aggregation agent configuration dialog - Storage tab for Redis Storage


SettingDescription

If Error Occurs in Storage

Select the action that the agent should take when an error occurs in the storage:

  • Ignore  - Discard the UDR.

  • Log Event  - Discard the UDR and generate a message in the System Log.

  • Route  - Send the UDR on the route selected from the on list. This is a list of output routes on which the UDR can be sent. The list is only activated if Route is selected.

Disable TimeoutSelect this check box to disable the timeout handling.

Meta Information Model

The Aggregation agent publishes various MIM parameters. The values of the MIM parameters below are reset when the EC is started.

MIM ParameterDescription
Created Session Count

This MIM parameter contains the number of sessions created.

Created Session Count is of the long type and is defined as a global MIM context type.

Online Session Count

This MIM parameter contains the number of sessions cached in memory.

Online Session Count  is of the int type and is defined as a global MIM context type.

Session Cache Hit Count

When an already existing session is read from the cache instead of disk, a cache hit is counted.

This MIM parameter contains the number of cache hits.

Session Cache Hit Count is of the long type and is defined as a global MIM context type.

Session Cache Miss Count

When an already existing session is requested and the Aggregation profile cannot read the session information from the cache and instead reads the session information from disk, a cache miss is indicated. If a non-existing session is requested, this will not be counted as a cache miss.

This MIM parameter contains the number of cache misses counted by the Aggregation profile.

Session Cache Miss Count is of the long type and is defined as a global MIM context type.

Session Count

This MIM parameter contains the number of sessions in storage on the file system.

Session Count is of the int type and is defined as a global MIM context type.

Debug Events

Debug messages are dispatched in debug mode. During execution, the messages are displayed in the Workflow Monitor.

The agent produces the following debug event:

  • Aggregation Storage implementation
    This event is reported during workflow initialisation.