Generated banner for Doca Telemetry Traceback Application
Generated logo for Doca Telemetry Traceback Application

Doca Telemetry Traceback Application

NVIDIAOfficialCreated by NVIDIA

  • Skill
  • Tool integration
  • Cloud and DevOps
  • Apache-2.0
  • Medium risk

From the author

Use this skill when the operator is driving the DOCA Telemetry Traceback application to monitor telemetry data locally on a BlueField DPU or ConnectX NIC, detect long-term trends and threshold breaches with user-defined rules, and capture pre-event history plus active-event data to a log file. Trigger even when the user does not explicitly mention "DOCA Telemetry Traceback" — typical implicit phrasings include "monitor telemetry trends on the DPU without streaming all raw data", "log the samples before and after a threshold breach", "set up a rule that triggers when rx bytes/s exceeds 1M", "differential greater than rule on a data ID", "circular buffer of telemetry samples", or "traceback event log". Refuse and route elsewhere: the DOCA Telemetry Diag programming API and raw counter reads to doca-telemetry, DOCA install/bring-up to doca-setup, and version questions to doca-version.
— the description by NVIDIA

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

The DOCA Telemetry Traceback application is a tool for monitoring telemetry data locally on BlueField DPUs or ConnectX NICs. It allows users to define rules for detecting trends and threshold breaches, capturing both pre-event history and active-event data into a log file. This skill provides guidance on configuring the application via JSON, compiling it from source, and executing it on hardware, while maintaining clear boundaries with other DOCA components like the Telemetry Diag API or installation procedures.

What it does

  • Configures telemetry monitoring rules and data IDs via JSON.
  • Supports compilation of the application from source code.
  • Executes the application on BlueField DPU or ConnectX NIC hardware.
  • Captures pre-event and active-event telemetry data to log files.
  • Provides troubleshooting steps for empty logs or configuration mismatches.

When to use it

  • When you need to monitor telemetry trends locally on a DPU without streaming raw data.
  • When you need to set up rules to trigger logs based on threshold breaches.
  • When you need to compile the Telemetry Traceback application from source.
  • When you are diagnosing issues like empty event logs or unsupported data IDs.

Advantages

  • Enables local telemetry processing and traceback logging on supported hardware.
  • Provides structured guidance for rule definition and application execution.
  • Maintains clear separation between application usage and low-level API programming.
  • Integrates with standard DOCA development workflows.

Usage examples

“How do I set up local telemetry monitoring for port_0_rx_bytes on my DPU?”
The agent provides the necessary JSON configuration structure and rule definitions to monitor the specified data ID and log history around threshold breaches.
“Why is my differential_greater_than rule not triggering in the event log?”
The agent explains the requirement for sample history depth and delta logic, guiding you to verify your configuration parameters.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/nvidia/doca-telemetry-traceback-application/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip doca-telemetry-traceback-application.zip -d .agents/skills

Documentation by NVIDIA

DOCA Telemetry Traceback Application

Scope boundaries

These requests are out of scope: say so, name the skill that owns the request, and stop.

  • the DOCA Telemetry Diag programming API and raw counter reads: doca-telemetry/SKILL.md.

  • DOCA install and bring-up: doca-setup/SKILL.md.

  • which DOCA version is installed, version consistency: doca-version/SKILL.md.

  • general DOCA orientation and documentation lookup: doca-public-knowledge-map/SKILL.md.

Examples

  • “Can I monitor telemetry trends on the DPU without streaming all raw data?” — in scope. Configure rules and sample history depth; do not use the DOCA Telemetry Diag API directly here.

  • “The event log is empty even though a threshold was crossed.” — check rule comparison_type and sample_history_depth; differential rules require depth samples before functioning.

  • “How do I build only this application?” — use the Meson isolation flags; see the tasks companion.

  • “I'm writing my own C code against the DOCA Telemetry Diag library to read counters.” — that part is doca-telemetry's: the application uses Diag internally, but programming the Diag API is not this skill. Name doca-telemetry for it and do not write Diag API code here; handle every other part of the request as this skill describes (for example, --force-ownership still goes through doca-hardware-safety).

Quick facts

The authoritative source for the binary name, flags, and paths is the public DOCA Telemetry Traceback guide for the release; confirm them with the installed tool's --help before quoting any of them. As that guide describes it:

  • Standalone application on a BlueField DPU or ConnectX NIC; four components: DOCA Telemetry Diag instance, sample history circular buffer, rule collection, and events log file.

  • Configuration JSON fields: diag_sample_period_ns, sample_history_depth, data-ids array, and rules array. Rule types are incremental_greater_than (inc_gt), differential_greater_than (dt_gt), differential_less_than (dt_lt), greater_than (gt), and less_than (lt).

  • The circular buffer size is automatically doubled based on the requested depth to ensure equal historical and active event data.

  • Requires sudo/root privileges; mandatory -d PCIe address and -r rules JSON; optional --event-log and --force-ownership.

  • Unsupported data IDs are reported; adjust inputs accordingly.

  • The application stops if the actual sample size or period does not match the requested parameters.

  • --force-ownership changes diag domain ownership; route any use of it through doca-hardware-safety/SKILL.md.

Instructions

Follow Loading order below. Open the tasks companion for configure / build / run / debug. Open the capabilities companion for what the application monitors and logs. Do not open every companion file.

Where to start: This is a tool skill for invoking the DOCA Telemetry Traceback application — the local telemetry monitoring and traceback logging service that processes telemetry data on the device and writes event logs when user-defined rules trigger. Open the tasks companion and start at ## configure for the JSON configuration and rule definitions, then ## run for compile and execution. Open the capabilities companion when the question is what data can be monitored, what rules evaluate, and what the event log contains. If the user has not installed DOCA yet, route to doca-setup/SKILL.md first. If the user asks about version, route to doca-version/SKILL.md. If any step changes hardware or firmware state (e.g., --force-ownership), route to doca-hardware-safety/SKILL.md.

How to use this skill. Read this file, then search the companion file for the ## <name> heading the question needs and read that whole section. Answer completely from it, quoting only its symbols and commands. Do not browse docs; use the entry points in doca-public-knowledge-map. Give environment checks as commands for the user's DOCA host. For out-of-scope requests, name the skill that owns them and stop.

Compile and run commands are documented in the tasks companion; the authoritative source is the public guide. The application is distributed as source and must be compiled before execution. The source is located at /opt/mellanox/doca/applications/telemetry/traceback/.

Example questions this skill answers well

The CLASSES of telemetry-traceback 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.

  • “How do I set up local telemetry monitoring with traceback logging?” — worked example: “I want to monitor port_0_rx_bytes on the DPU and log history before and after it exceeds 1 MB/s”. Answered by the JSON configuration and rule definitions in the tasks companion.

  • “What rule types are available and when do they activate/deactivate?” — worked example: “I need a rule that triggers each time a counter increases by a threshold, not just when it exceeds a fixed value”. Answered by the rule definitions in the capabilities companion.

  • “Why is my differential rule not triggering?” — worked example: “I configured differential_greater_than but the event log stays empty”. Answered by the depth requirement and delta logic in the capabilities companion.

  • “How do I compile and run only this application?” — worked example: “I want to build just the Telemetry Traceback app, not all DOCA applications”. Answered by the Meson isolation flags in the tasks companion.

  • “What does the event log contain when multiple events overlap?” — worked example: “Two rules trigger at the same time; how are begin/end markers written?”. Answered by the event log lifecycle in the capabilities companion.

  • “How do I know if my device supports the data IDs I configured?” — worked example: “The application reports unsupported IDs; what do I do?”. Answered by the unsupported data ID handling in the tasks companion.

When to load this skill

Load this skill when the user is — or the agent needs to — drive the DOCA Telemetry Traceback application on a real host or BlueField Arm with DOCA installed (or inside the public NGC DOCA container with the right device passthrough). Concretely:

  • Configuring JSON rules and data IDs for local telemetry monitoring.

  • Compiling the application from source.

  • Running the application with a PCIe address and rules file.

  • Diagnosing an empty event log, unsupported data IDs, or sample size/period mismatch.

  • Understanding rule activation/deactivation semantics.

  • Cross-checking event log output against configured rules.

Do not load this skill for general DOCA orientation, the DOCA Telemetry Diag programming API, raw telemetry collection, DOCA install, or version questions. For those, route to doca-public-knowledge-map/SKILL.md, doca-setup/SKILL.md, or doca-version/SKILL.md.

What this skill provides

This is a thin loader. Substantive material lives in two companion files:

  • the capabilities companion — what the application monitors and logs: the four components, configuration schema, rule definitions with activation/deactivation triggers, event log lifecycle, unsupported data ID behavior, version overlay that redirects to doca-version/SKILL.md, and the safety policy for --force-ownership.

  • the tasks companion — step-by-step workflows for the in-scope task verbs: configure (JSON config, rule selection), build (Meson compile all or only this app), run (execution syntax, root, PCIe address), debug (empty log, unsupported IDs, sample mismatch), plus a Command appendix that honors the bundle's doca-structured-tools-contract/SKILL.md preamble.

The skill assumes a host or BlueField where DOCA is already installed (or the public NGC DOCA container is running with the right device passthrough) and the operator has root privileges as required by the public guide.

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:

  • Verbatim flag inventories, subcommand names, or output column names. The public DOCA Telemetry Traceback guide and the installed --help on the user's version are the joint source of truth; copying them here pins the skill to one release and silently rots when the application evolves. The skill routes the agent at those sources instead.

  • Pre-baked example output. Output is install-, version-, and device-specific. A captured example will mislead an operator on a different platform / state.

  • Wrappers, parsers, or scripts in any language that consume the application's output. The output format is documented; users who want to script against it should read the live guide and write the parser against their installed version.

  • A samples/ or reference/ subtree. This is a thin loader for a documented DOCA artifact; substantive material lives on the public page and in --help.

Loading order

  1. Read this skill first to confirm the user's question is in scope (the user wants to monitor telemetry data locally and capture traceback event logs, not use the DOCA Telemetry Diag programming API directly).

  2. For what the application monitors, the configuration schema, rule definitions, event log lifecycle, unsupported data ID behavior, version availability, and safety posture, see the capabilities companion.

  3. For the documented invocations and workflows — configure, build, run, debug, plus the Command appendix — see the tasks companion.

  • doca-hardware-safety/SKILL.md — the bundle's hardware/firmware state-change gate. The Telemetry Traceback application is read-only for telemetry data, but the --force-ownership flag changes diag domain ownership; route any use of that flag through this skill before execution.

  • doca-version/SKILL.md — canonical DOCA version-handling rules. The ## Version compatibility section in the capabilities companion is a concise overlay that redirects here for the body.

  • doca-setup/SKILL.md — env preparation, install verification, and the I have no install yet path with the public NGC DOCA container. This skill assumes its preconditions are satisfied.

  • doca-public-knowledge-map/SKILL.md — routing to the public DOCA Telemetry Traceback guide and the rest of the public DOCA documentation set. The canonical URL is reached via doca-public-knowledge-map ## DOCA tools (doca-public-knowledge-map/SKILL.md#doca-tools).

  • doca-structured-tools-contract/SKILL.md — the bundle's detect → prefer → fall back → report contract for structured helper tools. The Command appendix in the tasks companion honors this contract.

Files

TASKS.md

DOCA Telemetry Traceback Application — Tasks

Where to start: The verbs that carry real workflow content are ## configure, ## build, ## run, and ## debug. The ## modify verb carries a routing stub because the thing the agent modifies is the JSON configuration and rule definitions, not the application source — the Telemetry Traceback application is distributed as source code and must be compiled, but source modification is out of scope for this skill and routes to the DOCA Reference Applications page and development tips. The ## test verb is an iterative loop (configure → run → observe event log → adjust, with every state-changing operation re-opening the smoke), not a one-shot pass — see the eval-loop overlay in ## test below.

This file is loaded by SKILL.md after CAPABILITIES.md. It walks the agent through the six task verbs every artifact in this bundle exposes (configure / build / modify / run / test / debug), then explicitly defers task verbs that do not belong here, and ends with the Command appendix honoring the bundle's doca-structured-tools-contract/SKILL.md preamble.

configure

The Telemetry Traceback application's configuration is the JSON file documented in CAPABILITIES.md ## Capabilities and modes — diag_sample_period_ns, sample_history_depth, data-ids, and rules — layered on top of the precondition that DOCA is installed and the application has been compiled. The application does not carry a separate daemon contract of its own beyond the JSON file passed via -r/--rules; if that flag is not provided, the application defaults to rules.json in the working directory.

Steps the agent should walk the user through, in order:

  1. Confirm the DOCA install and version compatibility. Walk doca-version TASKS.md ## configure (doca-version/TASKS.md#configure) to capture the installed DOCA version, then apply the Telemetry Traceback overlay in CAPABILITIES.md ## Version compatibility: confirm the application source is present at /opt/mellanox/doca/applications/telemetry/traceback/ and that the installed version supports the rule types and flags the user plans to use. If the artifact is not present on the install profile, route to doca-setup ## install (doca-setup/TASKS.md).

  2. Identify the device and the data IDs to monitor. The application reads telemetry from a specific device via the PCIe address passed at run time, but the JSON configuration must name the data IDs to sample. Each data_id is a 16-character hexadecimal value in the format 0x[0-9a-fA-F]{16}. Not all data IDs supported by the application are supported by every device; the application reports unsupported IDs and requires the administrator to adjust inputs. The agent should not commit to a data ID without confirming the device supports it — if unknown, run once with the candidate IDs and adjust based on the reported unsupported list.

  3. Choose the sample period and history depth. diag_sample_period_ns is the sampling interval in nanoseconds and is passed directly to the diag instance. sample_history_depth is the number of historical records a rule evaluates; the application automatically provisions a circular buffer double this size to ensure equal historical and active event data. The agent must surface two depth constraints: differential rules (dt_gt, dt_lt) require at least sample_history_depth values in the buffer before they can function, and gt/lt rules require sample_history_depth consecutive samples on the correct side of the threshold.

  4. Define the data-ids array. Each entry has a name (a friendly name used as the column header in the events log) and a data_id (the 16-character hexadecimal value). The name is arbitrary but should be stable because it appears in the log header.

  5. Define the rules array. Each rule has a name, a data_id that must match an ID defined in the data-ids array, a comparison_type, and an integer comparison_value. The five rule types and their hysteresis are documented in CAPABILITIES.md ## Capabilities and modes rule definitions. The agent should help the user select the rule type based on the metric's behavior:

    • incremental_greater_than (inc_gt) is designed for incrementally increasing values and triggers each time the value increases by the comparison threshold.

    • differential_greater_than (dt_gt) and differential_less_than (dt_lt) evaluate the delta between the newest sample and the sample at [N-(sample_history_depth-1)].

    • greater_than (gt) and less_than (lt) are designed strictly for values that can fluctuate; they are not suitable for metrics that only increment, such as total bytes transferred.

  6. Plan the event log output. The application writes event data to a log file. If --event-log is not provided, the application creates or truncates events.log in the working directory (the default named in the code flow). The agent should record the intended log path so the ## test and ## debug loops can inspect it.

  7. Validate the configuration before hardware allocation. The application performs validate_configuration() to catch expected configuration errors before allocating hardware resources. The agent should pre-validate the same checks: data_id format, rule data_id matches an entry in data-ids, comparison_type is one of the five accepted values, comparison_value is an integer, and the sample period and depth are positive.

  8. Plan the rollback path. Because configuration changes alter what is monitored and what is logged, the agent records the previous JSON file and event log path. If the user plans to use --force-ownership, that flag changes diag domain ownership and must be routed through doca-hardware-safety/SKILL.md before execution — see ## Safety policy.

