Skip to content

Siddhi Extensions

Available Extensions

Following are some pre-written extensions that are supported with Siddhi;

Extensions released under Apache 2.0 License

Name Description
execution-approximate The siddhi-execution-approximate is an extension to Siddhi that performs approximate computing on event streams.
execution-env The siddhi-execution-env extension is an extension to Siddhi that provides the capability to read environment properties inside Siddhi stream definitions and use it inside queries. Functions of the env extension are as follows..
execution-extrema The siddhi-execution-extrema extension is an extension to Siddhi that processes event streams based on different arithmetic properties. Different types of processors are available to extract the extremas from the event streams according to the specified attribute in the stream.
execution-geo The siddhi-execution-geo extension is an extension to Siddhi that provides geo data related functionality such as checking whether a given geo coordinate is within a predefined geo-fence, etc. Following are the functions of the Geo extension.
execution-graph The siddhi-execution-graph extension is an extension to Siddhi that provides graph related functionality to Siddhi such as getting size of largest connected component of a graph, maximum clique size of a graph, etc.
execution-kalmanfilter The siddhi-execution-kalman-filter extension is an extension to Siddhi provides that Kalman filtering capabilities to Siddhi. This allows you to detect outliers of input data.
execution-map The siddhi-execution-map extension is an extension to Siddhi that provides the capability to send a map object inside Siddhi stream definitions and use it inside queries. The following are the functions of the map extension..
execution-markov The siddhi-execution-markov extension is an extension to Siddhi that allows abnormal patterns relating to user activity to be detected when carrying out real time analysis.
execution-math The siddhi-execution-math is an extension to Siddhi, which provides useful mathematical functions that can make your siddhi queries more flexible.
execution-priority The siddhi-execution-priority extension is an extension to Siddhi that keeps track of the priority of events in a stream.
execution-regex The siddhi-execution-regex extension is an extension to Siddhi that provides basic RegEx execution capabilities.
execution-reorder The siddhi-execution-reorder extension is an extension to Siddhi that is used for reordering events from an unordered event stream. Reorder extension is implemented using the K-Slack and alpha K-Stack algorithms.
execution-sentiment The siddhi-execution-sentiment extension is an extension to Siddhi that performs sentiment analysis using Afinn Wordlist-based approach.
execution-stats The siddhi-execution-stats extension is an extension to Siddhi that provides statistical functions for aggregated events. Currently this contains median function which calculate the median of aggregated events. Calculation of median is done for each event arrival and expiry, it is not recommended to use this extension for large window sizes.
execution-streamingml The siddhi-execution-streamingml is an extension to Siddhi that performs streaming machine learning on event streams.
execution-string The siddhi-execution-string is an extension to Siddhi that provides basic string handling capabilities such as con-cat, length, convert to lowercase, and replace all.
execution-tensorflow The siddhi-execution-tensorflow is an extension to Siddhi that adds support for inferences from pre-built TensorFlow SavedModels using Siddhi.
execution-time The siddhi-execution-time extension is an extension to Siddhi that provides time related functionality to Siddhi such as getting current time, current date, manipulating/formatting dates and etc.
execution-timeseries The siddhi-execution-timeseries extension is an extension to Siddhi which enables users to forecast and detect outliers in time series data, using Linear Regression Models.
execution-unique The siddhi-execution-unique extension is an extension to Siddhi that processes event streams based on unique events. Different types of unique windows are available to hold unique events based on the given unique key parameter.
execution-unitconversion The siddhi-execution-unitconversion extension is an extension to Siddhi that enables conversions of length, mass, time and volume units.
io-cdc The siddhi-io-cdc extension is an extension to Siddhi. It receives change data from MySQL, MS SQL Server, Postgresql, H2 and Oracle in the key-value format.
io-email The siddhi-io-email extension is an extension to Siddhi that receives and publishes events via email. Using the extension, events can be published through smtp mail server and received through 'pop3' or 'imap' mail serves.
io-file The siddhi-io-file extension is an extension to Siddhi which is used to receive/publish event data from/to file. It supports both binary and text formats.
io-http The siddhi-io-http extension is an extension to Siddhi that allows you to receive and publish events via http and https transports and also allow you perform synchronous request and response. This extension works with WSO2 Stream Processor and with standalone Siddhi.
io-jms The siddhi-io-jms extension is an extension to Siddhi that used to receive and publishe events via JMS Message. This extension allows users to subscribe to a JMS broker and receive/publish JMS messages.
io-kafka The siddhi-io-kafka extension is an extension to Siddhi. This implements siddhi kafka source and sink that can be used to receive events from a kafka cluster and to publish events to a kafka cluster.
io-mqtt The siddhi-io-mqtt is an extension to Siddhi mqtt source and sink implementation,that publish and receive events from mqtt broker.
io-prometheus The siddhi-io-prometheus extension is an extension to Siddhi. The Prometheus-sink publishes Siddhi events as Prometheus metrics and expose them to Prometheus server. The Prometheus-source retrieves Prometheus metrics from an endpoint and send them as Siddhi events.
io-rabbitmq The siddhi-io-rabbitmq is an extension to Siddhi that publish and receive events from rabbitmq broker.
io-sqs The siddhi-io-sqs extension is an extension to Siddhi that used to receive and publish events via AWS SQS Service. This extension allows users to subscribe to a SQS queue and receive/publish SQS messages.
io-tcp The siddhi-io-tcp extension is an extension to Siddhi that allows to receive and publish events through TCP.
io-twitter The siddhi-io-twitter extension is an extension to Siddhi. It publishes event data from Twitter Applications in the key-value map format.
io-websocket The siddhi-io-websocket extension is an extension to Siddhi that allows to receive and publish events through WebSocket.
io-wso2event The siddhi-io-wso2event extension is an extension to Siddhi that receives and publishes events in the WSO2Event format via Thrift or Binary protocols.
map-binary The siddhi-map-binary extension is an extension to Siddhi that can be used to convert binary events to/from Siddhi events.
map-csv The siddhi-map-csv extension is an extension to Siddhi that supports mapping incoming events with csv format to a stream at the source, and mapping a stream to csv format events at the sink.
map-json The siddhi-map-json extension is an extension to Siddhi which is used to convert JSON message to/from Siddhi events.
map-keyvalue The siddhi-map-keyvalue extension is an extension to Siddhi that supports mapping incoming events with Key-Value map format to a stream at the source, and mapping a stream to Key-Value map events at the sink.
map-text The siddhi-map-text extension is an extension to Siddhi that supports mapping incoming text messages to a stream at the source, and mapping a stream to text messages at the sink.
map-wso2event The siddhi-map-wso2event extension is an extension to Siddhi that can be used to convert WSO2 events to/from Siddhi events.
map-xml The siddhi-map-xml extension is an extension to Siddhi that supports mapping incoming XML events to a stream at the source, and mapping a stream to XML events at the sink.
script-js The siddhi-script-js is an extension to Siddhi that allows to include JavaScript functions within the Siddhi Query Language.
store-cassandra The siddhi-store-cassandra extension is an extension to Siddhi that can be used to persist events to a Cassandra instance of the users choice. Find some useful links below:
store-hbase The siddhi-store-hbase extension is an extension to Siddhi that can be used to persist events to a HBase instance of the users choice. Find some useful links below:
store-mongodb The siddhi-store-mongodb extension is an extension to Siddhi that can be used to persist events to a MongoDB instance of the users choice. Find some useful links below:
store-rdbms The siddhi-store-rdbms extension is an extension to Siddhi that can be used to persist events to an RDBMS instance of the user's choice.
store-redis The siddhi-store-redis extension is an extension for siddhi redis event table implementation. This extension can be used to persist events to a redis cloud instance of version 4.x.x.
store-solr The siddhi-store-solr extension is an extension for siddhi Solr event table implementation. This extension can be used to persist events to a Solr cloud instance of version 6.x.x.

Extensions released under GPL License

Name Description
execution-geo The siddhi-gpl-execution-geo extension is an extension to Siddhi that provides geo data related functionality such as checking whether a given geo coordinate is within a predefined geo-fence, etc.
execution-nlp The siddhi-gpl-execution-nlp extension is an extension to Siddhi that can be used to process natural language.
execution-pmml The siddhi-gpl-execution-pmml extension is an extension to Siddhi that can be used to process texts based on a PMML processing model.
execution-r The siddhi-gpl-execution-r extension is an extension to Siddhi that can be used to process events with R scripts.
execution-streamingml The siddhi-execution-streamingml is an extension to Siddhi that performs streaming machine learning on event streams.

Extension Repositories

All the extension repositories maintained by WSO2 can be found here