You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Populate gRPC server.address and server.port from channel targets - #16161
Experimental is in io.opentelemetry.instrumentation.grpc.v1_6.internal. Automatic capture depends on gRPC's internal API on 1.64.0 and newer, falling back to authority on older versions or unsupported builders. The Java agent uses this automatic path.
Remove GrpcRequest.getLogicalHost() and getLogicalPort() for 3.0. Use getServerAddress() and getServerPort() instead. getServerPort() returns null rather than -1 when the port is unavailable.
[Javaagent] This passes the builder's raw target to a parser that consults only the global NameResolverRegistry, but gRPC supports a per-builder resolver via nameResolverFactory(...). For example, a builder whose custom resolver owns consul:1234 computes that custom target, while this path sees no global consul provider and emits server.address="consul" and server.port=1234 instead of preserving consul:1234 with no port. Install the target-aware interceptor factory on the builder (so gRPC supplies its computed target) or carry the builder's resolver selection into parsing; on older gRPC versions, authority fallback is safer than misclassifying the raw target.
Preserve target-derived gRPC attributes while adopting the upstream RPC preview API and configuration migration. Keep the new gRPC getter deprecation in Unreleased without rewriting published release notes.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This PR has been labeled as a breaking change. Please ensure you provide the following information:
Migration Notes Required
Please add detailed migration notes to help users understand:
What is changing and why
How to update their code/configuration
Any alternative approaches if applicable
Code examples showing before/after usage
Checklist
Migration notes added to the PR description
Breaking change is documented in the "Unreleased" section of the Changelog, preferably as part of this PR.
Consider if this change requires a major version bump
Your migration notes will be included in the release notes to help users upgrade smoothly. The more detailed and helpful they are, the better the user experience will be.
This comment was automatically generated because the breaking change label was applied to this PR.
Preserve the gRPC request getter migration entry alongside the incoming span-suppression migration notice. Retain both sides of the instrumentation and build changes.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep the gRPC request getter migration alongside the incoming RxJava API migration notice. Preserve target-address capture together with the incoming RPC histogram boundaries and assertions.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@trask, your reviewer-routing request was recorded; this pull request has the approvals it needs and is now waiting on maintainers. The handoff remains active across pushes until newer actionable human feedback arrives. Top-level feedback through this request will not return; unresolved review threads remain open.
This branch has not been deployed
No deployments
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Populate gRPC client
server.addressandserver.portfrom configured channel targets rather than channel authority alone.Library users can supply the target explicitly on all supported gRPC versions, without depending on gRPC's internal target-aware interception API:
The no-argument
createClientInterceptor()continues to use channel authority. For custom name resolvers, use an explicitscheme://...target.For automatic capture, use this experimental API instead of registering the interceptor directly:
Experimentalis inio.opentelemetry.instrumentation.grpc.v1_6.internal. Automatic capture depends on gRPC's internal API on 1.64.0 and newer, falling back to authority on older versions or unsupported builders. The Java agent uses this automatic path.Remove
GrpcRequest.getLogicalHost()andgetLogicalPort()for 3.0. UsegetServerAddress()andgetServerPort()instead.getServerPort()returnsnullrather than-1when the port is unavailable.