poka.sh

Docs

CALLGRIND

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.

Callgrind/Cachegrind Preview.

At a glance

Purpose A Callgrind or Cachegrind profile from Valgrind: per-function costs in a text format with call records.
Extensions .callgrind
Poka parser poka-callgrind
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-callgrind/src/main.rs (475 lines) and plugin.json. No unit tests or tests/samples.rs; the corpus has gprof2dot_issue35.callgrind, read by no test. Covers .callgrind and .cachegrind. The tree reads the header (creator, version, command, PID, events, positions), aggregates self cost per function for the primary event, excluding inclusive call costs, and shows the top functions with their share of the total and the event list. Judgement: B3: self costs per function are decoded and ranked, but the call graph and other events are not.

What Poka does not read

  • The call graph (callers and callees, inclusive costs) is not shown
  • Only the primary (first) event is ranked; other events are listed, not totalled
  • Per-line costs and source annotation are not shown
  • Compressed names (name compression by id) may show as numbers (judgement from the code)
  • Files over 4 GiB are cut (flagged)

Libraries

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

Sources

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