All Projects → liflab → beepbeep-3

liflab / beepbeep-3

Licence: LGPL-3.0 license
An event stream processor anyone can use

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to beepbeep-3

openPDC
Open Source Phasor Data Concentrator
Stars: ✭ 109 (+445%)
Mutual labels:  stream-processing, stream-processing-engine
Siddhi
Stream Processing and Complex Event Processing Engine
Stars: ✭ 1,185 (+5825%)
Mutual labels:  cep, stream-processing
Wally
Distributed Stream Processing
Stars: ✭ 1,461 (+7205%)
Mutual labels:  stream-processing, stream-processing-engine
Wayeb
Wayeb is a Complex Event Processing and Forecasting (CEP/F) engine written in Scala.
Stars: ✭ 138 (+590%)
Mutual labels:  cep, stream-processing
EsperIoT
Small and simple stream-based CEP tool for IoT devices connected to an MQTT broker
Stars: ✭ 18 (-10%)
Mutual labels:  cep, stream-processing
gocells
Event Based Applications [DEPRECATED]
Stars: ✭ 69 (+245%)
Mutual labels:  event-stream, cep
Graylog Ansible Role
Ansible role which installs and configures Graylog
Stars: ✭ 173 (+765%)
Mutual labels:  log-analysis
correios-cep-elixir
Find Brazilian addresses by postal code, directly from Correios API. No HTML parsers.
Stars: ✭ 38 (+90%)
Mutual labels:  cep
Log3c
Log-based Impactful Problem Identification using Machine Learning [FSE'18]
Stars: ✭ 131 (+555%)
Mutual labels:  log-analysis
Ft Tree
IWQoS 2017: A toolkit for log template extraction
Stars: ✭ 123 (+515%)
Mutual labels:  log-analysis
akka-cqrs-activator
Issue tracker PoC application written in Scala (Akka) and JavaScript (React) that demonstrates event sourcing and CQRS
Stars: ✭ 33 (+65%)
Mutual labels:  event-stream
go-graphql-subscription-example
☝️ go-graphql subscription over Kafka/Redis/NSQ example
Stars: ✭ 34 (+70%)
Mutual labels:  event-stream
frizzle
The magic message bus
Stars: ✭ 14 (-30%)
Mutual labels:  stream-processing
Wazuh
Wazuh - The Open Source Security Platform
Stars: ✭ 3,154 (+15670%)
Mutual labels:  log-analysis
ReDe
A Redis dehydrator module
Stars: ✭ 63 (+215%)
Mutual labels:  stream-processing
Documentation
Stars: ✭ 133 (+565%)
Mutual labels:  log-analysis
Elkeid-HUB
Elkeid HUB is a rule/event processing engine maintained by the Elkeid Team that supports streaming/offline (not yet supported by the community edition) data processing. The original intention is to solve complex data/event processing and external system linkage requirements through standardized rules.
Stars: ✭ 62 (+210%)
Mutual labels:  stream-processing
Logdeep
log anomaly detection toolkit including DeepLog
Stars: ✭ 125 (+525%)
Mutual labels:  log-analysis
Wazuh Kibana App
Wazuh - Kibana plugin
Stars: ✭ 212 (+960%)
Mutual labels:  log-analysis
LogESP
Open Source SIEM (Security Information and Event Management system).
Stars: ✭ 162 (+710%)
Mutual labels:  log-analysis

BeepBeep 3: an expressive query processor for event streams

Travis Coverity Scan Build Status Coverage Downloads

BeepBeep is an event stream query engine. It can take as input various sources of events, pipe them through various processors, and produce various kinds of output streams from them. For more information about what is BeepBeep (including documentation, examples, etc.), please visit BeepBeep's website.

Repository structure {#structure}

The repository is separated across the following folders.

  • Core: main source files
  • CoreTest: test source files. You need to compile these files only if you want to run BeepBeep's unit tests.

Compiling the project contained in the present repository generates the file beepbeep-3.jar, which is the minimal file you need to run BeepBeep on your system.

Extensions

BeepBeep's engine contains very few processors. In typical use cases, these basic functionalities are extended by using one or more extra palettes, such as those found in the BeepBeep palette repository.

Compiling and Installing BeepBeep 3 {#install}

First make sure you have the following installed:

  • The Java Development Kit (JDK) to compile. BeepBeep is developed to comply with Java version 6; it is probably safe to use any later version.
  • Ant to automate the compilation and build process

Download the sources for BeepBeep from GitHub or clone the repository using Git:

[email protected]:liflab/beepbeep-3.git

The repository is separated into multiple projects. Each of these projects has the same Ant build script that allows you to compile them (see below).

If the project you want to compile has dependencies, you can automatically download any libraries missing from your system by typing:

ant download-deps

This will put the missing JAR files in the dep folder in the project's root.

Compiling

Compile the sources by simply typing:

ant

This will produce a file called beepbeep-3.jar (or another library, depending on what you are compiling) in the folder. This file is runnable and stand-alone, or can be used as a library, so it can be moved around to the location of your choice.

In addition, the script generates in the doc folder the Javadoc documentation for using BeepBeep. To show documentation in Eclipse, right-click on the jar, click "Properties", then fill the Javadoc location.

Testing

BeepBeep can test itself by running:

ant test

Unit tests are run with jUnit; a detailed report of these tests in HTML format is availble in the folder tests/junit, which is automatically created. Code coverage is also computed with JaCoCo; a detailed report is available in the folder tests/coverage.

Coverity Scan

BeepBeep uses Coverity Scan for static analysis of its source code and defect detection. Instructions for using Coverity Scan locally are detailed here. In a nutshell, if Coverity Scan is installed, type the following:

cov-build --dir cov-int ant compile

(Make sure to clean up the directory first by launching ant clean, followed by ant download-deps.)

Developing BeepBeep using Eclipse {#eclipse}

If you are using Eclipse to develop with BeepBeep, please refer to the dedicated tutorial Installing and Configuring in Eclipse, written by Jalves Nicacio.

In short:

  • Create a new empty workspace (preferably in a new, empty folder).
  • Create new projects for each of the folders Core, CoreTest, and optionally, any of the palette folders you with to develop. Note that these projects will not be located in the default location with respect to the workspace; you need to uncheck the "Use default location" option and fetch them manually.

Then, setup the build path for each project:

  • Core requires the Bullwinkle library (see above)
  • CoreTest depends on Core and requires the JUnit 4 library
  • Each of the palette folders depend on Core and require the JUnit 4 library
  • In addition, some of the palette projects may have other dependencies; please refer to their individual documentation

Warning {#warning}

The BeepBeep project is under heavy development. The repository may be restructured, the API may change, and so on. This is R&D!

About the author {#about}

BeepBeep 3 was written by Sylvain Hallé, full professor at Université du Québec à Chicoutimi, Canada. Part of this work has been funded by the Canada Research Chair in Software Specification, Testing and Verification and the Natural Sciences and Engineering Research Council of Canada.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].