DOCA DPA High-Level Tracer
Where to start: This is a tool skill for invoking
doca_dpa_hl_tracer — the documented host-side CLI that
captures DPA-side execution traces in higher-level terms
(DPA programming events: kernel entry / exit, sync points,
comm primitive calls, RDMA WR submission, completions) rather
than raw cycle counts. Open TASKS.md and start at
## configure for the
mode-vs-overhead decision and the JSON config layout, then
## run for the
capture → decode → render pipeline. Open
CAPABILITIES.md when the question is
what does this tool actually trace, which DPA programming
events does it expose, what is the trace-overhead vs
fidelity tradeoff, or how does it slot into a DPA debug
loop alongside doca-dpa
and doca-debug. If DPA is not
the right surface for the user's question (e.g. the bug is
host-side, the bug is in the DPACC-produced image, the user
wants raw cycle counts), the path-selection rule in
CAPABILITIES.md ## Capabilities and modes
routes the agent before any capture is attempted.
Example questions this skill answers well
The CLASSES of doca_dpa_hl_tracer questions this skill is
built to answer, each with one worked example. The class is
the load-bearing piece; the worked example is one instance.
- "My DPA kernel is doing the wrong thing — where do I
look?" — worked example: "my host-side
doca_dpa_kernel_launch_update_* completes, but the
kernel's reported result is wrong; no host-side
DOCA_ERROR_*". Answered by the when DPA-side
high-level tracing is the right surface gate in
CAPABILITIES.md ## Capabilities and modes
- the
capture → decode → render flow in
TASKS.md ## run + the
which DPA programming events to focus on rule in
TASKS.md ## debug.
- "My DPA kernel is slow at a granularity that doesn't
show up in cycle profiles — how do I see kernel-entry to
first-comm-call latency?" — worked example: "my DPA
kernel runs but the time between launch and the first
RDMA WR submission is bigger than I expected". Answered
by the event-taxonomy table in
CAPABILITIES.md ## Capabilities and modes
- the iterative loop in
TASKS.md ## test which treats trace
overhead, mode (TRACE vs CRIT), and capture window
as axes to tune.
- "How do I capture a trace without burying the DPA in
observation overhead?" — worked example: "
TRACE mode
is producing too much data and my measured DPA latency
went up by 2x compared to without the tracer". Answered
by the mode-vs-overhead tradeoff in
CAPABILITIES.md ## Capabilities and modes
- the
CRIT-first guidance in
TASKS.md ## configure (start
with critical-events-only; widen to TRACE only when the
bug demands per-event detail).
- "My trace file got truncated mid-run — how should I
configure the file-size limits?" — worked example:
"binary trace file hit 5 GB and the capture stopped".
Answered by the
log_file_max_size_in_bytes /
bin_file_max_size_in_bytes / file_size_limit_policy
triple in
CAPABILITIES.md ## Capabilities and modes
- the JSON config layout in
TASKS.md ## configure.
- "Is the tracer on my install, and is it paired with the
matching
doca-dpa library and DPACC compiler
version?" — worked example: "is the tracer ABI on my
install compatible with the DPA image my DPACC just
produced?". Answered by the version-overlay in
CAPABILITIES.md ## Version compatibility,
which redirects to the canonical
doca-version chain and
adds the tracer ↔ doca-dpa library ↔ DPACC compiler
match rule.
- "The capture file looks empty / decode failed — is the
install broken, no events fired, or am I tracing the
wrong thing?" — worked example: "
doca_dpa_hl_tracer
ran, wrote a file, but the parser shows zero events".
Answered by the layered error taxonomy in
CAPABILITIES.md ## Error taxonomy
(install / device-binding / DPA-image-instrumented /
capture-window / decode-vs-elf / overhead-saturated /
version / cross-cutting) + the layered walk in
TASKS.md ## debug.
Audience
This skill serves external developers, platform operators,
and AI agents who have already brought up a DPA-side workload
through doca-dpa and now
need higher-level visibility into what the DPA kernel is
actually doing on the wire — DPA programming events
ordering, sync gaps, comm-call latencies, RDMA-WR / completion
timing — without dropping all the way down to raw cycle
counters. Concretely:
- A DPA developer who can launch their kernel cleanly from
the host side but whose kernel's result is wrong or
whose DPA-side performance is below expectation, and
who needs a DPA-side ground truth before triaging.
- A platform operator running a DPA-using workload (RDMA
offload from accelerator, custom CC algorithm via
doca-pcc) and needs to localize a regression to the
DPA side without instrumenting the application.
- An AI agent producing a DPA-side trace report as
evidence for the host-side
doca-dpa TASKS.md ## debug
ladder when the host side reports clean completions but
the DPA-side behaviour is wrong.
It is not for users debugging the tracer binary itself,
not a substitute for the live public DOCA DPA Tools
guide, not the right place for users learning how to
write a DPA kernel (that audience belongs in
doca-dpa plus the public
DOCA DPA / DPACC / DPA-Comms / DPA-Verbs guides), and not
the right place for raw per-instruction cycle profiling
(different surface, different tool — route via
doca-public-knowledge-map ## DOCA tools).
The tracer is shipped as a CLI binary under
/opt/mellanox/doca/tools/, not a library you link against.
The skill uses the same kind: tool three-file shape as
the rest of the bundle so the agent's task-verb contract is
uniform across libraries, services, and tools.
Language scope
doca_dpa_hl_tracer is a C++ host-side CLI. Its inputs are
its JSON config file, the DPA-side ELF (the
doca_dpa_app-class image produced by DPACC), and a running
DPA-side workload that the host-side doca-dpa lifecycle
already started. Its outputs are a binary trace file
(bin_file) and a human-readable log file (log_file).
The skill keeps the workflow guidance language-neutral —
the DPA-side workload it traces can be C compiled by DPACC
or any other DPA translation unit DPACC accepts — and
routes per-language questions to the public DPA / DPACC
guides via
doca-public-knowledge-map.
When to load this skill
Load this skill when the user is — or the agent needs to —
invoke doca_dpa_hl_tracer on a real host with DOCA
installed against a BlueField with a DPA processor visible to
the host, and the host-side
doca-dpa lifecycle has
already brought a DPA workload up at least once. Concretely:
- Capturing a DPA-side trace to localize a DPA kernel's
wrong-result or wrong-ordering behaviour when the
host-side
doca-dpa lifecycle reports clean completions.
- Capturing a DPA-side trace to localize a DPA-side
performance gap (kernel-entry to first-comm latency,
RDMA-WR-issue to completion gap, sync-point dwell time)
at a granularity above raw cycle counts.
- Choosing between
TRACE and CRIT capture modes based
on the bug-vs-overhead tradeoff and the available
capture window.
- Tuning the JSON config (thread priorities, core
affinities, file size limits, file-size-limit policy) so
the capture itself does not perturb the workload more
than the bug it is investigating.
- Decoding a captured
bin_file against the matching
DPA-side ELF to render the human-readable event stream.
- Capturing a side-effect-bounded trace as prerequisite
evidence for a host-side
doca-dpa TASKS.md ## debug
ladder step.
Do not load this skill for general DOCA orientation,
DPA-side programming model questions, raw cycle profiling,
or DOCA / DPACC install. For those, route to
doca-public-knowledge-map,
doca-dpa, or
doca-setup.
What this skill provides
This is a thin loader. Substantive material lives in two
companion files:
CAPABILITIES.md — what doca_dpa_hl_tracer captures: the
DPA programming event taxonomy (kernel entry / exit, sync
points, comm primitive calls, RDMA WR submission and
completion drain), the two documented capture modes
(TRACE for full per-event, CRIT for critical-events
only), the trace-overhead-vs-fidelity tradeoff, the
config-file shape (receiver / binary-writer / file-writer
/ printer threads with priority + core affinity, file
size limits, file_size_limit_policy), the
capture-window + workload-must-be-running invariant, the
ELF-must-match-image rule for decode, the
version-availability overlay (tracer ↔
doca-dpa library ↔
DPACC compiler), the layered error taxonomy
(install / device-binding / image-instrumented /
capture-window / decode / overhead-saturated / version /
cross-cutting), the observability surface (binary trace
file + log file + tool's own stderr), and the safety
policy (capture is bounded; tracing is not a production
observability surface).
TASKS.md — step-by-step workflows for the in-scope
task verbs: install (route to host-side DOCA install +
DPA prerequisites), configure (mode + JSON config
layout + capture window), build (route to install —
the binary is shipped, the DPA-side application is
user-built by DPACC), modify (refuse — do not patch
the binary; modify the JSON config and the invocation
instead), run (the capture flow with --mode,
--config-file, --output-file), test (iterative
loop tuning mode, window, and overhead), debug (walk
the error taxonomy), use (consume the decoded trace
in a doca-dpa debug session), plus a Deferred task verbs block.
The skill assumes a host where DOCA is already installed at
the standard location, a BlueField with a DPA processor is
present and visible to the host, the DPACC compiler is
installed at a version matched to the host-side DOCA, the
DPA-side application image (the ELF the tracer decodes
against) is on disk and matches what the
doca-dpa lifecycle loaded,
and the operator has the privileges the public DOCA DPA
Tools guide requires.
What this skill deliberately does not ship
This skill is agent guidance, not a samples or scripts
bundle. To keep the boundary clean, it deliberately does not
contain — and pull requests should not add:
- Specific flag strings, event names, or mode tokens
beyond what the public DOCA DPA Tools page and
--help
document. The DPA programming events surface evolves
release to release; --help on the installed binary is
the authoritative inventory.
- Pre-baked example traces or expected event timings.
Trace output is workload-, DPA-image-, BlueField-, and
firmware-specific; a captured example pinned to one
setup misleads operators elsewhere.
- Wrappers, parsers, or rendering scripts in any
language that consume the binary trace format. The
format is documented; users who want to script against
it should read the live guide and write the parser
against their installed version.
- A specific tuning recommendation derived from a single
trace. A DPA-side perf decision (move a sync, batch a
comm call, change a launch argument) is a workload
question and the skill prescribes how to capture and
read traces — it refuses to translate a captured gap
into a kernel-rewrite recommendation without the user's
own analysis.
- A
samples/ or reference/ subtree. This is a thin
loader for a shipped CLI; substantive material lives on
the public page, in --help, and in
doca-dpa.
Loading order
- Read this
SKILL.md first to confirm the user's question
is in scope (DPA-side high-level tracing, not DPA-side
programming and not raw cycle profiling).
- For the event taxonomy, capture modes, overhead
tradeoff, JSON config layout, version overlay, error
taxonomy, observability, and safety policy, see
CAPABILITIES.md.
- For the documented invocations and the
capture → decode → render workflow —
install,
configure, build, modify, run, test, debug,
use — see TASKS.md.
Related skills
doca-dpa — the host-side
DPA control library whose loaded application image the
tracer captures. Pair them in every DPA debug session:
doca-dpa brings the workload up; the tracer captures
what the workload does at the DPA programming event
layer. Conflating the library with the tracer is the
most common DPA-debug first-touch error.
doca-debug — the
cross-cutting debug ladder. The tracer slots in at the
runtime layer as the DPA-side ground truth before any
DPA-side perf or correctness conclusion is made.
doca-public-knowledge-map
— routing to the public DOCA DPA Tools page on
docs.nvidia.com and the rest of the public DOCA
documentation set.
doca-version — canonical
DOCA version-handling rules. The ## Version compatibility section in CAPABILITIES.md
is a concise overlay that redirects here for the body
and adds the tracer ↔ doca-dpa library ↔ DPACC
compiler matching rule.
doca-setup — env
preparation, install verification, DPACC compiler
install / verification, BlueField mode (the DPA
processor must be exposed before any tracing is
meaningful), and the I have no install yet path with
the public NGC DOCA container.
doca-structured-tools-contract
— the bundle's detect → prefer → fall back → report
contract for structured helper tools. The command
appendix in TASKS.md honors this contract.
doca-programming-guide
— general DOCA programming patterns shared by every
library / tool surface, including the cross-library
DOCA_ERROR_* taxonomy this tool's host-side error
layer overlays on top of when host-side doca-dpa
calls fail in tandem.
The DPA-side companion libraries doca-dpa-comms (comm
primitives the DPA kernel itself calls) and
doca-dpa-verbs (RDMA verbs the DPA kernel itself calls)
are different artifacts that the tracer's DPA
programming events surface visibly names; for the
DPA-side programming model itself, route through
doca-public-knowledge-map
to the public DOCA DPA-Comms and DPA-Verbs guides and to
the shipped /opt/mellanox/doca/samples/doca_dpa/ samples.
This tool traces their use; it does not redefine them.
1---2name: doca-dpa-hl-tracer3description: Use this skill when the user runs doca_dpa_hl_tracer to capture/decode DPA-side traces at the programming-events layer (kernel entry/exit, sync points, comm primitive calls, RDMA WR submission, completion drain) — picking TRACE vs CRIT, tuning the JSON config (file-size limits + file_size_limit_policy, thread priorities/cores), decoding against the matching DPA-side ELF, or diagnosing empty/noisy captures. Trigger even when the user does not explicitly mention "DOCA DPA tracer" or "high-level tracer" — typical implicit phrasings include "DPA kernel returns wrong result but host completions look clean", "kernel-entry to first-comm latency is huge", "RDMA WR to drain gap on the DPA", "trace file truncated mid-run", "TRACE doubled my DPA latency", or "tracer wrote a file but parser shows zero events". Refuse and route elsewhere for writing DPA kernels, DPA-Comms/DPA-Verbs programming, raw per-cycle DPA profiling, host-side doca-dpa debugging, or production DPA telemetry — those belong to other skills.4license: Apache-2.05---67# DOCA DPA High-Level Tracer89**Where to start:** This is a tool skill for invoking10`doca_dpa_hl_tracer` — the documented host-side CLI that11captures DPA-side execution traces in higher-level terms12(DPA programming events: kernel entry / exit, sync points,13comm primitive calls, RDMA WR submission, completions) rather14than raw cycle counts. Open [`TASKS.md`](TASKS.md) and start at15[`## configure`](TASKS.md#configure) for the16mode-vs-overhead decision and the JSON config layout, then17[`## run`](TASKS.md#run) for the18capture → decode → render pipeline. Open19[`CAPABILITIES.md`](CAPABILITIES.md) when the question is20*what does this tool actually trace*, *which DPA programming21events does it expose*, *what is the trace-overhead vs22fidelity tradeoff*, or *how does it slot into a DPA debug23loop alongside [`doca-dpa`](../../libs/doca-dpa/SKILL.md)24and [`doca-debug`](../../doca-debug/SKILL.md)*. If DPA is not25the right surface for the user's question (e.g. the bug is26host-side, the bug is in the DPACC-produced image, the user27wants raw cycle counts), the path-selection rule in28[`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)29routes the agent before any capture is attempted.3031## Example questions this skill answers well3233The CLASSES of `doca_dpa_hl_tracer` questions this skill is34built to answer, each with one worked example. The class is35the load-bearing piece; the worked example is one instance.3637- **"My DPA kernel is doing the wrong thing — where do I38 look?"** — worked example: *"my host-side39 `doca_dpa_kernel_launch_update_*` completes, but the40 kernel's reported result is wrong; no host-side41 `DOCA_ERROR_*`"*. Answered by the *when DPA-side42 high-level tracing is the right surface* gate in43 [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)44 + the45 capture → decode → render flow in46 [`TASKS.md ## run`](TASKS.md#run) + the47 *which DPA programming events to focus on* rule in48 [`TASKS.md ## debug`](TASKS.md#debug).49- **"My DPA kernel is slow at a granularity that doesn't50 show up in cycle profiles — how do I see kernel-entry to51 first-comm-call latency?"** — worked example: *"my DPA52 kernel runs but the time between launch and the first53 RDMA WR submission is bigger than I expected"*. Answered54 by the event-taxonomy table in55 [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)56 + the iterative loop in57 [`TASKS.md ## test`](TASKS.md#test) which treats trace58 overhead, mode (`TRACE` vs `CRIT`), and capture window59 as axes to tune.60- **"How do I capture a trace without burying the DPA in61 observation overhead?"** — worked example: *"`TRACE` mode62 is producing too much data and my measured DPA latency63 went up by 2x compared to without the tracer"*. Answered64 by the mode-vs-overhead tradeoff in65 [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)66 + the `CRIT`-first guidance in67 [`TASKS.md ## configure`](TASKS.md#configure) (start68 with critical-events-only; widen to `TRACE` only when the69 bug demands per-event detail).70- **"My trace file got truncated mid-run — how should I71 configure the file-size limits?"** — worked example:72 *"binary trace file hit 5 GB and the capture stopped"*.73 Answered by the `log_file_max_size_in_bytes` /74 `bin_file_max_size_in_bytes` / `file_size_limit_policy`75 triple in76 [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)77 + the JSON config layout in78 [`TASKS.md ## configure`](TASKS.md#configure).79- **"Is the tracer on my install, and is it paired with the80 matching `doca-dpa` library and DPACC compiler81 version?"** — worked example: *"is the tracer ABI on my82 install compatible with the DPA image my DPACC just83 produced?"*. Answered by the version-overlay in84 [`CAPABILITIES.md ## Version compatibility`](CAPABILITIES.md#version-compatibility),85 which redirects to the canonical86 [`doca-version`](../../doca-version/SKILL.md) chain and87 adds the *tracer ↔ `doca-dpa` library ↔ DPACC compiler*88 match rule.89- **"The capture file looks empty / decode failed — is the90 install broken, no events fired, or am I tracing the91 wrong thing?"** — worked example: *"`doca_dpa_hl_tracer`92 ran, wrote a file, but the parser shows zero events"*.93 Answered by the layered error taxonomy in94 [`CAPABILITIES.md ## Error taxonomy`](CAPABILITIES.md#error-taxonomy)95 (install / device-binding / DPA-image-instrumented /96 capture-window / decode-vs-elf / overhead-saturated /97 version / cross-cutting) + the layered walk in98 [`TASKS.md ## debug`](TASKS.md#debug).99100## Audience101102This skill serves **external developers, platform operators,103and AI agents who have already brought up a DPA-side workload104through [`doca-dpa`](../../libs/doca-dpa/SKILL.md) and now105need higher-level visibility into what the DPA kernel is106actually doing on the wire** — DPA programming events107ordering, sync gaps, comm-call latencies, RDMA-WR / completion108timing — without dropping all the way down to raw cycle109counters. Concretely:110111- A DPA developer who can launch their kernel cleanly from112 the host side but whose kernel's *result* is wrong or113 whose *DPA-side performance* is below expectation, and114 who needs a DPA-side ground truth before triaging.115- A platform operator running a DPA-using workload (RDMA116 offload from accelerator, custom CC algorithm via117 `doca-pcc`) and needs to localize a regression to the118 DPA side without instrumenting the application.119- An AI agent producing a *DPA-side trace report* as120 evidence for the host-side121 [`doca-dpa TASKS.md ## debug`](../../libs/doca-dpa/TASKS.md#debug)122 ladder when the host side reports clean completions but123 the DPA-side behaviour is wrong.124125It is **not** for users debugging the tracer binary itself,126**not** a substitute for the live public DOCA DPA Tools127guide, **not** the right place for users learning how to128write a DPA kernel (that audience belongs in129[`doca-dpa`](../../libs/doca-dpa/SKILL.md) plus the public130DOCA DPA / DPACC / DPA-Comms / DPA-Verbs guides), and **not**131the right place for raw per-instruction cycle profiling132(different surface, different tool — route via133[`doca-public-knowledge-map ## DOCA tools`](../../doca-public-knowledge-map/SKILL.md#doca-tools)).134135The tracer is shipped as a **CLI binary** under136`/opt/mellanox/doca/tools/`, not a library you link against.137The skill uses the same `kind: tool` three-file shape as138the rest of the bundle so the agent's task-verb contract is139uniform across libraries, services, and tools.140141## Language scope142143`doca_dpa_hl_tracer` is a C++ host-side CLI. Its inputs are144its JSON config file, the DPA-side ELF (the145`doca_dpa_app`-class image produced by DPACC), and a running146DPA-side workload that the host-side `doca-dpa` lifecycle147already started. Its outputs are a binary trace file148(`bin_file`) and a human-readable log file (`log_file`).149The skill keeps the workflow guidance language-neutral —150the DPA-side workload it traces can be C compiled by DPACC151or any other DPA translation unit DPACC accepts — and152routes per-language questions to the public DPA / DPACC153guides via154[`doca-public-knowledge-map`](../../doca-public-knowledge-map/SKILL.md).155156## When to load this skill157158Load this skill when the user is — or the agent needs to —159invoke `doca_dpa_hl_tracer` on a real host with DOCA160installed against a BlueField with a DPA processor visible to161the host, and the host-side162[`doca-dpa`](../../libs/doca-dpa/SKILL.md) lifecycle has163already brought a DPA workload up at least once. Concretely:164165- Capturing a DPA-side trace to localize a DPA kernel's166 wrong-result or wrong-ordering behaviour when the167 host-side `doca-dpa` lifecycle reports clean completions.168- Capturing a DPA-side trace to localize a DPA-side169 performance gap (kernel-entry to first-comm latency,170 RDMA-WR-issue to completion gap, sync-point dwell time)171 at a granularity above raw cycle counts.172- Choosing between `TRACE` and `CRIT` capture modes based173 on the bug-vs-overhead tradeoff and the available174 capture window.175- Tuning the JSON config (thread priorities, core176 affinities, file size limits, file-size-limit policy) so177 the capture itself does not perturb the workload more178 than the bug it is investigating.179- Decoding a captured `bin_file` against the matching180 DPA-side ELF to render the human-readable event stream.181- Capturing a side-effect-bounded trace as prerequisite182 evidence for a host-side183 [`doca-dpa TASKS.md ## debug`](../../libs/doca-dpa/TASKS.md#debug)184 ladder step.185186Do **not** load this skill for general DOCA orientation,187DPA-side programming model questions, raw cycle profiling,188or DOCA / DPACC install. For those, route to189[`doca-public-knowledge-map`](../../doca-public-knowledge-map/SKILL.md),190[`doca-dpa`](../../libs/doca-dpa/SKILL.md), or191[`doca-setup`](../../doca-setup/SKILL.md).192193## What this skill provides194195This is a **thin loader**. Substantive material lives in two196companion files:197198- `CAPABILITIES.md` — what `doca_dpa_hl_tracer` captures: the199 DPA programming event taxonomy (kernel entry / exit, sync200 points, comm primitive calls, RDMA WR submission and201 completion drain), the two documented capture modes202 (`TRACE` for full per-event, `CRIT` for critical-events203 only), the trace-overhead-vs-fidelity tradeoff, the204 config-file shape (receiver / binary-writer / file-writer205 / printer threads with priority + core affinity, file206 size limits, `file_size_limit_policy`), the207 capture-window + workload-must-be-running invariant, the208 ELF-must-match-image rule for decode, the209 version-availability overlay (tracer ↔210 [`doca-dpa`](../../libs/doca-dpa/SKILL.md) library ↔211 DPACC compiler), the layered error taxonomy212 (install / device-binding / image-instrumented /213 capture-window / decode / overhead-saturated / version /214 cross-cutting), the observability surface (binary trace215 file + log file + tool's own stderr), and the safety216 policy (capture is bounded; tracing is not a production217 observability surface).218- `TASKS.md` — step-by-step workflows for the in-scope219 task verbs: `install` (route to host-side DOCA install +220 DPA prerequisites), `configure` (mode + JSON config221 layout + capture window), `build` (route to install —222 the binary is shipped, the DPA-side application is223 user-built by DPACC), `modify` (refuse — do not patch224 the binary; modify the JSON config and the invocation225 instead), `run` (the capture flow with `--mode`,226 `--config-file`, `--output-file`), `test` (iterative227 loop tuning mode, window, and overhead), `debug` (walk228 the error taxonomy), `use` (consume the decoded trace229 in a `doca-dpa` debug session), plus a `Deferred task230 verbs` block.231232The skill assumes a host where DOCA is already installed at233the standard location, a BlueField with a DPA processor is234present and visible to the host, the DPACC compiler is235installed at a version matched to the host-side DOCA, the236DPA-side application image (the ELF the tracer decodes237against) is on disk and matches what the238[`doca-dpa`](../../libs/doca-dpa/SKILL.md) lifecycle loaded,239and the operator has the privileges the public DOCA DPA240Tools guide requires.241242## What this skill deliberately does not ship243244This skill is **agent guidance**, not a samples or scripts245bundle. To keep the boundary clean, it deliberately does not246contain — and pull requests should not add:247248- **Specific flag strings, event names, or mode tokens249 beyond what the public DOCA DPA Tools page and `--help`250 document.** The DPA programming events surface evolves251 release to release; `--help` on the installed binary is252 the authoritative inventory.253- **Pre-baked example traces or expected event timings.**254 Trace output is workload-, DPA-image-, BlueField-, and255 firmware-specific; a captured example pinned to one256 setup misleads operators elsewhere.257- **Wrappers, parsers, or rendering scripts** in any258 language that consume the binary trace format. The259 format is documented; users who want to script against260 it should read the live guide and write the parser261 against their installed version.262- **A specific tuning recommendation derived from a single263 trace.** A DPA-side perf decision (move a sync, batch a264 comm call, change a launch argument) is a workload265 question and the skill prescribes how to *capture and266 read* traces — it refuses to translate a captured gap267 into a kernel-rewrite recommendation without the user's268 own analysis.269- **A `samples/` or `reference/` subtree.** This is a thin270 loader for a shipped CLI; substantive material lives on271 the public page, in `--help`, and in272 [`doca-dpa`](../../libs/doca-dpa/SKILL.md).273274## Loading order2752761. Read this `SKILL.md` first to confirm the user's question277 is in scope (DPA-side high-level tracing, not DPA-side278 programming and not raw cycle profiling).2792. **For the event taxonomy, capture modes, overhead280 tradeoff, JSON config layout, version overlay, error281 taxonomy, observability, and safety policy, see282 [CAPABILITIES.md](CAPABILITIES.md).**2833. **For the documented invocations and the284 capture → decode → render workflow — `install`,285 `configure`, `build`, `modify`, `run`, `test`, `debug`,286 `use` — see [TASKS.md](TASKS.md).**287288## Related skills289290- [`doca-dpa`](../../libs/doca-dpa/SKILL.md) — the host-side291 DPA control library whose loaded application image the292 tracer captures. Pair them in every DPA debug session:293 `doca-dpa` brings the workload up; the tracer captures294 what the workload does at the DPA programming event295 layer. Conflating the library with the tracer is the296 most common DPA-debug first-touch error.297- [`doca-debug`](../../doca-debug/SKILL.md) — the298 cross-cutting debug ladder. The tracer slots in at the299 *runtime* layer as the DPA-side ground truth before any300 DPA-side perf or correctness conclusion is made.301- [`doca-public-knowledge-map`](../../doca-public-knowledge-map/SKILL.md)302 — routing to the public DOCA DPA Tools page on303 `docs.nvidia.com` and the rest of the public DOCA304 documentation set.305- [`doca-version`](../../doca-version/SKILL.md) — canonical306 DOCA version-handling rules. The `## Version307 compatibility` section in [`CAPABILITIES.md`](CAPABILITIES.md)308 is a concise overlay that redirects here for the body309 and adds the *tracer ↔ `doca-dpa` library ↔ DPACC310 compiler* matching rule.311- [`doca-setup`](../../doca-setup/SKILL.md) — env312 preparation, install verification, DPACC compiler313 install / verification, BlueField mode (the DPA314 processor must be exposed before any tracing is315 meaningful), and the *I have no install yet* path with316 the public NGC DOCA container.317- [`doca-structured-tools-contract`](../../doca-structured-tools-contract/SKILL.md)318 — the bundle's detect → prefer → fall back → report319 contract for structured helper tools. The command320 appendix in [`TASKS.md`](TASKS.md) honors this contract.321- [`doca-programming-guide`](../../doca-programming-guide/SKILL.md)322 — general DOCA programming patterns shared by every323 library / tool surface, including the cross-library324 `DOCA_ERROR_*` taxonomy this tool's host-side error325 layer overlays on top of when host-side `doca-dpa`326 calls fail in tandem.327328The DPA-side companion libraries `doca-dpa-comms` (comm329primitives the DPA kernel itself calls) and330`doca-dpa-verbs` (RDMA verbs the DPA kernel itself calls)331are **different artifacts** that the tracer's *DPA332programming events* surface visibly names; for the333DPA-side programming model itself, route through334[`doca-public-knowledge-map`](../../doca-public-knowledge-map/SKILL.md)335to the public DOCA DPA-Comms and DPA-Verbs guides and to336the shipped `/opt/mellanox/doca/samples/doca_dpa/` samples.337This tool *traces* their use; it does not redefine them.