Skip to content

Siddhi Extensions

Following are some supported Siddhi extensions;

Extensions released under Apache 2.0 License

Execution Extensions

Name Description Latest
Tested
Version
execution-string Provides basic string handling capabilities such as concat, length, replace all, etc. 4.1.1
execution-regex Provides basic RegEx execution capabilities. 4.1.2
execution-math Provides useful mathematical functions. 4.1.2
execution-time Provides time related functionality such as getting current time, current date, manipulating/formatting dates, etc. 4.1.1
execution-map Provides the capability to generate and manipulate map data objects. 4.1.0
execution-json Provides the capability to retrieve, insert, and modify JSON elements. 1.1.1
execution-unitconversion Converts various units such as length, mass, time and volume. 1.1.1
execution-reorder Orders out-of-order event arrivals using algorithms such as K-Slack and alpha K-Stack. 4.2.2
execution-geo Provides geo data related functionality such as such as geocode, reverse geocode and finding places based on IP. 4.1.1
execution-env Dynamically read environment properties inside Siddhi Apps. 1.1.0
execution-graph Provides graph related functionality such as getting size of largest connected component, maximum clique size of a graph, etc. 1.1.1
execution-priority Keeps track of the events based on priority. 4.1.1
execution-extrema Extract the extrema from the event streams such as min, max, topK and bottomK. 4.1.1
execution-unique Retains and process unique events based on the given parameters. 4.1.2
execution-stats Provides statistical functions such as median calculation. 1.1.1
execution-timeseries Enables forecast and detection of outliers in time series data, using Linear Regression models. 4.1.2
execution-streamingml Performs streaming machine learning (clustering, classification and regression) on event streams. 1.1.1
execution-tensorflow Supports running pre-built TensorFlow models. 1.1.1
execution-markov Detects abnormal sequence of event occurrences using probability. 4.1.1
execution-kalmanfilter Provides Kalman filtering capabilities to estimate values and detect outliers of input data. 4.1.1
execution-sentiment Performs sentiment analysis using Afinn Wordlist. 4.1.1
execution-approximate Performs approximate computing on event streams. 1.1.1

Input/Output Extensions

Name Description Latest
Tested
Version
io-http Receives and publishes events via http and https transports, calls external services, and serves incoming requests and provide synchronous responses. 1.2.1
io-nats Receives and publishes events from/to NATS. 1.0.5
io-kafka Receives and publishes events from/to Kafka. 4.2.1
io-email Receives and publishes events via email using smtp, pop3 and imap protocols. 1.1.1
io-cdc Captures change data from databases such as MySQL, MS SQL, Postgresql, H2 and Oracle. 1.0.10
io-tcp Receives and publishes events through TCP transport. 2.1.2
io-googlepubsub Receives and publishes events through Google Pub/Sub. 1.0.4
io-websocket Receives and publishes events through WebSocket. 1.1.1
io-file Receives and publishes event data from/to files. 1.1.1
io-jms Receives and publishes events via Java Message Service (JMS), supporting Message brokers such as ActiveMQ 1.1.2
io-mqtt Receives and publishes events from/to Kafka MQTT broker. 1.1.1
io-sqs Receives and publishes events from/to AWS SQS Services. 1.1.1
io-rabbitmq Receives and publishes events from/to RabbitMQ broker. 1.1.1
io-ibmmq Receives and publishes events from/to IBM MQ broker. 1.1.2
io-hl7 Receives and publishes events through hl7 transport. 1.0.4
io-snmp Receives and publishes events through SNMP transport. 1.0.1
io-prometheus Consumes and expose Prometheus metrics from/to Prometheus server. 1.0.3
io-twitter Publishes events to Twitter. 1.1.1
io-wso2event Receives and publishes events in the WSO2Event format via Thrift or Binary protocols. 4.1.1

Data Mapping Extensions

Name Description Latest
Tested
Version
map-json Converts JSON messages to/from Siddhi events. 4.1.2
map-xml Converts XML messages to/from Siddhi events. 4.1.2
map-text Converts text messages to/from Siddhi events. 1.1.2
map-avro Converts AVRO messages to/from Siddhi events. 1.0.67
map-keyvalue Converts events having Key-Value maps to/from Siddhi events. 1.1.2
map-csv Converts messages with CSV format to/from Siddhi events. 1.1.1
map-binary Converts binary events that adheres to Siddhi format to/from Siddhi events. 1.1.1
map-wso2event Converts WSO2 events to/from Siddhi events. 4.1.1

Store Extensions

Name Description Latest
Tested
Version
store-rdbms Persist and retrieve events to/from RDBMS databases such as MySQL, MS SQL, Postgresql, H2 and Oracle. 5.1.7
store-mongodb Persist and retrieve events to/from MongoDB. 1.1.0
store-elasticsearch Persist and retrieve events to/from Elasticsearch. 2.0.0
store-redis Persist and retrieve events to/from Redis. 2.1.0
store-cassandra Persist and retrieve events to/from Cassandra. 1.1.1
store-hbase Persist and retrieve events to/from HBase. 4.1.1
store-solr Persist and retrieve events to/from Apache Solr. 1.1.1
store-influxdb Persist and retrieve events to/from InfluxDB. 1.0.2

Script Extensions

Name Description Latest
Tested
Version
script-js Allows writing user defined JavaScript functions within Siddhi Applications to process events. 4.1.1

Extensions released under GPL License

Execution Extensions

Name Description Latest
Tested
Version
execution-pmml Process pre built PMML Machine Learning models.
execution-streamingml Performs streaming machine learning on event streams.
execution-geo Provides geo data related functionality such as geo-fence, distance, closest points, etc.
execution-nlp Process natural language processing functionality.

Script Extensions

Name Description Latest
Tested
Version
execution-r Allows writing user defined R functions within Siddhi Applications to process events.
Top