(t *testing.T)
| 1317 | } |
| 1318 | |
| 1319 | func (s) TestCZServerSocketMetricsStreamsAndMessagesCount(t *testing.T) { |
| 1320 | e := tcpClearRREnv |
| 1321 | te := newTest(t, e) |
| 1322 | te.maxServerReceiveMsgSize = newInt(20) |
| 1323 | te.maxClientReceiveMsgSize = newInt(20) |
| 1324 | te.startServer(&testServer{security: e.security}) |
| 1325 | defer te.tearDown() |
| 1326 | cc, _ := te.clientConnWithConnControl() |
| 1327 | tc := &testServiceClientWrapper{TestServiceClient: testgrpc.NewTestServiceClient(cc)} |
| 1328 | |
| 1329 | var svrID int64 |
| 1330 | if err := verifyResultWithDelay(func() (bool, error) { |
| 1331 | ss, _ := channelz.GetServers(0, 0) |
| 1332 | if len(ss) != 1 { |
| 1333 | return false, fmt.Errorf("there should only be one server, not %d", len(ss)) |
| 1334 | } |
| 1335 | svrID = ss[0].ID |
| 1336 | return true, nil |
| 1337 | }); err != nil { |
| 1338 | t.Fatal(err) |
| 1339 | } |
| 1340 | |
| 1341 | doSuccessfulUnaryCall(tc, t) |
| 1342 | if err := verifyResultWithDelay(func() (bool, error) { |
| 1343 | ns, _ := channelz.GetServerSockets(svrID, 0, 0) |
| 1344 | sktData := &ns[0].SocketMetrics |
| 1345 | if sktData.StreamsStarted.Load() != 1 || sktData.StreamsSucceeded.Load() != 1 || sktData.StreamsFailed.Load() != 0 || sktData.MessagesSent.Load() != 1 || sktData.MessagesReceived.Load() != 1 { |
| 1346 | return false, fmt.Errorf("server socket metric with ID %d, want (StreamsStarted.Load(), StreamsSucceeded.Load(), MessagesSent.Load(), MessagesReceived.Load()) = (1, 1, 1, 1), got (%d, %d, %d, %d, %d)", ns[0].ID, sktData.StreamsStarted.Load(), sktData.StreamsSucceeded.Load(), sktData.StreamsFailed.Load(), sktData.MessagesSent.Load(), sktData.MessagesReceived.Load()) |
| 1347 | } |
| 1348 | return true, nil |
| 1349 | }); err != nil { |
| 1350 | t.Fatal(err) |
| 1351 | } |
| 1352 | |
| 1353 | doServerSideFailedUnaryCall(tc, t) |
| 1354 | if err := verifyResultWithDelay(func() (bool, error) { |
| 1355 | ns, _ := channelz.GetServerSockets(svrID, 0, 0) |
| 1356 | sktData := &ns[0].SocketMetrics |
| 1357 | if sktData.StreamsStarted.Load() != 2 || sktData.StreamsSucceeded.Load() != 2 || sktData.StreamsFailed.Load() != 0 || sktData.MessagesSent.Load() != 1 || sktData.MessagesReceived.Load() != 1 { |
| 1358 | return false, fmt.Errorf("server socket metric with ID %d, want (StreamsStarted.Load(), StreamsSucceeded.Load(), StreamsFailed.Load(), MessagesSent.Load(), MessagesReceived.Load()) = (2, 2, 0, 1, 1), got (%d, %d, %d, %d, %d)", ns[0].ID, sktData.StreamsStarted.Load(), sktData.StreamsSucceeded.Load(), sktData.StreamsFailed.Load(), sktData.MessagesSent.Load(), sktData.MessagesReceived.Load()) |
| 1359 | } |
| 1360 | return true, nil |
| 1361 | }); err != nil { |
| 1362 | t.Fatal(err) |
| 1363 | } |
| 1364 | |
| 1365 | doClientSideInitiatedFailedStream(tc, t) |
| 1366 | if err := verifyResultWithDelay(func() (bool, error) { |
| 1367 | ns, _ := channelz.GetServerSockets(svrID, 0, 0) |
| 1368 | sktData := &ns[0].SocketMetrics |
| 1369 | if sktData.StreamsStarted.Load() != 3 || sktData.StreamsSucceeded.Load() != 2 || sktData.StreamsFailed.Load() != 1 || sktData.MessagesSent.Load() != 2 || sktData.MessagesReceived.Load() != 2 { |
| 1370 | return false, fmt.Errorf("server socket metric with ID %d, want (StreamsStarted.Load(), StreamsSucceeded.Load(), StreamsFailed.Load(), MessagesSent.Load(), MessagesReceived.Load()) = (3, 2, 1, 2, 2), got (%d, %d, %d, %d, %d)", ns[0].ID, sktData.StreamsStarted.Load(), sktData.StreamsSucceeded.Load(), sktData.StreamsFailed.Load(), sktData.MessagesSent.Load(), sktData.MessagesReceived.Load()) |
| 1371 | } |
| 1372 | return true, nil |
| 1373 | }); err != nil { |
| 1374 | t.Fatal(err) |
| 1375 | } |
| 1376 | } |
nothing calls this directly
no test coverage detected