(t *testing.T)
| 956 | } |
| 957 | |
| 958 | func (s) TestCZClientSocketMetricsStreamsAndMessagesCount(t *testing.T) { |
| 959 | ctx, cancel := context.WithTimeout(context.Background(), defaultTestTimeout) |
| 960 | defer cancel() |
| 961 | |
| 962 | e := tcpClearRREnv |
| 963 | te := newTest(t, e) |
| 964 | te.maxServerReceiveMsgSize = newInt(20) |
| 965 | te.maxClientReceiveMsgSize = newInt(20) |
| 966 | rcw := te.startServerWithConnControl(&testServer{security: e.security}) |
| 967 | defer te.tearDown() |
| 968 | cc := te.clientConn() |
| 969 | tc := &testServiceClientWrapper{TestServiceClient: testgrpc.NewTestServiceClient(cc)} |
| 970 | |
| 971 | doSuccessfulUnaryCall(tc, t) |
| 972 | var scID, skID int64 |
| 973 | if err := verifyResultWithDelay(func() (bool, error) { |
| 974 | tchan, _ := channelz.GetTopChannels(0, 0) |
| 975 | if len(tchan) != 1 { |
| 976 | return false, fmt.Errorf("there should only be one top channel, not %d", len(tchan)) |
| 977 | } |
| 978 | subChans := tchan[0].SubChans() |
| 979 | if len(subChans) != 1 { |
| 980 | return false, fmt.Errorf("there should only be one subchannel under top channel %d, not %d", tchan[0].ID, len(subChans)) |
| 981 | } |
| 982 | |
| 983 | for scID = range subChans { |
| 984 | break |
| 985 | } |
| 986 | sc := channelz.GetSubChannel(scID) |
| 987 | if sc == nil { |
| 988 | return false, fmt.Errorf("there should only be one socket under subchannel %d, not 0", scID) |
| 989 | } |
| 990 | skts := sc.Sockets() |
| 991 | if len(skts) != 1 { |
| 992 | return false, fmt.Errorf("there should only be one socket under subchannel %d, not %d", sc.ID, len(skts)) |
| 993 | } |
| 994 | for skID = range skts { |
| 995 | break |
| 996 | } |
| 997 | skt := channelz.GetSocket(skID) |
| 998 | sktData := &skt.SocketMetrics |
| 999 | if sktData.StreamsStarted.Load() != 1 || sktData.StreamsSucceeded.Load() != 1 || sktData.MessagesSent.Load() != 1 || sktData.MessagesReceived.Load() != 1 { |
| 1000 | return false, fmt.Errorf("channelz.GetSocket(%d), want (StreamsStarted.Load(), StreamsSucceeded.Load(), MessagesSent.Load(), MessagesReceived.Load()) = (1, 1, 1, 1), got (%d, %d, %d, %d)", skt.ID, sktData.StreamsStarted.Load(), sktData.StreamsSucceeded.Load(), sktData.MessagesSent.Load(), sktData.MessagesReceived.Load()) |
| 1001 | } |
| 1002 | return true, nil |
| 1003 | }); err != nil { |
| 1004 | t.Fatal(err) |
| 1005 | } |
| 1006 | |
| 1007 | doServerSideFailedUnaryCall(tc, t) |
| 1008 | if err := verifyResultWithDelay(func() (bool, error) { |
| 1009 | skt := channelz.GetSocket(skID) |
| 1010 | sktData := &skt.SocketMetrics |
| 1011 | if sktData.StreamsStarted.Load() != 2 || sktData.StreamsSucceeded.Load() != 2 || sktData.MessagesSent.Load() != 2 || sktData.MessagesReceived.Load() != 1 { |
| 1012 | return false, fmt.Errorf("channelz.GetSocket(%d), want (StreamsStarted.Load(), StreamsSucceeded.Load(), MessagesSent.Load(), MessagesReceived.Load()) = (2, 2, 2, 1), got (%d, %d, %d, %d)", skt.ID, sktData.StreamsStarted.Load(), sktData.StreamsSucceeded.Load(), sktData.MessagesSent.Load(), sktData.MessagesReceived.Load()) |
| 1013 | } |
| 1014 | return true, nil |
| 1015 | }); err != nil { |
nothing calls this directly
no test coverage detected