proteusjs

1.0.0 • Public • Published

proteusjs

proteusjs has a ability to monitor various events emitted from hapi, wreck, knex as well as ops information from the host machine. It listens for events emitted by different source and pushes standardized events to a collection of streams. It's primary focus is to monitor server, database and remote call events in an application.

Build Status codecov Current Version

Lead Maintainer: Jai Kishan

##Example Usage

proteusjs.config.js

'use strict';

const Proteus = require('proteusjs');
const ProteusConsole = require('proteusjs-console');
const Database = require('./database.js');
const Wreck = require('wreck');

module.exports = {
  register: Proteus,
  options: {
    reporters : {
      console : ProteusConsole
    },
    //hapi setup
    hapi: {
      log: {
        log: true,
        request: true,
        response: true,
        ops: true,
        error:true
      }
    },
    //knex config
    knex: {
      lib: Database,
      enable: true,
      log: {
        query: true,
        error: true,
        end: true,
        queryerror: true
      }
    },
    //wreck config
    wreck: {
      lib: Wreck,
      enable: true,
      log: {
        request: true,
        response : true
      }
    }
  }
}

server.js (hapi plugin setup)

'use strict';

const Hapi = require('hapi');
const server = new Hapi.Server();
const ProteusConfig = require('./proteusjs.config')
server.connection();


server.register(
  {
    ProteusConfig
  }, (err) => {

    if (err) {
      return console.error(err);
    }

    server.start(() => {
      console.info(`Server started at ${ server.info.uri }`);
    });
  }
);

database.js (to initialize knex client, need to require inside proteusjs config file)

'use strict';

const knex = require('knex')({
  client: config('mysql'),
  connection: {
    host     : config('localhost'),
    user     : config('root'),
    password : config(''),
    database : config('example')
  },
  pool: {
    min: 0,
    max: 7
  },
  debug: false
});

module.exports = knex;

##Existing streams Any transform or write stream can work with proteusjs. The following streams work with proteusjs.

Package Sidebar

Install

npm i proteusjs

Weekly Downloads

0

Version

1.0.0

License

MIT

Last publish

Collaborators

  • geekjai