Node.js is a JavaScript runtime that is built on the V8 JavaScript engine. Node.js needs a v8 engine for execution.
Node: V8
The node: v8 module exposes or shows APIs that are only specific to the version of V8 that is built into the Node.js binary. You can access using :
const v8 = require("node: v8")
Node.js v8.getHeapStatistics()
- It returns the object.
Following properties are returned as an object
- total heap size in a number type.
- total heap size executable in a number type.
- total physical size in a number type.
- total available size in a number type.
- used heap size in a number type.
- heap size limit in a number type.
- external memory in a number type.
- used global handles size and total global handles in a number type.
{
total_heap_size: 7326976,
total_heap_size_executable: 4194304,
total_physical_size: 7326976,
total_available_size: 1152656,
used_heap_size: 3476208,
heap_size_limit: 1535115264,
malloced_memory: 16384,
peak_malloced_memory: 1127496,
does_zap_garbage: 0,
number_of_native_contexts: 1,
number_of_detached_contexts: 0,
total_global_handles_size: 8192,
used_global_handles_size: 3296,
external_memory: 318824
}
v8.serialize(value)
The v8.serialize() method is an inbuilt API of the v8 module which serialize any type of data into a buffer.
- Here, value is accepted as parameter where as value can be any type.
SYNTAX
v8.serialize(value)
console.log(v8.serialize("hello"))
Output :
<Buffer ff 0d 22 0d 67 65 65 6b 73 66 6f 72 67 65 65 6b 73>
v8.getHeapSnapshot()
It generates a snapshot of the current V8 heap and returns a readable Stream that may be used to read the JSON serialized representation. The JSON stream format is intended to be used with tools such as Chrome DevTools..
const stream = v8.getHeapSnapshot();
stream.pipe(process.stdout);