New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

monitor-pid

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

monitor-pid

Monitors a pid and all its sons

latest
Source
npmnpm
Version
1.4.3
Version published
Maintainers
1
Created
Source

node-monitor-pid

Monitors a pid and all its sons.

Use case example: watch a Web server system activity being stressed by siege (benchmarking). Then use Libreoffice or Excel to analyze the CPU, MEM and DISK usage of the Web server.

Build Status

Installation

npm install monitor-pid

It also requires pidstat (>= 10.x) and pstree linux command to be installed on the system (apt-get install sysstat psmisc)

Usage as a command line

npm install -g monitor-pid
monitor-pid --pid 5253 --period 5000

It will monitor the pid 5253 each 5 secondes and output cpu, memory, disk and nb_pids statistics as a CSV string on stdout.

Output example:

date,time,parent_pid,nb_pids,monit_time,%usr,%system,%guest,%CPU,minflt/s,majflt/s,VSZ,RSS,%MEM,kB_rd/s,kB_wr/s,kB_ccwr/s
2013/11/09 13:05:52,0,1,167,1062,7.84,0.98,0.00,8.82,20.58,0.00,47132328.00,2683424.00,33.22,-105.00,44.02,-97.16
2013/11/09 13:05:57,5,1,167,1053,12.74,5.88,0.00,18.62,2561.77,0.00,47132140.00,2687784.00,33.28,-105.00,79.31,-101.08
2013/11/09 13:06:02,10,1,167,1052,29.70,10.89,0.00,40.59,4618.81,0.00,47141112.00,2688768.00,33.30,-105.00,-97.08,-97.08
2013/11/09 13:06:07,15,1,167,1046,11.88,4.95,0.00,16.83,2051.49,0.00,47199016.00,2682536.00,33.22,-105.00,-61.44,-101.04
2013/11/09 13:06:12,20,1,167,1045,5.94,0.99,0.00,6.93,19.80,0.00,47203476.00,2679040.00,33.17,-105.00,-105.00,-105.00

Usage as a nodejs module

var MonitorPid = require('monitor-pid');

// creates an instance of MonitorPid
// - pid to monitor is 5253
// - monitoring will occure each 5 secondes
var mp = new MonitorPid(5253, { period: 5000 });

// received each time the pid tree has been monitored
mp.on('monitored', function (pid, stats) {
  console.error('monitored', pid, stats);
});

// occurs when the monitoring is finished
// (no more pid or stop has been called)
mp.on('end', function (pid) {
  console.error('end', pid);
});

mp.on('error', function (err) {
  console.error(err);
});

// begin the monitoring
mp.start();

// stop the monitoring after 50 secondes
setTimeout(function () {
  mp.stop();
}, 50000);

Output fields

CPU fields:

  • "%usr": Percentage of CPU used by the task while executing at the user level (application), with or without nice priority. Note that this field does NOT include time spent running a virtual processor.
  • "%system": Percentage of CPU used by the task while executing at the system level (kernel).
  • "%guest": Percentage of CPU spent by the task in virtual machine (running a virtual processor).
  • "%CPU": Total percentage of CPU time used by the task. In an SMP environment, the task's CPU usage will be divided by the total number of CPU's if option -I has been entered on the command line.

Memory fields:

  • "minflt/s": Total number of minor faults the task has made per second, those which have not required loading a memory page from disk.
  • "majflt/s": Total number of major faults the task has made per second, those which have required loading a memory page from disk.
  • "VSZ": Virtual Size: The virtual memory usage of entire task in kilobytes.
  • "RSS": Resident Set Size: The non-swapped physical memory used by the task in kilobytes.
  • "%MEM": The tasks's currently used share of available physical memory.

Disk fields:

  • "kB_rd/s": Number of kilobytes the task has caused to be read from disk per second.
  • "kB_wr/s": Number of kilobytes the task has caused, or shall cause to be written to disk per second.
  • "kB_ccwr/s": Number of kilobytes whose writing to disk has been cancelled by the task. This may occur when the task truncates some dirty pagecache. In this case, some IO which another task has been accounted for will not be happening.

Keywords

monitor

FAQs

Package last updated on 12 Nov 2013

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts