diff --git a/pkg/transform/k8s.go b/pkg/transform/k8s.go index 554c520ec..3a93925f1 100644 --- a/pkg/transform/k8s.go +++ b/pkg/transform/k8s.go @@ -90,7 +90,9 @@ func (md *metadataDecorator) nodeLoop(in <-chan []request.Span, out chan<- []req } func (md *metadataDecorator) do(span *request.Span) { - if podInfo, ok := md.db.OwnerPodInfo(span.Pid.Namespace); ok { + var podInfo *kube.PodInfo + var ok bool + if podInfo, ok = md.db.OwnerPodInfo(span.Pid.Namespace); ok { md.appendMetadata(span, podInfo) } else { // do not leave the service attributes map as nil @@ -99,9 +101,15 @@ func (md *metadataDecorator) do(span *request.Span) { // override the peer and host names from Kubernetes metadata, if found if hn := md.db.HostNameForIP(span.Host); hn != "" { span.HostName = hn + if span.OtherNamespace != "" && podInfo != nil && podInfo.Namespace != span.OtherNamespace { + span.HostName = hn + "." + span.OtherNamespace + } } if pn := md.db.HostNameForIP(span.Peer); pn != "" { span.PeerName = pn + if span.OtherNamespace != "" && podInfo != nil && podInfo.Namespace != span.OtherNamespace { + span.PeerName = pn + "." + span.OtherNamespace + } } }