Example configuration, as documented in the public guide:

{
  "diag_sample_period_ns": 100000,
  "sample_history_depth": 10000,
  "data-ids": [
    {
      "name": "port_0_rx_bytes",
      "data_id": "0x1020000100000000"
    }
  ],
  "rules": [
    {
      "name": "Rx Bytes/s > 1MeBs",
      "data_id": "0x1020000100000000",
      "comparison_type": "differential_greater_than",
      "comparison_value": 1048576
    }
  ]
}

build

The Telemetry Traceback application is distributed as source code and must be compiled prior to execution. The source is located at /opt/mellanox/doca/applications/telemetry/traceback/. DOCA reference applications are installed with full source code and build instructions; for development and compilation tips, refer to the DOCA Reference Applications page. For install-related questions, route to doca-setup/SKILL.md.

Compiling all applications. By default, the DOCA Meson project is configured to build every reference application simultaneously:

cd /opt/mellanox/doca/applications/
meson /tmp/build
ninja -C /tmp/build

The compiled binaries are generated in /tmp/build/telemetry/.

Compiling only the current application. To significantly reduce build times, isolate the Telemetry Traceback application.

Option 1 — command line configuration:

cd /opt/mellanox/doca/applications/
meson /tmp/build -Denable_all_applications=false -Denable_telemetry=true -Denable_telemetry_traceback=true
ninja -C /tmp/build

Option 2 — configuration file. Edit /opt/mellanox/doca/applications/meson_options.txt and set:

enable_all_applications = false
enable_telemetry = true
enable_telemetry_traceback = true

Then run the standard compilation commands:

cd /opt/mellanox/doca/applications/
meson /tmp/build
ninja -C /tmp/build

Configuration rule. If enable_all_applications is set to false, the main enable_telemetry flag must be set to true for any underlying telemetry application to compile successfully. The individual applications default to true, but can be toggled on or off as needed once the main telemetry flag is enabled.

modify

The thing the agent modifies for the Telemetry Traceback application is the JSON configuration and rule definitions, not the application source. Configuration changes are covered in ## configure. If the user wants to modify the application source code itself, that is out of scope for this skill; the source is available at /opt/mellanox/doca/applications/telemetry/traceback/ and the user can modify it as-is, but development and compilation tips live on the DOCA Reference Applications page, not in this skill.

run

The application is distributed as source code and must be compiled prior to execution. The execution syntax is:

sudo doca_telemetry_traceback -d 03:00.0 --rules my_rules_file.json

Steps the agent should walk the user through, in order:

  1. Confirm the build completed. The compiled binary is generated in /tmp/build/telemetry/ when built with Meson. If the binary is not present, return to ## build.

  2. Confirm root privileges. The application strictly requires sudo (root privileges) to access hardware-level telemetry data on the device. The agent must state this requirement before any run command.

  3. Identify the target device PCIe address. The mandatory -d parameter must exactly match the physical PCIe address of the target device (for example, 03:00.0). A wrong address produces a device open failure.

  4. Prepare the rules JSON file. The -r/--rules flag takes the path to the JSON configuration file. If not overridden via CLI, the application defaults to rules.json in the working directory.

  5. Optionally specify the event log path. Use --event-log to set the output log file. If omitted, the application creates or truncates events.log in the working directory.

  6. Execute the application. Example with an explicit event log:

    sudo doca_telemetry_traceback -d 03:00.0 --rules my_rules_file.json --event-log /tmp/traceback_events.log
  7. Monitor the run. The application logs its configuration header immediately, then enters a continuous polling loop. It installs a SIGINT signal handler so the operator can terminate cleanly with CTRL+C. Device cleanup is handled automatically via C++ RAII unique_ptr objects when the SIGINT signal breaks the execution loop.

  8. Handle unsupported data IDs. If the application reports unsupported data IDs, adjust the JSON inputs accordingly and re-run.

  9. Handle sample size/period mismatch. The application calls doca_telemetry_diag_get_sample_size() and doca_telemetry_diag_get_sample_period() to confirm the hardware accepted the requested parameters. If the actual sample size or period does not match the requested parameters, the application explicitly stops. This is a deliberate safety check, not a bug; the agent must not recommend workarounds that bypass it. Adjust diag_sample_period_ns or the data IDs to match hardware capabilities.

  10. If --force-ownership is needed. That flag forces ownership of the diag domain and only applies when the device firmware is in single domain mode. Route any use of it through doca-hardware-safety/SKILL.md before execution.

General DOCA flags (-h, -v, -l, --sdk-log-level, --log-filter, -j) and program flags (-d, -r, --event-log, --force-ownership) are listed in the Command appendix.

test

The Telemetry Traceback application does not ship a separate test harness; the ## test verb is an iterative verification loop built from the run and debug verbs. The goal is to confirm that a configured rule actually produces the expected event log output before the operator relies on it for long-term monitoring.

The loop is:

  1. Configure a minimal rule set with a known threshold. Choose a rule type appropriate to the metric being monitored. For an incrementing counter, use incremental_greater_than with a small comparison_value so the event triggers quickly. For a fluctuating metric, use greater_than or less_than with a threshold that will be crossed under normal load.

  2. Run the application with --event-log pointing to a dedicated test log file, per ## run.

  3. Generate the condition the rule monitors. The application samples telemetry data; the operator must cause the threshold to be crossed (for example, by generating traffic on the monitored port).

  4. Observe the event log. The log should contain the configuration header, an "event started" marker, the historical data dump, all active event data, and an "event completed" marker. If multiple events activate simultaneously, individual begin/end rows are inserted to track their respective lifecycles.

  5. If the log is empty or missing markers, do not proceed to bulk use. Route to ## debug and adjust the configuration.

  6. Terminate with SIGINT (CTRL+C), inspect the log, adjust the JSON configuration, and repeat until the event log matches the expected lifecycle.

Every state-changing operation in this loop (editing the JSON file, changing the event log path, re-running with a different PCIe address) re-opens the smoke from step 1. The test is not a one-shot pass.

debug

Map the symptom to the right layer before any state-changing intervention. The full error taxonomy is in CAPABILITIES.md ## Error taxonomy.

SymptomLikely layerWhat to check
Event log is empty even though a threshold was crossedRule configurationVerify comparison_type and sample_history_depth. Differential rules require depth samples before functioning; gt/lt require consecutive samples on the correct side. Confirm the rule's data_id matches an entry in data-ids.
Application reports unsupported data IDsDevice capabilityThe specific device may not support all data IDs the application supports. Adjust the JSON inputs accordingly.
Application stops immediately after startSample size/period mismatchThe hardware did not accept the requested diag_sample_period_ns or sample size. The application explicitly stops. Adjust the sample period or data IDs to match hardware capabilities.
Application fails to access telemetry dataPrivilegesThe application strictly requires sudo (root privileges).
Application cannot find the devicePCIe addressingEnsure the -d parameter exactly matches the physical PCIe address of the target device.
Diag domain ownership conflictFirmware domain mode--force-ownership forces ownership of the diag domain and only applies when the device firmware is in single domain mode. Route through doca-hardware-safety/SKILL.md.

For deeper runtime diagnostics, increase log verbosity with the DOCA logging flags (-l, --sdk-log-level, --log-filter) documented in the public guide and the installed --help. For any issue encountered with compilation, installation, or execution of the DOCA applications, refer to the NVIDIA BlueField Platform Software Troubleshooting Guide.

Deferred task verbs

