Git Product home page Git Product logo

mig's People

Contributors

dajohi avatar djmitche avatar exec64 avatar gdestuynder avatar jdiez17 avatar jvehent avatar kishorbhat avatar mvanotti avatar netantho avatar novemburr avatar sushant94 avatar

Watchers

 avatar  avatar

mig's Issues

[mig audit module] queue messages if the dispatch function is busy

Currently the messages are written to jsonBuffChan which is a buffered channel, so if the dispatch function is busy, it'll fill the buffer, and if the buffer is filled the messages will be skipped from dispatching.
The ideal condition will be to find a good buffer limit so that if the dispatch function fail to send a message, it can take time to retry.

[mig audit module] Design queue buffers in ring fashion

Design the buffer in mig audit module which are used to dispatch events to outputs in such a fashion that it drops the least recent message if the buffer is full.
[currently] the buffer is a channel buffer and if the buffer is full incoming messages will be dropped.

[persistent module] Consider using `bufio.Reader` instead of `bufio.Scanner` while feeding from module's stdout

See previous discussion here: mozilla@25c6d6a#r71168607
Quoting the docs:

When a scan stops, the reader may have advanced arbitrarily far past the last token. Programs that need more control over error handling or large tokens, or must run sequential scans on a reader, should use bufio.Reader instead

If any issue appears while using scanner we should consider using reader. Also scanner includes a caveat that by defaults it splits the input only after a \n symbol. ( \n is the default token, unless we provide our own filter function). So the persistent module should always end their messages by a \n.

[future mig module] cleanup before shutting down module

One that could be desirable before shutting down the module is to properly clean up queues, wait for go-routines to finish up and then close. Currently we are directly crashing the module on receiving the termination signal.

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.