Create EDA Event Sources

You can register subscriptions with the Event Bus. This creates EDA Event Sources that hold published events in memory and a corresponding event mashable in MashZone NextGen.

Procedure

  1. Open the MashZone NextGen Admin Console.
  2. Click Event Service to expand this section of the Administration menu.
  3. Click Event Service. The Event Service page is displayed.
  4. Open the EDA tab.
  5. Click Create EDA Event Source.
  6. Set the properties for this event source. See table EDA Event Source properties below.
  7. Click Save.

The EDA Event Source is created and listed by alias name.

EDA Event Source properties

Property

Required

Description

Alias

yes

Enter a unique name for this event source.

Start event source automatically on server startup

 

This option is set by default, which automatically starts this event source when MashZone NextGen Server starts. Clear this option if you need to manually control startup for this event source.

Event type

yes

Click Refresh to update the list of event types. Select the type of the event this event source should subscribe to. The XML schema files for these event types must exist in the Event Type Store directory of MashZone NextGen Event Service. The Event Type Store directory can be configured using Command Central.

Filter predicates

 

Enter a filter expression defining the events to be published to this event source.

Check validity

 

Available only if Strategy is set to Buffer.

Determines whether saved events are valid with respect to the current time frame for the application (ta) and removes invalid events from the event source.

  • An event has a time stamp in the form of a time interval (I) = Start time - End time [ts - te); with ts being an element of I, and te not being an element of I.
  • The current time of the application is determined by the start time of the last received event.
  • An event is valid if the current time of the application is within the interval, i.e., [ts <= ta < te).

Preprocess and filter heartbeats

 

Removes empty events with no data from the event source. Empty events can, however, update the application time and thus can force a consolidation of the event source content.

Strategy

yes

The strategy that this event source uses for saving and removing events published from the Event Bus. Valid strategies are:

  • BUFFER = FIFO (first in-first out). Events are stored until event source memory reaches capacity and then the event source removes the oldest events.
  • DELTA= Events are stored by ID and added, updated or removed based on a command within the event. An event with an Insert command is saved in event source memory, any existing event with the same ID is overwritten. An event with a Remove command removes an existing event with the same ID.

Consider dimension

 

Available only when Strategy is set to BUFFER.

Set this option to save events in separate series (or buckets) for each unique value of the Dimension attribute.

Dimension attribute

conditional

Available only when Strategy is set to BUFFER and required when the Consider dimension option is set.

Select the event attribute whose unique values determine separate event series (buckets) for this event source.

Max. number of dimension values

conditional

Available only when Strategy is set to BUFFER and required when the Consider dimension option is set.

Enter the maximum number of unique dimension values (buckets) that can be tracked. Thus this is the maximum number of series that can store events.

Default value: 1 (Max: 100.000).

The product of Max. number of dimension values and Capacity per dimension value must not be greater than 100.000.

Dimension Squeeze-out

 

Available only when Strategy is set to BUFFER and required when the Consider dimension option is set.

Determines how additional events are handled if they have new unique values for the dimension that defines buckets in this event source but the maximum number of unique values (buckets) has already been reached.

This option is clear by default which discards new events with new unique dimension values once the maximum number of buckets has been reached.

Set this option to change the bucket strategy to FIFO (first-in, first-out) which discards events for older series (buckets) and stores the newer event in a new series (bucket).

Default value: false

Capacity per dimension value

conditional

Available only when Strategy is set to BUFFER and required when the Consider dimension option is set.

Enter the maximum number of events that can be stored in a specific event series (bucket) for each unique dimension value.

Default value: 10

The product from Max number of dimension values and Capacity per dimension value must not be more than 100 000.

Event ID attribute

yes

Available only when Strategy is set to DELTA.

Select the attribute that identifies an event. The event ID and command determines which events are stored, updated or removed in this event source.

Command attribute

yes

Available only when Strategy if set to DELTA.

Select the attribute that contains the event command (Insert or Remove). The event ID and command determines which events are stored, updated or removed in this event source.

Capacity

yes

Enter the maximum number of events to store in this event source. (Max: 100.000)

Default value: 10

Memory model

 

Determines where events are stored:

  • Internal: the default which stores events in local memory for this event source.
  • BigMemory Max: stores events in a local BigMemory Max cache.

Throttling

 

Controls the speed and volume of event data that is pushed to views that subscribe to this event source. By default, event sources push event data every 500 milliseconds. You can:

  • Change the number of milliseconds to control throttling.
  • Change the measurement (Default=500) to Events to have throttling wait until a specific number of events are received and change the number, if needed.

See example below.

Exception

 

Set this option to support a hybrid throttling strategy, typically involving both time and event limitations. Then set the exception criteria (Default=1):

  • A number
  • Milliseconds or Events as the measurement for the exception criteria

See example below

Simple and Hybrid Throttling Strategies

Simple throttling strategies cause an event source to wait for either a specific time interval or for the receipt of a specific number of events and then push all new events to any subscribing real-time views. Throttling can slow event updates to real-time views when the volume or frequency for events causes rendering issues.

The default behavior is to push events to views based on a time interval of every 500 milliseconds. You can change the time interval or change the criteria to push events once a minimum count of events are received, such as 10 events. For example:

Simple strategies may still not even out event flow adequately. Instead, you can create hybrid strategies, such as "generally push every 50 milliseconds, but at most 10 events."

Hybrid strategies define the general throttling with the Throttling fields. You set the Exception option and define the exception that should break the general rule in the Exception criteria fields:

With the example hybrid throttling strategy shown above:

On the EDA Event Source overview page you can click on the Alias to show a preview of the specific Event Source properties.