Code Monkey home page Code Monkey logo

siridb-enodo-hub's People

Contributors

anjabruls avatar joente avatar koos85 avatar robbm1 avatar timoj avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

siridb-enodo-hub's Issues

Configuration

Add configuration for:

  • default min period for data to analyse for a pattern
  • Siridb server credentials, to query for base/history data

Enodo Realtime Anomaly Detection worker

TLDR;

We need to make a realtime worker for anomaly detection

Description

In order to process series fast enough we need a worker that holds an forecast result for a series as state. When a new datapoint comes in, it should be evaluated within a very short timespan.

Features

  • Request forecast via Hub from other worker
  • Hold datapoint count to check if it is large enough
  • Hold errors from forecast result if any

event state/history

  • Create event state / history
  • Create auto close template
  • Collect response from external system to be used in auto close template

Enodo worker client

TLDR;

We need a new client to the worker, which handles the incoming requests, and send result or job requests to the Hub

Description

To accomodate the new worker, we can update the worker client in the lib

Features

  • Worker holds state
  • Worker cleans state of series after N-amount of time
  • Worker can be queried for data
  • On a friendly shutdown the worker should save its state to disk. This will help reduce the amount of siridb queries it has to make on startup

split services in enodo hub

TLDR;

We need to remove the scheduling part from the Hub into a seperate service. the remaining functionality of the hub will stay in the Hub service, with the difference that multiple Hub instances are possible, and will be kept up-to-date via ThingsDB

Description

The Hub service handles API requests and incoming datapoints that the listeners send through. The Hub services holds a list with series names and their config.

Functionality

Some agreements on functionality:

  • We explicit insert series for realtime analysis. This will be a property on the series config
  • Hub has no state only config
  • Bulk endoints for inserting and querying
  • Hub sends worker config to worker on handshake
  • Hub should be able to restart without any complications. All data should go via thingdb
  • The Hub uses an algorithm to determine which series goes to which worker, for easy scalability of the workers

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.