Skip to content

jbrumwell/vitals

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vitals

Vitals is a module that will collect health statistics for process ids past to it, currently collections cpu time, memory usage and uptime.

Installation

$ npm install vitals

Features

  • Windows & Unix support
  • Meta data support
  • Data sampling

Options

  • interval the interval in which to poll the processes (Default 3000ms)
  • maxSamples the maximum number of samples to retain
  • sampleRate the rate at which to sample data between 0 (disabled) and 1 for 100%, ie: 0.15 for 15% of the time

Events

  • started when the monitor is activated
  • stopped when the monitor has stopped monitoring the processes
  • added when a process has been added to the monitor
  • removed when a process has been removed from the monitor, died will be in the meta data if removed due to process stopping
  • data the processes health data

Usage

Initiate vitals and add processes

var vitals = require('vitals')();

Adding processes to vitals

vitals.add(pid, [meta]);

vitals.add([
    {pid: pid, meta: meta}
])

Getting monitored processes

var proc = vitals.get(pid);
var procs = vitals.get([pid,pid]);
var procs = vitals.get(function(proc) {
                    return proc.meta.key == 'value';
                });

Removing processes to vitals

vitals.remove(pid);

vitals.remove([pid, pid, pid]);

vitals.remove(function(proc) {
    return proc.meta.key = 'value';
})

vitals.remove(); //removes all

Starting / Stopping

vitals.start();

vitals.stop();

Count number of processes being monitored

vitals.length

Sampling Data

vitals.on('data', function(proc, data) {
    //proc.meta._samples == Array[data, data, data]
    //data.collected is the time the sample was collected
});

var proc = vitals.get(pid);

proc.meta._samples

Events

vitals.on('started', function() {
    
});

vitals.on('added', function(proc) {
    //proc.pid && proc.meta
});

vitals.on('removed', function(proc) {
    //proc.pid && proc.meta && proc.meta.died if process exited
})

vitals.on('data', function(proc, data) {
    //proc.pid && proc.meta
    //data.cputime data.memoryUsage data.uptime
});

vitals.on('stopped', function() {
    
});

Running tests

$ npm install
$ npm test

License

(The MIT License)

About

Vitals is a module that will collect health statistics for process ids past to it, currently collections cpu time, memory usage and uptime.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published