DOCA Telemetry Exporter 开发技能
帮助 DOCA 应用定义、发送和调试面向外部消费者的结构化遥测数据。
文档明确限定发布端范围,强调同用户权限、无需sudo、消费者先启动、AGAIN时丢弃或有限缓冲,并说明单向数据流;但未给出统一的用户确认、回滚方案或敏感数据处理流程,许可证与来源元数据存在Apache-2.0、Apache-2.0 AND CC-BY-4.0及NOASSERTION之间的不一致,因此扣分。
TASKS.md与CAPABILITIES.md提供了配置、构建、运行、测试和错误分类路径,异常时通常能指向具体层级;但本次仅静态阅读,缺少可执行复现,且若干API行为和传输语义依赖安装版本或外部文档,因此按静态上限保守扣分。
触发条件、目标受众、非适用范围及与Telemetry Service、doca_log、Prometheus和doca-comch的路由边界较清楚,也覆盖C/C++及FFI场景;但要求特定DOCA安装、BlueField或ConnectX硬件,未证明中文支持或中国大陆网络可达性,隐式触发范围也可能偏宽,因此扣分。
采用SKILL.md薄加载器加CAPABILITIES.md、TASKS.md和相关技能的分层结构,包含依赖、工作流、错误处理、限制和路由说明;但BENCHMARK.md列出缺少Instructions、Examples、Author等规范问题,SKILLCARD中的版本、签名和扫描时间仍为TBD,变更记录及维护责任不够明确,因此扣分。
内容能够指导核心的发布端选择、schema注册顺序、能力查询和AGAIN处理,并提供测试循环;但不提供可直接运行的样例或模板,实际代码修改被延期到未来渲染器,且关键结果依赖用户本地安装和接收端,因此只能评为中等偏低并扣分。
文件包含明确的符号、命令、错误映射、评测摘要和官方文档引用,具备一定审计线索;但评测数据集不可用,报告不是独立第三方复现证据,且本次没有执行验证,因此静态证据覆盖有限并扣分。
- 许可证、路径和来源元数据存在不一致,发布前应统一并确认适用条款。
- 不要把BENCHMARK.md中的PASS或评测百分比视为本次独立验证;报告明确称评测数据集不可用。
- 核心行为依赖已安装的DOCA版本、硬件、接收端和外部文档;使用前应核对本机头文件、pkg-config结果和接收端权限。
- 未提供中国大陆网络可达性或中文交互验证;面向FollowSkills中国用户时需额外确认。
这个 Skill 能做什么,适合哪些场景?
该技能面向使用 DOCA Telemetry Exporter 发布计数器、仪表值和事件的外部开发者。它指导用户定义 schema、创建 telemetry source、选择数据类型,并在首次发送前完成 schema 注册。技能还覆盖能力查询、构建、修改、运行、测试和 DOCA_ERROR_* 故障排查。它只处理发布端,不负责 DOCA Telemetry Service 等接收端。
技能读取本机 /opt/mellanox/doca 下的库、头文件、样例和应用目录,并使用 pkg-config 检查 doca-telemetry-exporter。它指导用户基于已安装的 DOCA C API 和样例配置 schema、source 与 counter/gauge/event 类型,查询安装版本支持的能力,在首次 emit 前注册 schema,并按 configure、build、modify、run、test、debug 工作流进行操作。它还解释 DOCA_ERROR_AGAIN、DOCA_ERROR_NOT_FOUND 等错误,以及发送状态、权限和消费者连通性问题。
- DOCA Flow 开发者需要向下游采集器发布每秒处理包数计数器时,判断应链接 exporter 还是 Telemetry Service。
- C/C++ 应用开发者首次发送结构化事件,需要定义 schema、创建 source 并确保先注册 schema。
- 高负载发送循环收到 DOCA_ERROR_AGAIN,需要决定丢弃事件还是使用有界缓冲。
- 发送返回成功但消费者没有数据,需要检查消费者是否先启动以及端到端接收情况。
- 开发者想确认当前 DOCA 安装是否支持 gauge、最大字段数或事件大小等能力。
- Rust、Go 或 Python 开发者为 exporter C ABI 编写 FFI 或绑定时,需要保持生命周期、权限和错误处理规则一致。
这个 Skill 有哪些优点和局限?
- 覆盖从 schema/source 设计到发送、测试和调试的完整发布端流程。
- 明确强调先注册 schema、先启动消费者以及高负载下不阻塞数据路径等关键规则。
- 支持 C/C++ 以及通过 FFI 使用 C ABI 的其他语言。
- 提供面向本机 DOCA 安装的能力查询和版本兼容性检查思路。
- 要求 DOCA SDK 已安装在固定标准路径,并需要兼容的 Linux、BlueField DPU 或 ConnectX NIC 环境。
- 只覆盖 Telemetry Exporter 发布端,不提供消费者、采集服务或应用源代码模板。
- SKILL.md 未提供 companion TASKS.md 和 CAPABILITIES.md 的具体内容,详细步骤需在实际技能目录中继续读取。
- 来源未提供独立测试套件、性能数据或各平台实测结果。
如何安装这个 Skill?
使用 NVIDIA/skills 仓库提供的 skills CLI 安装指定技能:npx skills add nvidia/skills --skill doca-telemetry-exporter --yes。README 未规定固定安装目录;CLI 会提示选择技能和安装目标。使用前还需在 Linux 主机上安装 DOCA SDK,并满足 BlueField DPU 或 ConnectX NIC 等运行前提。
如何使用这个 Skill?
在已安装 DOCA 的主机上,让代理处理具体的 DOCA Telemetry Exporter 任务,例如:“为我的 DOCA Flow 应用发布 packets_processed 计数器,并检查 schema 注册和 emit 流程。”配置、构建、修改、运行、测试或调试任务应使用技能目录中的 TASKS.md;能力和错误语义应使用 CAPABILITIES.md。若尚未安装 DOCA,应先转到 doca-setup;若需求是接收端或应用内实时订阅,应转到相应技能。
这个 Skill 与同类方案有什么区别?
与 DOCA Telemetry Service 相比,本技能面向应用发布端,而 Telemetry Service 是接收端。需要 stdout 或结构化日志时可考虑 doca_log;需要非 DOCA Prometheus sink 时可考虑 Prometheus 客户端库;需要向应用内部实时订阅事件时可考虑 doca-comch。