All Projects → dainis → Node Gcstats

dainis / Node Gcstats

Licence: unlicense

Projects that are alternatives of or similar to Node Gcstats

Network Avatar Picker
A npm module that returns user's social network avatar. Supported providers: facebook, instagram, twitter, tumblr, vimeo, github, youtube and gmail
Stars: ✭ 74 (-47.14%)
Mutual labels:  node-module
Dynamodb Oop
Speak fluent DynamoDB, write code with fashion, I Promise() 😃
Stars: ✭ 104 (-25.71%)
Mutual labels:  node-module
Update Notifier
The idea for this module came from the desire to apply the browser update strategy to CLI tools, where everyone is always on the latest version. We first tried automatic updating, which we discovered wasn't popular. This is the second iteration of that idea, but limited to just update notifications.
Stars: ✭ 1,594 (+1038.57%)
Mutual labels:  node-module
Node Loadbalance
A collection of distilled load balancing engines
Stars: ✭ 79 (-43.57%)
Mutual labels:  node-module
Async Ray
Provide async/await callbacks for every, find, findIndex, filter, forEach, map, reduce, reduceRight and some methods in Array.
Stars: ✭ 102 (-27.14%)
Mutual labels:  node-module
Protoo
Minimalist and extensible Node.js signaling framework for multi-party Real-Time applications
Stars: ✭ 109 (-22.14%)
Mutual labels:  node-module
Node Ebml
EBML parser
Stars: ✭ 66 (-52.86%)
Mutual labels:  node-module
Node Captcha
Simple captcha for Node.JS and Express.
Stars: ✭ 130 (-7.14%)
Mutual labels:  node-module
Fnv1a
FNV-1a non-cryptographic hash function
Stars: ✭ 101 (-27.86%)
Mutual labels:  node-module
Github Label Sync
Synchronise your GitHub labels with as few destructive operations as possible
Stars: ✭ 115 (-17.86%)
Mutual labels:  node-module
Iexcloud api wrapper
iexcloud api wrapper written in typescript (asynchronous interface)
Stars: ✭ 80 (-42.86%)
Mutual labels:  node-module
Artnet
Send ArtDMX to an Art-Net node (DMX512, Stage Lighting) 💡🎬
Stars: ✭ 91 (-35%)
Mutual labels:  node-module
P Queue
Promise queue with concurrency control
Stars: ✭ 1,863 (+1230.71%)
Mutual labels:  node-module
A Text Editor
一款微信文章编辑器_前后端已搭建完整
Stars: ✭ 77 (-45%)
Mutual labels:  node-module
Pm2 Slack
A PM2 module to emit events to Slack
Stars: ✭ 124 (-11.43%)
Mutual labels:  node-module
Recursive Diff
A JavaScript library to find diff between two JavaScript Objects. Support for Array, Number, Date and other primitive data types.
Stars: ✭ 71 (-49.29%)
Mutual labels:  node-module
Meetup Api
meetup-api is an Meetup.com API library written in JavaScript for Node.js V8 and Node.js ChakraCore
Stars: ✭ 104 (-25.71%)
Mutual labels:  node-module
Manual Node
📗 📒 (PT-BR Tradução) 2020 Edition - Tradução por Christy e Vinicius Dias (https://github.com/ViniciusmDias).
Stars: ✭ 134 (-4.29%)
Mutual labels:  node-module
Html Metadata
MetaData html scraper and parser for Node.js (supports Promises and callback style)
Stars: ✭ 129 (-7.86%)
Mutual labels:  node-module
Fileuploader
Beautiful and powerful HTML file uploading tool. A jQuery, PHP and Node.js plugin that transforms the standard input into a revolutionary and fancy field on your page.
Stars: ✭ 111 (-20.71%)
Mutual labels:  node-module

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].