/distribution

Siddhi streaming runtime and tooling distribution

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Siddhi Distribution

Jenkins Build Status GitHub (pre-)release GitHub (Pre-)Release Date GitHub last commit License

Introduction

Siddhi is a Streaming and Complex Event Processing engine that listens to events from data streams, detects complex conditions described via a Streaming SQL language, and triggers actions. This repo contains necessary source code which creates the Siddhi runner and Siddhi tooling distributions by embedding Siddhi library in it.

Siddhi maintains two distributions as Siddhi-Runner and Siddhi-Tooling distribution.

  • Siddhi-Runner distribution bundles the Siddhi runtime which runs the Siddhi logic in a production environment.

  • Siddhi-Tooling distribution bundles the tooling editor profile which can be used for developing, testing and debugging Siddhi applications before moving to production.

Build from Source

Prerequisites

Steps to Build

  1. Get a clone or download source from Github

    git clone https://github.com/siddhi-io/distribution.git
  2. Run the Maven command mvn clean install from the root directory

  3. Find the Siddhi distributions in the following directories,
    Runner: runner/target
    Tooling: tooling/target

Try Siddhi Runner & Tooling

Siddhi Runner Distribution

Download the latest released distributions from here

  1. Extract the Siddhi runner distribution.

  2. Unzip the siddhi-runner-x.x.x.zip.

  3. Navigate to the <RUNNER_HOME>/bin directory. Start SiddhiApps with the runner config by executing the following commands from the distribution directory

    Linux/Mac :

    ./bin/runner.sh -Dapps=<siddhi-file> -Dconfig=<config-yaml-file>

    Windows :

    bin\runner.bat -Dapps=<siddhi-file> -Dconfig=<config-yaml-file>

Running Multiple SiddhiApps in one runner

To run multiple SiddhiApps in one runtime, have all SiddhiApps in a directory and pass its location through -Dapps parameter as follows,

-Dapps=<siddhi-apps-directory>

"Always use absolute path for SiddhiApps and runner configs." Providing absolute path of SiddhiApp file, or directory in -Dapps parameter, and when providing the Siddhi runner config yaml on -Dconfig parameter while starting Siddhi runner.

Siddhi Tooling Distribution

Download the latest released distributions from here

  1. Extract the Siddhi tooling distribution.
  2. Navigate to the <TOOLING_HOME>/bin directory and issue the following command:
    For Windows: tooling.bat
    For Linux: ./tooling.sh
  3. Access the Editor UI using the following URL.
    http://localhost:<EDITOR_PORT>/editor (e.g: https://localhost:9390/editor)

Please refer the link for more details.

Reporting Issues

We encourage you to report issues. However, please consider searching the existing issues in GitHub and communicating in Siddhi-Dev Google Group if you are unsure if it is a bug before filing a new issue.

To file a non-security issues:

  1. Click the Issues tab in the GitHub repository,

  2. Click the New Issue button,

  3. Fill out all sections in the issue template and submit.

Communicating with the team

Siddhi-Dev Google Group Group is the main Siddhi project discussion forum for developers.

Users can use Siddhi-User Google Group to raise any queries and get some help to achieve their use cases.

StackOverflow also can be used to get support, and GitHub for issues and code repositories.