From a1f6459c096d731b4a256aec0918ea5f92d9afef Mon Sep 17 00:00:00 2001 From: ryan Date: Sat, 20 Jun 2026 11:20:01 +0800 Subject: [PATCH] =?UTF-8?q?fix(trace):=20=E4=BD=BF=E7=94=A8=20NewSchemales?= =?UTF-8?q?s=20=E9=81=BF=E5=85=8D=20semconv=20schema=20=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 业务 Resource 改为 NewSchemaless 合并,继承 resource.Default() 的 SDK 内置 schema URL,不再硬编码 semconv 版本路径。 --- pkg/trace/trace_provider.go | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/pkg/trace/trace_provider.go b/pkg/trace/trace_provider.go index 4f34df04..8051f2b8 100644 --- a/pkg/trace/trace_provider.go +++ b/pkg/trace/trace_provider.go @@ -8,10 +8,10 @@ import ( "context" "os" + "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc" "go.opentelemetry.io/otel/sdk/resource" sdktrace "go.opentelemetry.io/otel/sdk/trace" - semconv "go.opentelemetry.io/otel/semconv/v1.26.0" ) func newTracerProvider(cfg Config) (*sdktrace.TracerProvider, error) { @@ -21,16 +21,15 @@ func newTracerProvider(cfg Config) (*sdktrace.TracerProvider, error) { return nil, err } - // 初始化 Resource + // 业务属性不绑定 schema URL,合并时继承 resource.Default() 的 SDK 内置版本,避免 semconv 与 otel/sdk 升级不同步。 r, err := resource.Merge( resource.Default(), - resource.NewWithAttributes( - semconv.SchemaURL, - semconv.ServiceName(cfg.AppName), - semconv.HostName(hostname), - semconv.K8SNamespaceName(os.Getenv("KUBERNETES_NAMESPACE")), - semconv.K8SPodName(os.Getenv("KUBERNETES_POD_NAME")), - semconv.K8SPodUID(os.Getenv("KUBERNETES_POD_UID")), + resource.NewSchemaless( + attribute.String("service.name", cfg.AppName), + attribute.String("host.name", hostname), + attribute.String("k8s.namespace.name", os.Getenv("KUBERNETES_NAMESPACE")), + attribute.String("k8s.pod.name", os.Getenv("KUBERNETES_POD_NAME")), + attribute.String("k8s.pod.uid", os.Getenv("KUBERNETES_POD_UID")), ), ) if err != nil {