Skip to content

Commit 804f3d6

Browse files
authored
add network diagnostics columns to viewer/nodes handler (#11344)
1 parent 6887352 commit 804f3d6

File tree

6 files changed

+789
-80
lines changed

6 files changed

+789
-80
lines changed

ydb/core/protos/node_whiteboard.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ message TNodeStateInfo {
105105
optional uint64 ConnectTime = 7; // changed every time the connection changes it state
106106
optional uint32 PeerNodeId = 8 [(DefaultField) = true]; // node if of the peer
107107
optional int64 ClockSkewUs = 9; // a positive value means the peer is ahead in time; a negative value means it's behind
108-
optional uint32 PingTimeUs = 10; // RTT for the peer
108+
optional uint64 PingTimeUs = 10; // RTT for the peer
109109
optional float Utilization = 11; // network utilization 0-1
110110
optional NActorsInterconnect.TScopeId ScopeId = 12; // scope id of the peer
111111
optional uint32 Count = 13; // filled during group count

ydb/core/viewer/json_handlers_viewer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ void InitViewerHealthCheckJsonHandler(TJsonHandlers& handlers) {
244244
}
245245

246246
void InitViewerNodesJsonHandler(TJsonHandlers& handlers) {
247-
handlers.AddHandler("/viewer/nodes", new TJsonHandler<TJsonNodes>(TJsonNodes::GetSwagger()), 12);
247+
handlers.AddHandler("/viewer/nodes", new TJsonHandler<TJsonNodes>(TJsonNodes::GetSwagger()), 13);
248248
}
249249

250250
void InitViewerACLJsonHandler(TJsonHandlers &jsonHandlers) {

ydb/core/viewer/json_pipe_req.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,15 @@ TViewerPipeClient::TRequestResponse<TEvViewer::TEvViewerResponse> TViewerPipeCli
254254
case NKikimrViewer::TEvViewerRequest::kSystemRequest:
255255
response.Span.Attribute("request_type", "SystemRequest");
256256
break;
257+
case NKikimrViewer::TEvViewerRequest::kPDiskRequest:
258+
response.Span.Attribute("request_type", "PDiskRequest");
259+
break;
260+
case NKikimrViewer::TEvViewerRequest::kVDiskRequest:
261+
response.Span.Attribute("request_type", "VDiskRequest");
262+
break;
263+
case NKikimrViewer::TEvViewerRequest::kNodeRequest:
264+
response.Span.Attribute("request_type", "NodeRequest");
265+
break;
257266
case NKikimrViewer::TEvViewerRequest::kQueryRequest:
258267
response.Span.Attribute("request_type", "QueryRequest");
259268
break;

ydb/core/viewer/protos/viewer.proto

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -532,10 +532,27 @@ message TNodeInfo {
532532
bool Disconnected = 4;
533533
float CpuUsage = 5;
534534
float DiskSpaceUsage = 6;
535-
NKikimrWhiteboard.TSystemStateInfo SystemState = 10;
536-
repeated NKikimrWhiteboard.TPDiskStateInfo PDisks = 20;
537-
repeated NKikimrWhiteboard.TVDiskStateInfo VDisks = 30;
538-
repeated TTabletStateInfo Tablets = 40;
535+
optional uint32 Connections = 7; // total number of live connections
536+
EFlag ConnectStatus = 10; // Max
537+
optional uint64 ReceiveThroughput = 11;
538+
optional uint64 SendThroughput = 12;
539+
optional float NetworkUtilization = 20; // Sum
540+
optional float NetworkUtilizationMin = 21;
541+
optional float NetworkUtilizationMax = 22;
542+
optional int64 ClockSkewUs = 30; // Avg
543+
optional int64 ClockSkewMinUs = 31;
544+
optional int64 ClockSkewMaxUs = 32;
545+
optional int64 ReverseClockSkewUs = 33; // Avg
546+
optional uint64 PingTimeUs = 40; // Avg
547+
optional uint64 PingTimeMinUs = 41;
548+
optional uint64 PingTimeMaxUs = 42;
549+
optional uint64 ReversePingTimeUs = 43; // Avg
550+
NKikimrWhiteboard.TSystemStateInfo SystemState = 50;
551+
repeated NKikimrWhiteboard.TPDiskStateInfo PDisks = 51;
552+
repeated NKikimrWhiteboard.TVDiskStateInfo VDisks = 52;
553+
repeated TTabletStateInfo Tablets = 53;
554+
repeated NKikimrWhiteboard.TNodeStateInfo Peers = 54;
555+
repeated NKikimrWhiteboard.TNodeStateInfo ReversePeers = 55;
539556
}
540557

541558
message TNodesInfo {
@@ -668,13 +685,14 @@ message TEvViewerRequest {
668685
NKikimrWhiteboard.TEvVDiskStateRequest VDiskRequest = 16;
669686
NKikimrWhiteboard.TEvPDiskStateRequest PDiskRequest = 17;
670687
NKikimrWhiteboard.TEvBSGroupStateRequest BSGroupRequest = 18;
688+
NKikimrWhiteboard.TEvNodeStateRequest NodeRequest = 19;
671689
THttpProxyRequest QueryRequest = 13;
672690
THttpProxyRequest RenderRequest = 14;
673691
TSchemeCacheRequest AutocompleteRequest = 15;
674-
bytes Reserved19 = 19;
675692
bytes Reserved20 = 20;
676693
bytes Reserved21 = 21;
677694
bytes Reserved22 = 22;
695+
bytes Reserved23 = 23;
678696
}
679697
}
680698

@@ -686,13 +704,14 @@ message TEvViewerResponse {
686704
NKikimrWhiteboard.TEvVDiskStateResponse VDiskResponse = 16;
687705
NKikimrWhiteboard.TEvPDiskStateResponse PDiskResponse = 17;
688706
NKikimrWhiteboard.TEvBSGroupStateResponse BSGroupResponse = 18;
707+
NKikimrWhiteboard.TEvNodeStateResponse NodeResponse = 19;
689708
NKikimrKqp.TEvQueryResponse QueryResponse = 13;
690709
NKikimrGraph.TEvMetricsResult RenderResponse = 14;
691710
TQueryAutocomplete AutocompleteResponse = 15;
692-
bytes Reserved19 = 19;
693711
bytes Reserved20 = 20;
694712
bytes Reserved21 = 21;
695713
bytes Reserved22 = 22;
714+
bytes Reserved23 = 23;
696715
}
697716
}
698717

@@ -789,3 +808,4 @@ message TFeatureFlagsConfig {
789808
uint32 Version = 1;
790809
repeated TDatabase Databases = 2;
791810
}
811+

0 commit comments

Comments
 (0)