Socket
Socket
Sign inDemoInstall

prometheus-gc-stats

Package Overview
Dependencies
179
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    prometheus-gc-stats

Report Garbage Collection stats using Prometheus


Version published
Weekly downloads
60K
increased by5.73%
Maintainers
1
Install size
9.08 kB
Created
Weekly downloads
 

Readme

Source

prometheus-gc-stats

Report Garbage Collection stats using Prometheus

NPM Version Build Status

Usage

This module has a peer dependency on prom-client. Currently, 10-14 is supported.

Note that version 12 and up of prom-client comes with GC metrics out of the box, so this module might not be needed. See this comment.

This module follows the same API as the core default metrics. To start collection GC stats, invoke the exported function to create the metrics, then invoke the returned function to start the collecting.

The exported function takes a single parameter, which is a registry. If provided, and the version of prom-client you use support it, that is the registry which the metrics will register to. If no registry is provided it will use the default one provided by prom-client.

Example:

const prometheus = require('prom-client');
const gcStats = require('prometheus-gc-stats');

prometheus.collectDefaultMetrics();
const startGcStats = gcStats(prometheus.register); // gcStats() would have the same effect in this case
startGcStats();

gc-stats

The module doing the GC stats collecting is gc-stats. This module requires native dependencies. If the stats don't show up, make sure to check npm's install log for failures.

Metrics exposed

This module exposes 3 metrics:

  1. nodejs_gc_runs_total: Counts the number of time GC is invoked
  2. nodejs_gc_pause_seconds_total: Time spent in GC in seconds
  3. nodejs_gc_reclaimed_bytes_total: The number of bytes GC has freed

You can add a prefix to metric names using options:

const startGcStats = gcStats(prometheus.register, {
  prefix: 'my_application_',
});

Credits

Thanks to @tcolgate for the original implementation.

Keywords

FAQs

Last updated on 09 Oct 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc