Skip to content

Upgrade semconv to v1.39.0#8481

Merged
MrAlias merged 10 commits into
open-telemetry:mainfrom
MrAlias:up-semconv-v1.39.0
Feb 2, 2026
Merged

Upgrade semconv to v1.39.0#8481
MrAlias merged 10 commits into
open-telemetry:mainfrom
MrAlias:up-semconv-v1.39.0

Conversation

@MrAlias
Copy link
Copy Markdown
Contributor

@MrAlias MrAlias commented Jan 30, 2026

Resolve #8404

Upgrade go.opentelemetry.io/otel/semconv to v1.39.0, including updates across all instrumentation and detector modules.

  • The semantic conventions v1.39.0 release introduces breaking changes, including:

    • rpc span and metric attributes have been renamed to align with naming guidelines:
      • rpc.systemrpc.system.name (values: grpc, grpc_web, connectrpc, thrift, dubbo, etc.)
      • rpc.method and rpc.service have been merged into a fully-qualified rpc.method attribute
      • rpc.client|server.durationrpc.client|server.call.duration (unit changed to seconds)
      • rpc.grpc.request.metadata/rpc.grpc.response.metadatarpc.request.metadata/rpc.response.metadata
      • rpc.grpc.status_code → deprecated in favor of rpc.response.status_code
      • rpc.jsonrpc.request_idjsonrpc.request.id
      • rpc.jsonrpc.versionjsonrpc.protocol.version
    • system and process metrics:
      • *.linux.memory metrics renamed to *.memory.linux
      • system.process.statusprocess.state
      • system.paging.type and process.paging.fault_typesystem.paging.fault.type
    • peer.service attribute has been deprecated in favor of service.peer.name

    See semantic-conventions v1.39.0 release and v1.38.0 release for complete breaking change details.

  • Updated modules include:instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/attributes.go

    • go.opentelemetry.io/contrib/bridges/otellogr
    • go.opentelemetry.io/contrib/bridges/otellogrus
    • go.opentelemetry.io/contrib/bridges/otelslog
    • go.opentelemetry.io/contrib/bridges/otelzap
    • go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
      • Uses service.peer.name attribute (deprecated peer.service) in example
    • go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace
    • go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
      • Merged rpc.method and rpc.service into fully-qualified rpc.method (e.g., grpc.testing.TestService/EmptyCall)
      • rpc.systemrpc.system.name with updated values (e.g., RPCSystemNameGRPC)
      • rpc.grpc.status_coderpc.response.status_code (e.g., RPCResponseStatusCode("OK"))
    • go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws
      • Merged rpc.method and rpc.service attributes (service/operation → fully-qualified method)
      • rpc.systemrpc.system.name with AWSSystemVal
      • New MethodAttr() function for combined service/operation attribute
        • ServiceAttr() function in go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws is deprecated.
        • OperationAttr() function in go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws is deprecated.
    • go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda
    • go.opentelemetry.io/contrib/instrumentation/runtime
    • go.opentelemetry.io/contrib/instrumentation/host
    • go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver (both v1 and v2)
    • go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin
    • go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful
    • go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho
    • go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux
    • go.opentelemetry.io/contrib/detectors/gcp
    • go.opentelemetry.io/contrib/detectors/aws/ec2/v2
    • go.opentelemetry.io/contrib/detectors/aws/ecs
    • go.opentelemetry.io/contrib/detectors/aws/eks
    • go.opentelemetry.io/contrib/detectors/azure/azurevm
    • go.opentelemetry.io/contrib/otelconf

@MrAlias MrAlias added this to the v1.40.0 milestone Jan 30, 2026
Unrelated semconv failures there that need to be addressed in separate
PR.
@MrAlias MrAlias force-pushed the up-semconv-v1.39.0 branch from 2ca41ce to efdfdec Compare January 30, 2026 20:40
@codecov
Copy link
Copy Markdown

codecov Bot commented Jan 30, 2026

Codecov Report