The following task verbs do not belong in this skill and are explicitly deferred:

  • install — routes to doca-setup/SKILL.md. This skill assumes DOCA is already installed and the application source is present at /opt/mellanox/doca/applications/telemetry/traceback/.

  • version — routes to doca-version/SKILL.md. Version-specific availability, changes, and compatibility questions are owned there.

  • telemetry-diag-api — routes to the DOCA Telemetry Diag programming guide. This skill covers the Traceback application, not the underlying Telemetry Diag library API.

  • raw-telemetry — routes to the DOCA Telemetry Diag programming guide. The Traceback application processes telemetry data locally for traceback logging; it is not a raw telemetry collection tool.

  • hardware-state-change — routes to doca-hardware-safety/SKILL.md. The only hardware/firmware state-changing flag in this application is --force-ownership.

  • source-modification — routes to the DOCA Reference Applications page and development tips. This skill covers configuration and operation, not modifying the application source code.

Command appendix

The commands below are the fallback path when the bundle's structured helper tools are not available; prefer the structured tools per doca-structured-tools-contract/SKILL.md.

Build all applications:

cd /opt/mellanox/doca/applications/
meson /tmp/build
ninja -C /tmp/build

Build only the Telemetry Traceback application (CLI flags):

cd /opt/mellanox/doca/applications/
meson /tmp/build -Denable_all_applications=false -Denable_telemetry=true -Denable_telemetry_traceback=true
ninja -C /tmp/build

Build only the Telemetry Traceback application (configuration file): Edit /opt/mellanox/doca/applications/meson_options.txt to set enable_all_applications = false, enable_telemetry = true, enable_telemetry_traceback = true, then:

cd /opt/mellanox/doca/applications/
meson /tmp/build
ninja -C /tmp/build

Run the application:

sudo doca_telemetry_traceback -d 03:00.0 --rules my_rules_file.json

Run with an explicit event log:

sudo doca_telemetry_traceback -d 03:00.0 --rules my_rules_file.json --event-log /tmp/traceback_events.log

Print help:

doca_telemetry_traceback --help

Print version:

doca_telemetry_traceback --version

General flags:

  • -h, --help — print help synopsis and exit.

  • -v, --version — print program version information and exit.

  • -l, --log-level — set numeric log level (10 DISABLE, 20 CRITICAL, 30 ERROR, 40 WARNING, 50 INFO, 60 DEBUG, 70 TRACE; TRACE requires compilation with TRACE support).

  • --sdk-log-level — set SDK numeric log level using the same 10–70 scale.

  • --log-filter — filter logs from specific modules (comma-separated list).

  • -j, --json — parse command-line flags from a specified input JSON file.

Program flags:

  • -d, --device — mandatory; exact PCIe address of the device to read telemetry information from.

  • -r, --rules — path to a JSON file containing the application configuration.

  • --event-log — path to output log file for events information.

  • --force-ownership — force ownership of the diag domain; only applies when the device firmware is in single domain mode. Route through doca-hardware-safety/SKILL.md before use.

Cross-cutting

  • Root privileges are mandatory for every run; the agent must state this before any execution command.

  • PCIe address must exactly match the physical device; a wrong address fails at device open.

  • Unsupported data IDs are reported by the application; adjust the JSON inputs and re-run.

  • Sample size/period mismatch causes the application to stop deliberately; do not bypass this check.

  • --force-ownership changes diag domain ownership and is the only hardware/firmware state-changing flag; route through doca-hardware-safety/SKILL.md.

  • Version questions route to doca-version/SKILL.md; install questions route to doca-setup/SKILL.md.

  • The application is read-only for telemetry data except for the --force-ownership flag; see CAPABILITIES.md ## Safety policy.

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

The author says: Requires DOCA SDK installed at /opt/mellanox/doca on Linux with a BlueField DPU or ConnectX NIC, plus root privileges to access hardware-level telemetry data. The application is distributed as source code and must be compiled before execution; the source is located at /opt/mellanox/doca/applications/telemetry/traceback/. Validation steps require a live DOCA install.

Security

What our scanner noticed· Medium risk

  • Large base64-encoded blobs

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
NVIDIA
Publisher
NVIDIA (Official)
Source
NVIDIA/skills · skills/doca-telemetry-traceback-application · commit fce3cca
Licence
Apache License 2.0 (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE-APACHE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by NVIDIA or NVIDIA.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download doca-telemetry-traceback-application.zip