poka.sh

Docs

HEAPSNAPSHOT

Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.

V8 Heap Snapshot Preview.

At a glance

Purpose A V8 heap snapshot (.heapsnapshot) from Chrome or Node: the heap's nodes and edges as flat integer arrays with a string table.
Extensions .heapsnapshot
Poka parser poka-heapsnapshot
Viewer poka-tree-viewer
Depth tier Parser with a shared viewer (see Depth tiers)
Breadth tier B3 Core (see Breadth tiers)

How much Poka reads

B3 Core. Only the main content type or types are decoded (for example geometry but not materials, layers or annotations, or only one version family). The list of gaps is substantial.

Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-26: read parsers/poka-heapsnapshot/src/main.rs (315 lines) and plugin.json. No unit tests or tests/samples.rs; the corpus has sample.heapsnapshot, read by no test. Covers .heapsnapshot. The tree shows node, edge, trace-function and string counts and the total shallow size, a breakdown by node type (count and size) and the top constructors by aggregated self size. Judgement: B3: the heap is summarised by type and constructor, but no object graph is walked.

What Poka does not read

  • Retained sizes and dominators are not computed
  • Edges are counted, not walked: retainers and references are not shown
  • Individual objects are not listed
  • Allocation traces are not read

Libraries

Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.

  • serde_json (used; MIT OR Apache-2.0; Rust)
  • v8-heap-parser (candidate; BSD-3-Clause; Rust; https://docs.rs/crate/v8-heap-parser/latest) — Library for parsing V8 heap snapshots (v1.1.0, Dec 2023); homepage listed is microsoft/vscode-v8-heap-tools.
  • v8-heapsnapshot (candidate; MIT; TypeScript/JavaScript; https://github.com/SrTobi/v8-heapsnapshot) — npm module to parse and query V8 heap snapshots (nodes, edges, findNodeById); language inferred from repo files.
  • memlab (candidate; MIT; TypeScript/JavaScript; https://github.com/facebook/memlab) — Meta heap-analysis toolkit; core includes V8/Hermes .heapsnapshot parser; larger than a plain parser.

Sources

  • parsers/poka-heapsnapshot/src/main.rs
  • parsers/poka-heapsnapshot/plugin.json