Skip to content

Commit 4e7e142

Browse files
authored
Merge pull request kubernetes#130105 from seans3/websocket-logging-level
Update websocket logging levels for better debuggability
2 parents 78f7217 + d3feb50 commit 4e7e142

File tree

1 file changed

+9
-8
lines changed
  • staging/src/k8s.io/client-go/tools/remotecommand

1 file changed

+9
-8
lines changed

staging/src/k8s.io/client-go/tools/remotecommand/websocket.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,7 @@ func (c *wsStreamCreator) readDemuxLoop(bufferSize int, period time.Duration, de
248248
// Initialize and start the ping/pong heartbeat.
249249
h := newHeartbeat(c.conn, period, deadline)
250250
// Set initial timeout for websocket connection reading.
251+
klog.V(5).Infof("Websocket initial read deadline: %s", deadline)
251252
if err := c.conn.SetReadDeadline(time.Now().Add(deadline)); err != nil {
252253
klog.Errorf("Websocket initial setting read deadline failed %v", err)
253254
return
@@ -354,16 +355,16 @@ func (s *stream) Read(p []byte) (n int, err error) {
354355

355356
// Write writes directly to the underlying WebSocket connection.
356357
func (s *stream) Write(p []byte) (n int, err error) {
357-
klog.V(4).Infof("Write() on stream %d", s.id)
358-
defer klog.V(4).Infof("Write() done on stream %d", s.id)
358+
klog.V(8).Infof("Write() on stream %d", s.id)
359+
defer klog.V(8).Infof("Write() done on stream %d", s.id)
359360
s.connWriteLock.Lock()
360361
defer s.connWriteLock.Unlock()
361362
if s.conn == nil {
362363
return 0, fmt.Errorf("write on closed stream %d", s.id)
363364
}
364365
err = s.conn.SetWriteDeadline(time.Now().Add(writeDeadline))
365366
if err != nil {
366-
klog.V(7).Infof("Websocket setting write deadline failed %v", err)
367+
klog.V(4).Infof("Websocket setting write deadline failed %v", err)
367368
return 0, err
368369
}
369370
// Message writer buffers the message data, so we don't need to do that ourselves.
@@ -392,8 +393,8 @@ func (s *stream) Write(p []byte) (n int, err error) {
392393

393394
// Close half-closes the stream, indicating this side is finished with the stream.
394395
func (s *stream) Close() error {
395-
klog.V(4).Infof("Close() on stream %d", s.id)
396-
defer klog.V(4).Infof("Close() done on stream %d", s.id)
396+
klog.V(6).Infof("Close() on stream %d", s.id)
397+
defer klog.V(6).Infof("Close() done on stream %d", s.id)
397398
s.connWriteLock.Lock()
398399
defer s.connWriteLock.Unlock()
399400
if s.conn == nil {
@@ -452,7 +453,7 @@ func newHeartbeat(conn *gwebsocket.Conn, period time.Duration, deadline time.Dur
452453
// be empty.
453454
h.conn.SetPongHandler(func(msg string) error {
454455
// Push the read deadline into the future.
455-
klog.V(8).Infof("Pong message received (%s)--resetting read deadline", msg)
456+
klog.V(6).Infof("Pong message received (%s)--resetting read deadline", msg)
456457
err := h.conn.SetReadDeadline(time.Now().Add(deadline))
457458
if err != nil {
458459
klog.Errorf("Websocket setting read deadline failed %v", err)
@@ -487,14 +488,14 @@ func (h *heartbeat) start() {
487488
for {
488489
select {
489490
case <-h.closer:
490-
klog.V(8).Infof("closed channel--returning")
491+
klog.V(5).Infof("closed channel--returning")
491492
return
492493
case <-t.C:
493494
// "WriteControl" does not need to be protected by a mutex. According to
494495
// gorilla/websockets library docs: "The Close and WriteControl methods can
495496
// be called concurrently with all other methods."
496497
if err := h.conn.WriteControl(gwebsocket.PingMessage, h.message, time.Now().Add(pingReadDeadline)); err == nil {
497-
klog.V(8).Infof("Websocket Ping succeeeded")
498+
klog.V(6).Infof("Websocket Ping succeeeded")
498499
} else {
499500
klog.Errorf("Websocket Ping failed: %v", err)
500501
if errors.Is(err, gwebsocket.ErrCloseSent) {

0 commit comments

Comments
 (0)