Skip to content

heaptrack ​

Inspect native allocation stacks for a real workload. A plan checks availability and describes a command; it does not execute it.

From examples/kitchen-sink in the source checkout, run julia setup-linux.jl on Linux or WSL. Start Julia with julia --project=.controller/linux to plan the supplied native-workload.jl:

julia
using PerfChecker
plan = native_tool_plan(:heaptrack, "native-workload.jl";
    project=dirname(Base.active_project()), output="exports/heaptrack")
display(plan["availability"])
display(plan["arguments"])

From the same directory, prepare the native support files and run only this tool:

sh
julia --startup-file=no --project=.controller/linux setup-native.jl
julia --startup-file=no --project=.controller/linux native-run.jl datastructures heaptrack

The existing Linux/Julia 1.13.0 receipt uses 512 events and three lifecycles, including startup. Recorded status: completed, exit 0, heaptrack.gz and log. The workload oracle passed.

Native allocation tracking includes the launched process lifecycle; it is not a per-operation Julia allocation count.

Oxygen has separate per-tool receipts; inspect its completion/timeout states instead of transferring a container-workload verdict.

Open source · Report an issue · Contributions welcome