SuperAPI AI 工具集

OpenTelemetry Instrumentation Extension

智能体与模型

查看项目

更新于 10-15 21:11

技能介绍

用途:在 MCP Gateway 新增功能时扩展 OpenTelemetry 埋点,遵循 docs/telemetry/README.md 中记录的既定模式。适用于新增状态变更操作(Create、Update、Delete、Push、Pull、Add、Remove 等)、新增 cmd/docker-mcp/ 下的 CLI 命令、pkg/ 下包含操作的新包,以及用户提到 otel、telemetry、instrumentation、metrics 或 tracing,或评审遥测覆盖率时。

主要能力:先阅读 docs/telemetry/README.md 的 Development Guidelines 与 pkg/telemetry/telemetry.go,理解现有模式与指标;用 git diff 找出 pkg/ 与 cmd/docker-mcp/ 中新增或改动的文件,识别执行状态变更的函数,并依据包结构推断领域(如 pkg/foo/ 对应 foo)。区分已有领域操作(复用现有指标)与新领域操作(需要新指标),然后向用户列出每个需埋点函数的 file:line、操作类型、领域及将新增的埋点代码、指标、文档与测试。

使用方式:先分析并给出建议,得到用户批准后按顺序实施:在 pkg/telemetry/telemetry.go 中添加指标并埋点;构建、配合 OTEL collector 运行并查看 docker logs otel-debug 输出验证;在 pkg/telemetry/telemetry_test.go 添加测试;在 docs/telemetry/README.md 补充指标与操作说明;运行 make test;最后执行 ./docs/telemetry/testing/test-telemetry.sh。埋点采用 cmd/docker-mcp/catalog/create.go 中的简单 defer 模式。新领域需在 Init() 定义 metric.Int64Counter、metric.Float64Histogram、可选 metric.Int64Gauge 及对应记录函数。验证命令包括 make docker-mcp,启动 otel/opentelemetry-collector:latest 容器并挂载 docs/telemetry/testing/otel-collector-config.yaml,设置 DOCKER_MCP_TELEMETRY_DEBUG=1 与 DOCKER_CLI_OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317,查看 docker logs otel-debug 是否出现 mcp.<domain> 指标。

关键原则:使用 OTEL 全局 tracer/meter;所有遥测保留服务器归属;遥测不阻塞或使操作失败;调试日志置于 DOCKER_MCP_TELEMETRY_DEBUG 之后;遵循 mcp.<domain>.<field> 命名;仅在正常完成时记录成功。

限制:本资料未提供具体价格、收费、支持平台或效果数据;实际指标名称、属性与文件路径需以项目当前源码和文档为准;实施前须先阅读文档并获得用户批准。