Calculate Real-time Metrics

This handler (com.rierino.handler.siddhi.JsonSiddhiEventHandler) provides ability to build real-time intelligence and CEP capabilities using Siddhi library.

Handler Parameters

Parameter
Definition
Example
Default

dataflow.state

Name of the state manager with dataflow configurations

dataflow

-

dataflow.ids

Comma separated list of dataflow ids to run on this Siddhi instance

session_dna,customer_dna

-

partition.stream

Stream, from which the data partition information should be received

sessionq

-

dataflow.store.system

Name of the system to store Siddhi persistence data

hdfs_default

-

dataflow.local.dir

Local directory to store interim Siddhi persistence data

/tmp

java.io.tmpdir

Example Siddhi Handler Definition (Can be Imported on Element Screen)

This handler requires the following dependency added to deployment contents:

implementation (group:'com.rierino.custom', name: 'siddhi', version:"${rierinoVersion}")

Actions

Get / GetRT

Returns stored real-time data for a given id from Siddhi tables. Event metadata fields applicable for this action are as follows:

Field
Definition
Example
Default

domain

Name of the Siddhi table to query on

session_latest

-

inputElement

Json path for the input in request event payload

basket

-

outputElement

Json path for the output in response event payload

basket

-

With event metadata parameters as:

Parameter
Definition
Example
Default

outputPattern

JMESPath pattern to apply on data output, before returning response

{totalPrice:basket.totalPrice}

-

dataflow

Id of the dataflow from which data will be received

session_dna

-

idField

Name of the id field to query on Siddhi table

sessionid

id

idPath

Json path for the id field in input element

session.id

id

Example

Input

{
    "parameters": {
        "id": "path-1"
    }
}

Event Metadata

GetQuery / GetQueryRT

Returns stored real-time data for a given id from Siddhi tables. Event metadata fields applicable for this action are as follows:

Field
Definition
Example
Default

inputElement

Json path for the input in request event payload

basket

-

outputElement

Json path for the output in response event payload

product

-

With event metadata parameters as:

Parameter
Definition
Example
Default

outputPattern

JMESPath pattern to apply on data output, before returning response

{id:id, name:data.name, description:data.description}

-

dataflow

Id of the dataflow from which data will be received

session_dna

-

queryId

Id of the query to execute

product_search_0001

-

queryJson

Full Json representation of query to execute

-

-

queryName

Name of the query to execute

Product Search

-

Example

Input

{
    "parameters": {
        "category": "cat-1"
    }
}

Event Metadata

Roles

processRole

Passes a Json object to Siddhi, mapping it to a source stream across all data flows with a matching input, which triggers real-time update of metric calculations.

Last updated