mcpField
O
otel-semantic-conventions

otel-semantic-conventions

github.com/ollygarden开发119153 次安装4 天前更新
代码仓库

关于 otel-semantic-conventions

otel-semantic-conventions 面向需要 OpenTelemetry 命名和属性规范的开发者,聚焦已发布的约定。它按需查询约定细节,并可对照本地上游仓库进行核验。

主要功能

  1. 01查询已发布的约定组和属性
  2. 02创建自定义键前选择现有约定
  3. 03核对本地上游仓库中的规范
  4. 04提供版本和来源信息

适用场景

  1. 01选择 Span 名称和遥测属性
  2. 02检查实现是否符合约定

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ollygarden/opentelemetry-agent-skills --skill otel-semantic-conventions

安装后在 Claude Code 中输入/otel-semantic-conventions确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

evals/
evals.json
references/
otel-semantic-conventions.md
sdk-semconv-packages.md
semconv-selection.md
scripts/
query-otel-semantic-conventions.sh
test-query-otel-semantic-conventions.sh

详细介绍

OpenTelemetry 语义约定

需要关于命名、属性或合规性检查的已发布语义约定指导时,请使用此技能。

工作流

  1. 从已发布的语义约定入手,而不是依赖模型记忆。
  • 不要将完整的语义约定规范加载到上下文中
  • 使用捆绑的查询脚本,只查询所需的已发布分组或属性
  • 若要根据已检出的上游仓库进行本地验证,请设置 OTEL_SEMCONV_REPO=/path/to/semantic-conventions
  1. 优先选择最接近的已发布分组,而不是自行创建自定义键。
  • 确定边界类型,例如 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
  1. 仅查询所需的已发布指导。
  • 列出分组:./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
  1. 直接应用已发布的命名和属性规则。
  • 优先使用必需和推荐属性,再考虑可选属性
  • 严格按照已发布的命名规则推导受语义约定规范约束的 span 名称
  • 不要在受语义约定规范约束的 span 名称前后添加协议标签、主机名、产品名称、业务提示或其他自定义文本
  • 如果已发布的命名规则未提供低基数目标,请采用该约定允许的更简单回退方案
  • 如果不存在已发布的键,请使用稳定的自定义命名空间,并限制取值范围
  1. 返回结果时附上确切的源上下文。
  • 包含脚本输出中的分组名称、发布版本和源 URL
  • 如果实现无法完全符合已发布指导,请明确说明具体的兼容性限制

评论

支持 Markdown