performance-nodejs

get nodejs performance, such as: heap statistics, event loop delay

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
performance-nodejs
611.1.37 years ago8 years agoMinified + gzip package size for performance-nodejs in KB

Readme

performance-nodejs
Build Status Coverage Status npm Github Releases
Get nodejs performance, such as: heap statistics, event loop delay

Installation

$ npm i performance-nodejs

Examples

View the ./examples directory for working examples.

Description

The performance() function get node.js performance (include event loop, heap statistics and heap space statistics).
If node.js support v8.getHeapSpaceStatistics(), the heap space will be return.
const timer = performance(fn, interval);

  • fn: The callback function to execute.

  • interval: Check interval, defaulted to 100ms.

  • unit: Set the heap format unit, eg: 'B', 'MB', 'GB', '0.0MB' defaulted to 'B'. 0.00MB means set 2 precision and 'MB' unit.

Returns: A reference to the timer. Useful for clearing the timer.
cpuUsage is new in node.js v6.x.
malloced_memory, peak_malloced_memory and does_zap_garbage is new in node.js v7.x
// node.js performance
{
  "lag": 0,
  "heap": {
    "total_heap_size": 6,
    "total_heap_size_executable": 4,
    "total_physical_size": 6,
    "total_available_size": 1423,
    "used_heap_size": 4,
    "heap_size_limit": 1432,
    "malloced_memory": 0,
    "peak_malloced_memory": 1,
    "does_zap_garbage": 0
  },
  "heapSpace": {
    "new_space": {
      "size": 2,
      "used_size": 0,
      "available_size": 1,
      "physical_size": 2
    },
    "old_space": {
      "size": 2,
      "used_size": 2,
      "available_size": 0,
      "physical_size": 2
    },
    "code_space": {
      "size": 2,
      "used_size": 1,
      "available_size": 0,
      "physical_size": 1
    },
    "map_space": {
      "size": 1,
      "used_size": 0,
      "available_size": 0,
      "physical_size": 0
    },
    "large_object_space": {
      "size": 0,
      "used_size": 0,
      "available_size": 1422,
      "physical_size": 0
    }
  },
  "cpuUsage": {
    "user": 1344,
    "system": 197,
    "usedPercent": 0,
    "userUsedPercent": 0,
    "systemUsedPercent": 0,
    "total": 477549
  },
  "memoryUsage": {
    "rss": 23,
    "heapTotal": 6,
    "heapUsed": 4,
    "external": 0
  }
}

performance((data) => {
	console.info(JSON.stringify(data));
}, 'MB', 100);

camelCase

Convert the result to camelCase
const performance = require('performance-nodejs');
performance.camelCase = true;
performance((data) => {
  // {"lag":4,"heap":{"totalHeapSize":6,"totalHeapSizeExecutable":4,"totalPhysicalSize":5 ...
	console.info(JSON.stringify(data));
}, 'MB', 100);

flatten

Flatten the result
const performance = require('performance-nodejs');
performance.camelCase = true;
performance.flatten = true;
performance((data) => {
  // {"lag":1,"heapTotalHeapSize":34639872,"heapTotalHeapSizeExecutable":5767168,"heapTotalPhysicalSize": ...
	console.info(JSON.stringify(data));
}, 'MB', 100);
License
MIT