How to get CPU and memory consumption in Total.js?

Mon Mar 27 2017 08:23:49 GMT+0200 (Central European Summer Time), Peter Širka

How to get CPU and memory consumption in Total.js?

  • it will work in Linux and macOS
  • operations are supported in Total.js +v2.4.0.

Create an operation

The operation below reads CPU and RSS (memory) information from terminal, it's the information from the operation system.

E.g. /definitions/operations.js:

const Exec = require('child_process').exec;

NEWOPERATION('consumption', function(error, value, callback) {
    var async = [];
    var output = { cpu: 0, rss: 0 };
    Exec('ps -p {0} -o %cpu,rss,etime'.format(process.pid), function(err, response) {
        err && error.push(err);
        response.parseTerminal(['%CPU', 'RSS'], function(line) {
            output.cpu = U.parseFloat(line[0]);
            output.rss = U.parseFloat(line[1]) * 1024; // bytes
        });
        callback(output);
    });
});

Usage

You can execute the code below anywhere in your Total.js application:

OPERATION('consumption', function(err, response) {
    console.log(err, response.cpu + '%', response.rss.filesize();
    // null '24.3%' '40.45 MB'
});

Tags

Follow us

Latest blogs
Flow v6 is here!
Thu Mar 07 2019 11:53:54 GMT+0100 (Central European Standard Time)
A critical security fix
Wed Feb 13 2019 22:15:39 GMT+0100 (Central European Standard Time)
New release: Total.js v3.2
Wed Feb 13 2019 22:14:39 GMT+0100 (Central European Standard Time)
Total.js Wiki v2
Fri Jan 04 2019 22:15:01 GMT+0100 (Central European Standard Time)
Total Year 2018
Thu Jan 03 2019 21:14:00 GMT+0100 (Central European Standard Time)

Latest comments
Nice tip
Mauro Junior
Thu Sep 20 2018 21:41:02 GMT+0200 (Central European Summer Time)
Not only for Total.js. You can communicate with different websocket servers.
Peter Širka
Mon Apr 23 2018 20:08:20 GMT+0200 (Central European Summer Time)
Marko: you need to create a buffer with this codepage and write byte-to-byte string. I recommend ...
Peter Širka
Mon Apr 23 2018 20:06:21 GMT+0200 (Central European Summer Time)
Is WEBSOCKETCLIENT only for internal ws connections between totaljs apps?
Stelios Stephanua
Fri Mar 16 2018 06:04:22 GMT+0100 (Central European Standard Time)
Total.js is amazing! ;)
Leonardo Hessel
Tue Dec 19 2017 19:51:15 GMT+0100 (Central European Standard Time)

Pixabay


Read more

Flow v6 is here!

News: We have released a new version of Flow. This version brings great new features and UI improvements.

Thu Mar 07 2019 11:53:54 GMT+0100 (Central European Standard Time)
A critical security fix

News: We were notified about the critical security bug in Total.js framework. Read a prevention.

Wed Feb 13 2019 22:15:39 GMT+0100 (Central European Standard Time)
New release: Total.js v3.2

News: This new release brings a critical security fix and small new improvements. Update Total.js now.

Wed Feb 13 2019 22:14:39 GMT+0100 (Central European Standard Time)
Total.js Wiki v2

Products: I have released a new version of Total.js Wiki. New version brings new improvements.

Fri Jan 04 2019 22:15:01 GMT+0100 (Central European Standard Time)
Total Year 2018

Business: Last year was perfect for Total.js platform. Total.js platform grows up and it has great results.

Thu Jan 03 2019 21:14:00 GMT+0100 (Central European Standard Time)
Total.js Code Editor v1

Products: Try our real-time collaboration tool for Total Developers. Code Editor offers great features for development.

Fri Dec 07 2018 22:55:13 GMT+0100 (Central European Standard Time)