system-usage

0.1.1 • Public • Published

system-usage (for linux)

Installation

npm install system-usage 

Usage

var usage = require("system-usage");
 
var stream = usage.createStream();
stream.pipe("cpu", process.stdout);

Option

var option = { 
    interval: 300,
    percent: true 
};
 
var stream = usage.createStream(option);

interval: ms

percent: FALSE: 0.0 ~ 1.0, TRUE: 0 ~ 100

Methods

readStat(callback) return { cpu: { idle, total }, cpu0, memory, ...

usage.readStat(function(results) {
    console.log(results);
});

availableTypes(callback) return [ 'memory', 'cpu', 'cpu0', ... ]

usage.availableTypes(function(list) {
    console.log(list);
});

createStream(option) return stream

var stream = usage.createStream();

stream.pipe(type, writable)

var stream = usage.createStream();
stream.pipe("cpu", process.stdout);

Plot.ly

Live Streaming Example from https://www.npmjs.org/package/plotly

Plotly.plot(data, graphOptions, function (err, resp) {
    if (err) return console.log("ERROR", err)
 
    console.log(resp)
 
    var plotlystream = Plotly.stream(token, function () {})
    var signalstream = usage.createStream(); // <-
 
 
    plotlystream.on("error", function (err) {
        signalstream.destroy()
    })
 
    // Okay - stream to our plot!
    signalstream.pipe("cpu", plotlystream)
})

For multiple trace

Plotly.plot(data, graphOptions, function (err, resp) {
    if (err) return console.log("ERROR", err)
 
    console.log(resp)
 
    var signalstream = usage.createStream(); // <-
 
    var cpustream = Plotly.stream(token, function () {})
    cpustream.on("error", function (err) {
        signalstream.destroy()
    })
 
    var memorystream = Plotly.stream(token2, function () {})
    memorystream.on("error", function (err) {
        signalstream.destroy()
    })
    
    // Okay - stream to our plot!
    signalstream.pipe("cpu", cpustream)
    signalstream.pipe("memory", memorystream)
})

plotlyStream(username, apiKey, data, graphOptions, callback)

var graphOptions = {
    "filename": "usage"
  , "fileopt": "overwrite"
  , "world_readable": true
};
usage.plotlyStream(username, apiKey, [token1, token2, token3], graphOptions, function(err, msg) {
    console.log(msg);
});

OR

var graphOptions = {
    "filename": "usage"
  , "fileopt": "overwrite"
  , "world_readable": true
};
var data = [
    {
     x: [], y: [], 
     name: "CPU%", 
     type: "cpu", 
     stream: { 
     token: token1, 
            maxpoints: 50 
        }
    },
    {
     x: [], y: [], 
     name: "Memory%", 
     type: "memory", 
     stream: { 
     token: token2, 
            maxpoints: 50 
        }
    }
];
usage.plotlyStream(username, apiKey, data, graphOptions, function(err, msg) {
    console.log(msg);
});

Demo https://plot.ly/~mtjddnr/16

Package Sidebar

Install

npm i system-usage

Weekly Downloads

0

Version

0.1.1

License

MIT

Last publish

Collaborators

  • swmoon203