Skip to content
This repository has been archived by the owner on Oct 5, 2021. It is now read-only.

Latest commit

 

History

History
87 lines (58 loc) · 14.1 KB

README.md

File metadata and controls

87 lines (58 loc) · 14.1 KB

siddhi-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.

Find some useful links below:

Latest API Docs

Latest API Docs is 5.0.0.

How to use

Using the extension in WSO2 Stream Processor

  • You can use this extension in the latest WSO2 Stream Processor that is a part of WSO2 Analytics offering, with editor, debugger and simulation support.

  • This extension is shipped by default with WSO2 Stream Processor, if you wish to use an alternative version of this extension you can replace the component jar that can be found in the <STREAM_PROCESSOR_HOME>/lib directory.

Using the extension as a java library

  • This extension can be added as a maven dependency along with other Siddhi dependencies to your project.
     <dependency>
        <groupId>org.wso2.extension.siddhi.execution.extrema</groupId>
        <artifactId>siddhi-execution-extrema</artifactId>
        <version>x.x.x</version>
     </dependency>

Jenkins Build Status


Branch Build Status
master Build Status

Features

  • bottomK (Stream Processor)

    bottomK counts the frequency of different values for a specified attribute, and returns the number of least frequently occurring values. The events are returned only if there is a change in the 'bottomK' results for each chunk of received events.

  • bottomKLengthBatch (Stream Processor)

    bottomKLengthBatch counts the frequency of different values of a specified attribute inside a batch window, and returns the number of least frequently occurring values. The bottom K frequency values are returned per batch.

  • bottomKTimeBatch (Stream Processor)

    bottomKTimeBatch counts the frequency of different values for a specified attribute inside a time window, and outputs a specified number of least frequently occurring values. Events are output only if there is a change in the bottomK results for each chunk of received events.

  • kalmanMinMax (Stream Processor)

    kalmanMinMax uses the Kalman filter to smooth the values of the time series in the given window size, and then determines the maxima and minima of that set of values. It returns the events with the minimum and/or maximum values for the specified attribute within the given window length, with the extrema type as min or max as relevant.

  • kernelMinMax (Stream Processor)

    kernelMinMax uses Gaussian Kernel to smooth values of the series within the given window size, and then determines the maxima and minima of that set of values. It returns the events with the minimum and/or maximum values for the specified attribute within the given window length, with the extrema type as min or max as relevant.

  • minMax (Stream Processor)

    minMax finds the minimum and/or the maximum value within a given length window (maxPreBound+maxPostBound), where following conditions are met.

    For minimum:
    An event where the value for the specified attribute is greater by the percentage specified as the preBoundChange must have arrived within the maxPreBound length window before the event with the minimum value.
    An event where the value for the specified attribute is greater by the percentage specified as the postBoundChange must have arrived within the maxPostBound length window after the event with the minimum value.

    For maximum:
    An event where the value for the specified attribute is less by the percentage specified as the preBoundChange must have arrived within the maxPreBound length window before the event with the maximum value.
    An event where the value for the specified attribute is less by the percentage specified as the postBoundChange must have arrived within the maxPreBound length window after the event with the maximum value.

    The extension returns the events with the minimum and/or maximum for the specified attribute within the given window length, with the extrema type as min or max as relevant. These events are returned with the following additional parameters.
    preBound: The actual distance between the minimum/maximum value and the threshold value. This value must be within the MaxPreBound window.
    postBound: The actual distance between the minimum/maximum value and the threshold value. This value must be within the MaxPostBound window.

  • topK (Stream Processor)

    topK counts the frequency of different values of a specified attribute, and emits the (k) number of values with the highest frequency.

  • topKLengthBatch (Stream Processor)

    topKLengthBatch counts the frequency of different values of a specified attribute, within a batch window of a specified length, and emits the (k) number of values with the highest frequency.

  • topKTimeBatch (Stream Processor)

    topKTimeBatch counts the frequency of different values of a specified attribute within a time window, and emits the (k) number of values with the highest frequency.

  • maxByLength (Window)

    maxByLength returns the event with the maximum value for the given attribute in the specified sliding window.

  • maxByLengthBatch (Window)

    maxByLengthBatch calculates and returns the maximum value of a specified attribute inside a batch window.

  • maxbytime (Window)

    maxbytime calculates the maximum value of a specified attribute within a sliding time window and emits it. The output is updated for every event arrival and expiry during the time.window.length specified.

  • maxbytimebatch (Window)

    maxbytimebatch calculates the maximum value of a specified attribute within a time window, and emits it.

  • minByLength (Window)

    minByLength derives the minimum value for the given attribute in the specified sliding window.

  • minByLengthBatch (Window)

    minByLengthBatch calculates the minimum value of a specified attribute inside a batch window and emits it.

  • minbytime (Window)

    minbytime calculates the minimum value of a specified attribute within a sliding time window and emits it. The output is updated for every event arrival and expiry during the time.window.length specified.

  • minbytimebatch (Window)

    minbytimebatch calculates the minimum value of a specified attribute within a time window, and emits it.

How to Contribute

Contact us

Support

  • We are committed to ensuring support for this extension in production. Our unique approach ensures that all support leverages our open development methodology and is provided by the very same engineers who build the technology.

  • For more details and to take advantage of this unique opportunity contact us via http://wso2.com/support/.