用途:这是一个面向 OpenTelemetry Go 的机制参考技能,用于在编写、审查或配置 Go 应用插桩时查阅 API、SDK 与插桩库的正确用法与注意事项。
主要能力:覆盖 OpenTelemetry Go API、SDK 与插桩库,提供当前版本信息(如 SDK v1.42.0 需要 Go 1.25+、Contrib v1.42.0、semconv v1.40.0)、已知陷阱与破坏性变更,并按需加载主题化参考文档:SDK 与 Provider 设置(references/sdk-setup.md)、Tracing/Metrics/Logs API(references/api.md)、插桩库如 otelhttp、otelgrpc、otelgin、otelsql 与日志桥接(references/instrumentation-libraries.md)、批处理、采样、基数限制与导出间隔性能调优(references/performance.md)。使用 YAML 配置可结合 opentelemetry-sdk-configuration 技能,并通过 otelconf 加载。
关键要点:span.RecordError() 与 span.AddEvent() 已弃用,改用 Logs API 记录事件与异常;contrib/config 已弃用,改用 go.opentelemetry.io/contrib/otelconf/v0.3.0;otelhttp 移除了 DefaultClient 与 Get/Post 等函数,需用 otelhttp.NewTransport 创建自定义客户端;RPC 语义约定重命名(如 rpc.system 改为 rpc.system.name、时长单位改为秒等);otelgrpc 不再发出 rpc.message 等事件与指标,推荐使用 NewServerHandler/NewClientHandler;trace.SpanFromContext() 不会返回 nil,无需判空。
使用方式:根据任务按需打开对应参考文档;配置传播器需手动调用 otel.SetTextMapPropagator 组合 TraceContext 与 Baggage;otelhttp 中用 Labeler 替代已弃用的 WithMetricAttributesFn。
适用场景:Go 服务与库的追踪、指标、日志接入与升级迁移。
限制:资料仅提供机制与变更说明,未提供完整示例或安装命令;具体平台、收费情况暂未提供。