Skip to main content
ClaudeWave
Skill3.2k repo starsupdated 3d ago

doca-collectx-deployment

>

Install in Claude Code
Copy
git clone --depth 1 https://github.com/NVIDIA/skills /tmp/doca-collectx-deployment && cp -r /tmp/doca-collectx-deployment/skills/doca-collectx-deployment ~/.claude/skills/doca-collectx-deployment
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# DOCA CollectX telemetry deployment

**Where to start:** This skill is the bundle's home for
*operating a CollectX (clx) based telemetry collector* — the
collection framework that gathers provider counters into a
schema and ships them out through one or more exporters. It is a
deployment / operation skill, parallel to
[`doca-bare-metal-deployment`](../doca-bare-metal-deployment/SKILL.md)
and [`doca-container-deployment`](../doca-container-deployment/SKILL.md):
it owns the *runtime shape* of a telemetry collector on the
operator's host or BlueField, not the library APIs the operator's
own program calls. If the user wants to stand up, wire, or debug
a collector and its exporters, open [`TASKS.md`](TASKS.md) and
start at [`## configure`](TASKS.md#configure). If the question is
*what surfaces does the collector even have and where is the
scope boundary*, start at [`CAPABILITIES.md`](CAPABILITIES.md).
If the user has not installed DOCA yet, route to
[`doca-setup`](../doca-setup/SKILL.md) first.

## The scope boundary (read this before anything else)

CollectX (clx) is NVIDIA's telemetry **collection** framework. It
underpins the **DOCA Telemetry Service (DTS)** — and DTS
*as-deployed* (the productized, NGC-shipped / kubelet-started
service container) is **out of scope** for this bundle per
[`AGENTS.md` Non-goal #7](../../AGENTS.md#non-goals-questions-the-agent-should-recognize-and-refuse-politely).
This skill therefore draws a hard line and the agent MUST state
it up front:

- **In scope here:** the CollectX *collection mechanism* as a
  class (providers / counters → schema → collector daemon →
  exporters), and the operator deploying / running / debugging a
  collector that they own, plus the operator's own usage of the
  two in-bundle telemetry **libraries** when those feed or
  consume the collector.
- **Routed to the DOCA telemetry libraries:** the
  hardware-counter **reader** API is owned by
  [`doca-telemetry`](../libs/doca-telemetry/SKILL.md); the
  application-side **publisher** API (emit counters / events from
  a DOCA program) is owned by
  [`doca-telemetry-exporter`](../libs/doca-telemetry-exporter/SKILL.md).
  This skill does not re-document either API surface.
- **Routed to public docs (Non-goal #7):** the productized
  **DTS container** — its packaged config schema, its built-in
  provider set, its kubelet manifest, its NGC image — is
  externally productized. Route every "operate the DTS service"
  question to the
  [`doca-public-knowledge-map` externally-productized routing row](../doca-public-knowledge-map/SKILL.md#externally-productized-doca-software--not-in-this-bundle-but-here-is-where-to-route)
  and the public DTS guide it points at. The agent must NOT
  synthesize DTS config file names, provider knob names, or
  paths from memory.

The load-bearing first-touch failure this skill exists to
prevent is **collapsing these four surfaces into "DOCA
telemetry"**: the clx collection mechanism, the `doca-telemetry`
reader library, the `doca-telemetry-exporter` publisher library,
and the productized DTS container are four different things with
four different owners. The agent surfaces the decomposition
BEFORE any config-level guidance.

## Audience

This skill serves **external operators standing up or running a
CollectX-based telemetry collector** on a host or BlueField they
administer — people who already have:

- a DOCA install on the side they are collecting from (host x86
  or BlueField Arm), verified per
  [`doca-setup ## test`](../doca-setup/TASKS.md#test),
- a goal of *getting counters off the box* through a collector +
  exporter, not of writing the reader / publisher library code
  (that is the two `libs/` skills above), and
- access to the public DOCA Telemetry and DTS guides on
  `docs.nvidia.com` as the authoritative source for any concrete
  provider name, schema field, flag, or config path.

It is **not** for:

- developers writing the hardware-counter reader API (route to
  [`doca-telemetry`](../libs/doca-telemetry/SKILL.md)) or the
  publisher API (route to
  [`doca-telemetry-exporter`](../libs/doca-telemetry-exporter/SKILL.md)),
- operators deploying / configuring the **productized DTS
  container** as a turnkey service — that is externally
  productized (Non-goal #7); route to the public DTS guide,
- fresh-no-install users — those belong on
  [`doca-setup ## no-install`](../doca-setup/TASKS.md#no-install).

The skill teaches the agent the *procedure and the scope
boundary*; it does not invent clx symbol names, provider names,
schema field names, exporter flag names, or config paths from
memory — those come from the live install and the public docs via
[`doca-public-knowledge-map`](../doca-public-knowledge-map/SKILL.md).

## When to load this skill

Load this skill when the user is doing hands-on **deployment or
operation of a CollectX-based telemetry collector** and the
question is about the collector runtime shape, not a library API.
Concretely:

- Standing up a collector that gathers provider counters into a
  schema and ships them out — and deciding which export backend
  (Prometheus pull, Fluent Bit push, NetFlow, file / IPC) fits
  the downstream consumer.
- Wiring a provider / counter family into the collector and
  confirming the device actually exposes it before the config
  commits (the gate-before-commit rule, shared with
  [`doca-telemetry-utils`](../tools/doca-telemetry-utils/SKILL.md)).
- Turning on / shaping an exporter so the metrics actually leave
  the box, and confirming the downstream consumer receives them
  end-to-end (not just "the daemon is running").
- Diagnosing a collector that starts but produces no schema rows,
  or ships nothing downstream, or whose exporter endpoint is
  silent — walking the layered ladder rather than guessing.
- Recognising when the user is actually asking about the
  productized DTS container (route to public docs, Non-goal #7),
  the reader library (route to `doca-telemetry`), or the
  publisher library (rout