1.1.3 • Published 7 years ago

performance-nodejs v1.1.3

Weekly downloads
22
License
MIT
Repository
github
Last release
7 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

7 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago

0.0.5

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago