关于 otel-semantic-conventions
otel-semantic-conventions 面向需要 OpenTelemetry 命名和属性规范的开发者,聚焦已发布的约定。它按需查询约定细节,并可对照本地上游仓库进行核验。
主要功能
- 01查询已发布的约定组和属性
- 02创建自定义键前选择现有约定
- 03核对本地上游仓库中的规范
- 04提供版本和来源信息
适用场景
- 01选择 Span 名称和遥测属性
- 02检查实现是否符合约定
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ollygarden/ opentelemetry-agent-skills --skill otel-semantic-conventions安装后在 Claude Code 中输入/otel-semantic-conventions确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/evals.jsonreferences/otel-semantic-conventions.mdsdk-semconv-packages.mdsemconv-selection.mdscripts/query-otel-semantic-conventions.shtest-query-otel-semantic-conventions.sh详细介绍
OpenTelemetry 语义约定
需要关于命名、属性或合规性检查的已发布语义约定指导时,请使用此技能。
工作流
- 从已发布的语义约定入手,而不是依赖模型记忆。
- 不要将完整的语义约定规范加载到上下文中
- 使用捆绑的查询脚本,只查询所需的已发布分组或属性
- 若要根据已检出的上游仓库进行本地验证,请设置
OTEL_SEMCONV_REPO=/path/to/semantic-conventions
- 优先选择最接近的已发布分组,而不是自行创建自定义键。
- 确定边界类型,例如
http、db、messaging、rpc或network - 先选择一个主要分组,再仅在需要补充上下文时添加相关分组
- 对于
gen_ai.*、OpenAI 或 MCP 约定,请使用open-telemetry/semantic-conventions-genai;截至 2026-10-25,该仓库尚无带标签的发布版本,因此引用提交并将指导标注为未发布(查询脚本不涵盖该仓库);核心仓库在 v1.42.0 之后仅保留已弃用的 GenAI 时代存根 - 参见
references/semconv-selection.md - 若要指定语言的 semconv 包实际提供的版本(可离线使用,含日期),请参见
references/sdk-semconv-packages.md
- 仅查询所需的已发布指导。
- 列出分组:
./scripts/query-otel-semantic-conventions.sh --groups - 查看一个分组:
./scripts/query-otel-semantic-conventions.sh http - 查看一种类型:
./scripts/query-otel-semantic-conventions.sh http spans - 查看一个确切的属性或条目:
./scripts/query-otel-semantic-conventions.sh http http.request.method - 参见
references/otel-semantic-conventions.md - 修改解析器后,运行
OTEL_SEMCONV_REPO=/path/to/semantic-conventions bash ./scripts/test-query-otel-semantic-conventions.sh
- 直接应用已发布的命名和属性规则。
- 优先使用必需和推荐属性,再考虑可选属性
- 严格按照已发布的命名规则推导受语义约定规范约束的 span 名称
- 不要在受语义约定规范约束的 span 名称前后添加协议标签、主机名、产品名称、业务提示或其他自定义文本
- 如果已发布的命名规则未提供低基数目标,请采用该约定允许的更简单回退方案
- 如果不存在已发布的键,请使用稳定的自定义命名空间,并限制取值范围
- 返回结果时附上确切的源上下文。
- 包含脚本输出中的分组名称、发布版本和源 URL
- 如果实现无法完全符合已发布指导,请明确说明具体的兼容性限制
评论
支持 Markdown