MCPcopy
hub / github.com/grpc/grpc-go / TestCZServerSocketMetricsStreamsAndMessagesCount

Method TestCZServerSocketMetricsStreamsAndMessagesCount

test/channelz_test.go:1319–1376  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1317}
1318
1319func (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}

Callers

nothing calls this directly

Calls 14

GetServersFunction · 0.92
GetServerSocketsFunction · 0.92
doSuccessfulUnaryCallFunction · 0.85
newTestFunction · 0.70
newIntFunction · 0.70
verifyResultWithDelayFunction · 0.70
ErrorfMethod · 0.65
FatalMethod · 0.65
startServerMethod · 0.45

Tested by

no test coverage detected