0.0.1 • Published 10 years ago

fless v0.0.1

Weekly downloads
2
License
-
Repository
github
Last release
10 years ago

fless

Frictionless monitored flow manager

Structure

  • Machine
    • Fless instances
      • Sockets
        • Messages

Monitoring data

Data structure

  • Machine
    • id
    • disk (HOT DATA)
    • memory (HOT DATA)
    • load (HOT DATA)
    • Fless instances
      • id
      • alias
      • process
        • pid
        • cwd
        • argv
        • memory (HOT DATA)
        • load (HOT DATA)
      • Sockets
        • type
        • status (HOT DATA)
        • Messages (HOT DATA)
          • count
          • io data sample

Cold data

Instance PUB -> SUB Monitor

  • Machine
    • id
    • Fless instances
      • id
      • alias
      • process
        • pid
        • cwd
        • argv
      • Sockets
        • type

Hot data

Instance RES <- REQ Monitor

  • machine
    • disk
    • memory
    • load
    • processes
      • memory
      • load
    • instances
      • sockets
        • status
        • messages
          • count
          • sampling

Hotest data (each event)

Instance PUB -> SUB Monitor

  • machine up
  • machine error
  • instance up
  • instance error
  • socket status change

Dependencies

Installation & usage

npm install --save fless

producer.js

var Fless = require('fless');
var flow = new Fless('producer');
var sock = flow.socket('push');
sock.bindSync('tcp://*:3000');
setInterval(function(){
  sock.send('hello');
}, 150);

worker.js

var Fless = require('fless');
var flow = new Fless('worker');
var sock = flow.socket('pull');
sock.connect('tcp://*:3000');
sock.on('message', function(msg){
  console.log('work: %s', msg.toString());
});

monitor.js

var Fless = require('fless');
var flow = new Fless('monitor');
var handle = Fless.panel(9000);
flow.monitor(handle);
flow.monitor(function(){
  this.on('message', function(){});
});

Contribute

Environment setup instructions for developing and testing

Dependencies

Installation

git clone https://github.com/edinella/fless.git && cd fless

vagrant up
vagrant ssh

Testing

npm test