Joule
Search
K
Comment on page

About processors

Processors form the core of the Joule platform. A processor performs a distinct unique function when chained with others form a business use case
Processors when chained together form a use case, known as a pipeline. Events are processed in sequence with final events either being presented to the select processor or connected transports.
Processors can be categoristed in to various functional grouping that reflect there purpose within the platform
  • Filtering
  • Enrichment
  • Transformation
  • Activiation based
  • Analytical
Joule has provided a number of core features for developers to build off of for custom use case components

Core Attributes

Every processor that inherits from the base class AbstractProcessor , using the Joule SDK, will gain these core features.
Attribute
Description
Data Type
Required
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

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