❌ Patch coverage is 89.47368% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 82.2%. Comparing base (135bb60) to head (28cc257).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...p/httptrace/otelhttptrace/example/client/client.go 0.0% 1 Missing ⚠️
...ntation/net/http/otelhttp/example/client/client.go 0.0% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##            main   #8481     +/-   ##
=======================================
- Coverage   82.3%   82.2%   -0.1%     
=======================================
  Files        179     179             
  Lines      13728   13705     -23     
=======================================
- Hits       11301   11278     -23     
  Misses      2029    2029             
  Partials     398     398             
Files with missing lines Coverage Δ
bridges/otellogr/logsink.go 100.0% <ø> (ø)
bridges/otelslog/handler.go 96.8% <ø> (ø)
bridges/otelzap/core.go 97.6% <ø> (ø)
detectors/aws/ec2/v2/ec2.go 80.3% <ø> (ø)
detectors/aws/ecs/ecs.go 68.7% <ø> (ø)
detectors/aws/eks/detector.go 40.9% <ø> (ø)
detectors/aws/lambda/detector.go 90.0% <ø> (ø)
detectors/azure/azurevm/vm.go 91.3% <ø> (ø)
detectors/gcp/cloud-function.go 100.0% <ø> (ø)
detectors/gcp/cloud-run.go 100.0% <ø> (ø)
... and 40 more
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@MrAlias MrAlias force-pushed the up-semconv-v1.39.0 branch from efdfdec to 4563395 Compare January 30, 2026 20:57
@MrAlias MrAlias force-pushed the up-semconv-v1.39.0 branch from 4563395 to 7678ad3 Compare January 30, 2026 21:17
@MrAlias MrAlias marked this pull request as ready for review January 30, 2026 21:26
@MrAlias MrAlias requested a review from dashpole as a code owner January 30, 2026 21:26
Copilot AI review requested due to automatic review settings January 30, 2026 21:26
@MrAlias MrAlias requested review from a team, dmathieu, flc1125 and pellared as code owners January 30, 2026 21:26
@MrAlias MrAlias mentioned this pull request Jan 30, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request upgrades the semantic conventions from v1.37.0/v1.38.0 to v1.39.0, introducing significant breaking changes across the OpenTelemetry contrib repository. The upgrade includes renaming RPC attributes (rpc.systemrpc.system.name), merging rpc.service and rpc.method into a fully-qualified rpc.method, updating gRPC status codes, and migrating from peer.service to service.peer.name.

Changes:

  • Updated semantic convention imports from v1.37.0 to v1.39.0 across all instrumentation, bridges, detectors, and examples
  • Modified RPC instrumentation to use merged rpc.method attribute (combining service and method names)
  • Updated attribute functions in AWS SDK instrumentation with new MethodAttr() and deprecated old functions
  • Changed gRPC status code attributes from integer to string values
  • Updated HTTP instrumentation to use service.peer.name instead of deprecated peer.service

Reviewed changes

Copilot reviewed 143 out of 199 changed files in this pull request and generated no comments.

Show a summary per file
File Description
go.mod files Updated OTel dependencies to pseudo-version v1.39.1-0.20260130171517-3264bf171b1e
instrumentation/google.golang.org/grpc/otelgrpc/internal/parse.go Simplified to use merged rpc.method attribute
instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/attributes.go Added MethodAttr() function, deprecated ServiceAttr() and OperationAttr()
instrumentation/google.golang.org/grpc/otelgrpc/stats_handlertest_test.go Updated tests for string status codes and merged rpc.method
instrumentation/net/http/otelhttp/example/client/client.go Changed PeerService to ServicePeerName
bridges/*/**.go Updated semconv imports to v1.39.0
detectors//.go Updated semconv imports to v1.39.0
.golangci.yml Updated depguard rules to allow v1.39.0
CHANGELOG.md Documented breaking changes and deprecations

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@MrAlias MrAlias merged commit 1530d71 into open-telemetry:main Feb 2, 2026
27 of 28 checks passed
@MrAlias MrAlias deleted the up-semconv-v1.39.0 branch February 2, 2026 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bump to semconv/v1.39.0

4 participants