UNPKG

@lodestar/beacon-node

Version:

A Typescript implementation of the beacon chain

20 lines (17 loc) 802 B
import {Registry, collectDefaultMetrics} from "prom-client"; import {gcStats} from "#prometheus-gc-stats-wrapper"; export function collectNodeJSMetrics(register: Registry, prefix?: string): () => void { collectDefaultMetrics({ register, prefix, // eventLoopMonitoringPrecision with sampling rate in milliseconds eventLoopMonitoringPrecision: 10, }); // Collects GC metrics using a native binding module // - nodejs_gc_runs_total: Counts the number of time GC is invoked // - nodejs_gc_pause_seconds_total: Time spent in GC in seconds // - nodejs_gc_reclaimed_bytes_total: The number of bytes GC has freed // `close` must be called to stop the gc collection process from continuing const close = gcStats(register, {collectionInterval: 6000, prefix}); return close; }