用途:为 Go 服务提供 OpenTelemetry 机制的统一入口,按任务加载自包含参考文档。
主要能力:declarative-setup 讲 otelconf 与 YAML 配置(provider、propagator、关闭、环境变量替换);api 讲导入路径、全局 API、tracer/meter/logger、属性、传播与 zap/slog 日志桥;instrumentation-libraries 讲 otelhttp、otelgrpc、数据库、AWS、消息队列等 contrib 库及符合 semconv 的手动插桩;performance 讲采样、批处理、metric reader、导出压缩重试、属性分配与优雅关闭;breaking-changes 审计废弃调用与重命名语义约定;compile-time-instrumentation 讲 otelc 零代码编译期插桩(otelc go build、tool 依赖、toolexec、子命令、规则优先级、otel.instrumentation.go 固定)。
使用方式:升级审查后以 go mod tidy -diff、go build ./...、go test ./... 做本地验证;导出器 URL 或重试改动应对一次性本地接收器测试,勿用部署端点。模块分组独立版本:核心 API/SDK 为 v1.x,日志导出器与测试助手为 v0.x,contrib 插桩与桥接各为 v0.x。添加依赖用 @latest 让 Go 解析兼容集,例如 go get go.opentelemetry.io/otel@latest go.opentelemetry.io/otel/sdk@latest,日志与 contrib 同理,再 go mod tidy && go build ./...。切勿把各模块统一钉到核心版本。
限制:需精确版本时须从各模块自身来源获取标签,不可跨组推断;YAML 模式细节见 otel-declarative-config,跨语言版本选择见 otel-sdk-versions,语义约定见 otel-semantic-conventions。