gc-stats

Exposes node v8 garbage collection stats

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
Last updated 2 years ago by dainis .
Unlicense · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install gc-stats 
SYNC missed versions from official npm registry.

GCStats

Build Status Build status

Exposes stats about V8 GC after it has been executed.

Usage

Create a new instance of the module and subscribe to stats-events from that:

var gc = (require('gc-stats'))();

gc.on('stats', function (stats) {
    console.log('GC happened', stats);
});

This will print blobs like this whenever a GC happened:

GC happened {
  startTime: 9426055813976,
  endTime: 9426057735390,
  pause: 1921414,
  pauseMS: 1,
  gctype: 1,
  before: {
     totalHeapSize: 11354112,
     totalHeapExecutableSize: 3670016,
     usedHeapSize: 7457184,
     heapSizeLimit: 1501560832,
     totalPhysicalSize: 9725880,
     totalAvailableSize: 1488434544,
     mallocedMemory: 8192,
     peakMallocedMemory: 1186040
  },
  after: {
     totalHeapSize: 12402688,
     totalHeapExecutableSize: 3670016,
     usedHeapSize: 6485792,
     heapSizeLimit: 1501560832,
     totalPhysicalSize: 10166144,
     totalAvailableSize: 1489388528,
     mallocedMemory: 8192,
     peakMallocedMemory: 1186040
  },
  diff: {
     totalHeapSize: 1048576,
     totalHeapExecutableSize: 0,
     usedHeapSize: -971392,
     heapSizeLimit: 0,
     totalPhysicalSize: 440264,
     totalAvailableSize: 953984,
     mallocedMemory: 0,
     peakMallocedMemory: 0
  }
}

Property insights

  • totalHeapSize: Number of bytes V8 has allocated for the heap. This can grow if usedHeap needs more.
  • usedHeapSize: Number of bytes in use by application data
  • total HeapExecutableSize: Number of bytes for compiled bytecode and JITed code
  • heapSizeLimit: The absolute limit the heap cannot exceed
  • totalPhysicalSize: Committed size (node 0.11+)
  • totalAvailableSize: Available heap size(node 4+)
  • startTime: Nanoseconds for start, using hrtime()
  • endTime: Nanoseconds for end, using hrtime()
  • pause: Nanoseconds from start to end of GC using hrtime()
  • pauseMS: pause expressed in milliseconds
  • mallocedMemory
  • peakMallocedMemory
  • numberOfNativeContexts
  • numberOfDetachedContexts
  • gctype can have the following values(v8 source):
    • 1: Scavenge (minor GC)
    • 2: Mark/Sweep/Compact (major GC)
    • 4: Incremental marking
    • 8: Weak/Phantom callback processing
    • 15: All

Installation

npm install gc-stats

Node version support

node-gcstats depends on C++ extensions which are compiled when the gc-stats module is installed. Compatibility information can be inspected via the Travis-CI build jobs.

Current Tags

  • 1.4.1                                ...           latest (2 years ago)
  • 1.4.1-0                                ...           next (2 years ago)

17 Versions

  • 1.4.1 [deprecated]           ...           2 years ago
  • 1.4.1-0 [deprecated]           ...           2 years ago
  • 1.4.0 [deprecated]           ...           7 years ago
  • 1.3.0 [deprecated]           ...           7 years ago
  • 1.2.1 [deprecated]           ...           7 years ago
  • 1.2.0 [deprecated]           ...           8 years ago
  • 1.1.1 [deprecated]           ...           8 years ago
  • 1.1.0 [deprecated]           ...           8 years ago
  • 1.0.2 [deprecated]           ...           9 years ago
  • 1.0.1 [deprecated]           ...           9 years ago
  • 1.0.0 [deprecated]           ...           10 years ago
  • 0.0.6 [deprecated]           ...           11 years ago
  • 0.0.5 [deprecated]           ...           11 years ago
  • 0.0.4 [deprecated]           ...           11 years ago
  • 0.0.3 [deprecated]           ...           11 years ago
  • 0.0.2 [deprecated]           ...           12 years ago
  • 0.0.1 [deprecated]           ...           13 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (2)
Dev Dependencies (4)
Dependents (1)

Copyright 2013 - present © cnpmjs.org | Home |