Repository navigation
fix: identify instance traces by Kubernetes Pod IP - #1584
Merged
robocanic merged 2 commits intoOct 17, 2026
Merged
Conversation
|
This was referenced Oct 21, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.



fix: identify instance traces by Kubernetes Pod IP
Summary
Align Instance Trace with Kubernetes Pod identity across Dubbo Admin, Grafana, and the tracing pipeline.
Dubbo Admin passes the selected instance’s bare Pod IP to Grafana, sample traces are enriched with Kubernetes Pod metadata by an OpenTelemetry Collector, and Grafana filters Instance Trace with
k8s.pod.ip.These changes form a single instance-identity contract; changing only one layer would leave Instance Trace inconsistent.
Motivation
The previous combination of
IP:QoSPortandnet.peer.namecould not reliably identify the Kubernetes Pod that owns the current span. With multiple replicas of the same application, the selected instance could therefore return traces that did not correspond to that Pod.Changes
IP:QoSPort.AppNameand the selected instance’s bare Pod IP to Instance Trace.net.peer.name=${instance}tok8s.pod.ip=${instance}, while preservingservice=${application}.k8sattributesto enrich traces with Pod IP, UID, name, and namespace.Verification
go test ./pkg/console/service ./pkg/console/handlergit diff --checkshop-userreplicas generated fresh traces whose Pod IP, UID, name, and namespace matched the Kubernetes APIIP:QoSPort; Instance Trace used bare Pod IPvar-applicationandvar-serviceThe runtime fixture used a tracing-capable
shop-userimage rebuilt locally from the currentapache/dubbo-samplessource. The image currently referenced by the deployment manifest does not emit traces with this tracing configuration. A separate follow-up change inapache/dubbo-sampleswill address the tracing-capable sample image. This PR does not modify or publish that image.Review Focus
k8sattributesreliably associate each trace with its own Kubernetes Pod?Compatibility / Impact
IP:QoSPort.var-applicationandvar-service.Scope
This PR does not include:
shop-userimage.Related Issue
Fixes #1583
Dependency
Built on the changes merged from PR #1569 and PR #1573.