Overview

Processors form the core of the Joule platform. A processor performs a distinct unique function when chained with others form a business use case


A use case core definition is based upon the processing pipeline. A pipeline is formed of one or more linked processors. This follows the functional programming paradigm whereby each processor performs a distinct process.

Events are processed in sequence with the final event either being presented to a select processor or directly to connected transports.


Available processor types

Joule has provided a number of core processors for developers to leverage to build domain use case. Processors can be categorised in to various functional grouping that reflect there purpose within the platform.

Filtering

Reduce stream processing overhead by filtering unnecessary events

Enrichment

Enrich events using linked reference data, metrics and analytics

Transformation

Transform event attribute values based upon a desired target state

Triggers

Apply rule based triggers for downstream business actions


Observability and Metrics

Each OOTB processor record and presents event metrics to JMX monitoring platforms. This provides direct insight into how a streaming use case is performing.

Metrics available

  • Received

  • Processed

  • Failed

  • Discarded

  • Ignored

  • Average processing latency

All of these metrics are enabled by default and presented as JMX beans on the standard monitoring ports.

Enable JMX

Apply these settings to the joule execution path

-Dcom.sun.management.jmxremote.port=5000
-Dcom.sun.management.jmxremote.rmi.port=5000

For further information use the instructions in Monitoring and Management Using JMX Technology

Core attributes

Every processor that inherits from the base class AbstractProcessor , using the Joule SDK, will gain these core features.

AttributeDescriptionData TypeRequired

name

Uniquie name of processor.

String

Default: Random UUID

enabled

Toogle to enable processor processing

Boolean

Default: true

properties

Processor specific properties

Map

clone event

Toogle to clone event for processing. Note this will cause significant memory overhead for high load use cases

Boolean

Default: false

stores

External data stores can be attached, useful for analytics, enrichment, filtering and transformation use cases

latency trigger

Number of events processed to trigger the average processing calculation. A value less than 1 switches off the calculation.

Integer

Default: 1000

Last updated