1.1.3 • Published 9 years ago

performance-nodejs v1.1.3

Weekly downloads
22
License
MIT
Repository
github
Last release
9 years ago

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

1.1.3

9 years ago

1.1.2

9 years ago

1.1.1

9 years ago

1.1.0

9 years ago

1.0.6

9 years ago

1.0.5

9 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago