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.
- callgrind-reader (candidate; MIT; TypeScript; https://github.com/subroy13/callgrind-reader) — Node.js parser for callgrind and cachegrind files; README usage example looks inconsistent
- gprof2dot (candidate; LGPL-3.0; Python; https://github.com/jrfonseca/gprof2dot) — Converts several profiler formats, including callgrind, to dot graphs; a tool rather than a pure library
Sources
- parsers/poka-callgrind/src/main.rs
- parsers/poka-callgrind/plugin.json