From c4d3b2fa07282f096ec6f35a88d02d71561edb10 Mon Sep 17 00:00:00 2001
From: Menghan Li <menghanl@google.com>
Date: Tue, 30 Oct 2018 16:28:48 -0700
Subject: [PATCH] channelz: register sockets with meaningful refnames (#2416)

---
 internal/transport/http2_client.go | 3 ++-
 internal/transport/http2_server.go | 2 +-
 server.go                          | 2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/internal/transport/http2_client.go b/internal/transport/http2_client.go
index 0c3c47e2..54a5f70e 100644
--- a/internal/transport/http2_client.go
+++ b/internal/transport/http2_client.go
@@ -19,6 +19,7 @@
 package transport
 
 import (
+	"fmt"
 	"io"
 	"math"
 	"net"
@@ -265,7 +266,7 @@ func newHTTP2Client(connectCtx, ctx context.Context, addr TargetInfo, opts Conne
 		t.statsHandler.HandleConn(t.ctx, connBegin)
 	}
 	if channelz.IsOn() {
-		t.channelzID = channelz.RegisterNormalSocket(t, opts.ChannelzParentID, "")
+		t.channelzID = channelz.RegisterNormalSocket(t, opts.ChannelzParentID, fmt.Sprintf("%s -> %s", t.localAddr, t.remoteAddr))
 	}
 	if t.kp.Time != infinity {
 		t.keepaliveEnabled = true
diff --git a/internal/transport/http2_server.go b/internal/transport/http2_server.go
index efb7f53f..b9ba5c0d 100644
--- a/internal/transport/http2_server.go
+++ b/internal/transport/http2_server.go
@@ -237,7 +237,7 @@ func newHTTP2Server(conn net.Conn, config *ServerConfig) (_ ServerTransport, err
 		t.stats.HandleConn(t.ctx, connBegin)
 	}
 	if channelz.IsOn() {
-		t.channelzID = channelz.RegisterNormalSocket(t, config.ChannelzParentID, "")
+		t.channelzID = channelz.RegisterNormalSocket(t, config.ChannelzParentID, fmt.Sprintf("%s -> %s", t.remoteAddr, t.localAddr))
 	}
 	t.framer.writer.Flush()
 
diff --git a/server.go b/server.go
index 920da5e0..fba877be 100644
--- a/server.go
+++ b/server.go
@@ -535,7 +535,7 @@ func (s *Server) Serve(lis net.Listener) error {
 	s.lis[ls] = true
 
 	if channelz.IsOn() {
-		ls.channelzID = channelz.RegisterListenSocket(ls, s.channelzID, "")
+		ls.channelzID = channelz.RegisterListenSocket(ls, s.channelzID, lis.Addr().String())
 	}
 	s.mu.Unlock()