npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@divebell/extension-memory

v0.0.17

Published

This Divebell Extension checks whether a repeatable browser journey causes sustained growth in JavaScript memory, DOM nodes, or event listeners. It also exposes lower-level memory metrics, allocation sampling, and heap snapshots for focused investigation.

Downloads

2,401

Readme

@divebell/extension-memory

This Divebell Extension checks whether a repeatable browser journey causes sustained growth in JavaScript memory, DOM nodes, or event listeners. It also exposes lower-level memory metrics, allocation sampling, and heap snapshots for focused investigation.

It works with regular Chrome pages and does not require Runtime SDK, a framework plugin, or build metadata.

Install

divebell extensions add @divebell/extension-memory

Run a complete check

Create a scenario module with a run function that performs one iteration of the target page journey, then run:

divebell memory check \
  --url http://localhost:3000/ \
  --scenario ./scripts/memory-scenario.mjs \
  --warmup 3 \
  --iterations 12 \
  --artifact-dir ./.memory-artifacts

The command owns the browser lifecycle, warmup, repeated operations, metrics, allocation capture, before-and-after heap snapshots, reporting, and cleanup.

It writes:

  • report.json;
  • allocation.heapprofile;
  • baseline.heapsnapshot; and
  • final.heapsnapshot.

Focused commands

Inspect the current page after opening it with Divebell:

divebell memory metrics
divebell memory sampling start --sampling-interval 32768
# Perform the page journey.
divebell memory sampling stop /tmp/page.heapprofile --top 20
divebell memory snapshot /tmp/page.heapsnapshot --timeout 120000
divebell memory status
divebell memory cancel

Use a repeated memory check for leak decisions. A single high reading or one temporary peak is not enough evidence of sustained growth.

See the complete memory analysis guide.