fix(observability): use schemaless resource attrs to avoid schema URL conflict

SetupTracing merged resource.Default() (schema 1.43.0 under otel 1.45.0)
with semconv/v1.24.0's schema URL, so resource.Merge errored with
'conflicting Schema URL' and the backend exited at startup whenever an
OTLP endpoint was configured. resource.NewSchemaless keeps service.name
without pinning a schema, surviving otel major bumps.
This commit is contained in:
ahp
2026-10-09 20:35:24 +03:30
parent e222a7dcd7
commit e05c4327d9
@@ -77,10 +77,12 @@ func SetupTracing(ctx context.Context, cfg Config) (func(context.Context) error,
if err != nil { if err != nil {
return nil, err return nil, err
} }
// Schemaless: a non-empty but different schema URL here (from an older
// semconv pin) makes resource.Merge fail as soon as the SDK's
// resource.Default() schema URL changes across otel upgrades.
res, err := resource.Merge( res, err := resource.Merge(
resource.Default(), resource.Default(),
resource.NewWithAttributes( resource.NewSchemaless(
semconv.SchemaURL,
semconv.ServiceName(name), semconv.ServiceName(name),
), ),
) )