aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Efimov <xeno@ydb.tech>2025-05-28 19:20:07 +0700
committerGitHub <noreply@github.com>2025-05-28 12:20:07 +0000
commit6048abf6e57c774310c16e8791c6854931a61d63 (patch)
treec2fca46943419a9aa580f561c823d51867f1a347
parenta9d09ff5ffa03d4fea229de44d0dd645ca8aa9f4 (diff)
downloadydb-6048abf6e57c774310c16e8791c6854931a61d63.tar.gz
fix storage nodes, some other minor fixes (#18932)
-rw-r--r--ydb/core/viewer/pdisk_restart.h1
-rw-r--r--ydb/core/viewer/tests/canondata/result.json2132
-rw-r--r--ydb/core/viewer/tests/test.py21
-rw-r--r--ydb/core/viewer/viewer_nodes.h43
4 files changed, 2171 insertions, 26 deletions
diff --git a/ydb/core/viewer/pdisk_restart.h b/ydb/core/viewer/pdisk_restart.h
index 4822249a75e..4b29a0eb639 100644
--- a/ydb/core/viewer/pdisk_restart.h
+++ b/ydb/core/viewer/pdisk_restart.h
@@ -114,7 +114,6 @@ public:
description: pdisk identifier
required: true
type: integer
- required: true
- name: timeout
in: query
description: timeout in ms
diff --git a/ydb/core/viewer/tests/canondata/result.json b/ydb/core/viewer/tests/canondata/result.json
index 5bd69fb2da7..67207866a57 100644
--- a/ydb/core/viewer/tests/canondata/result.json
+++ b/ydb/core/viewer/tests/canondata/result.json
@@ -2837,6 +2837,329 @@
},
"test.test_viewer_nodes": {
"/Root": {
+ "FieldsAvailable": "0000000010000110111111100000111",
+ "FieldsRequired": "0000000000000000000000000000101",
+ "FoundNodes": "1",
+ "Nodes": [
+ {
+ "CpuUsage": "not-zero-number",
+ "Database": "/Root",
+ "NodeId": 1,
+ "SystemState": {
+ "ChangeTime": "not-zero-number-text",
+ "CoresTotal": "not-zero-number",
+ "CoresUsed": "not-zero-number",
+ "Endpoints": [
+ {
+ "Address": "text",
+ "Name": "grpc"
+ },
+ {
+ "Address": "text",
+ "Name": "http-mon"
+ },
+ {
+ "Address": "text",
+ "Name": "ic"
+ }
+ ],
+ "Host": "text",
+ "LoadAverage": "not-empty-array",
+ "Location": {
+ "DataCenter": "1",
+ "Rack": "1",
+ "Unit": "1"
+ },
+ "MaxDiskUsage": "not-zero-number",
+ "MemoryLimit": "not-zero-number-text",
+ "NodeId": 1,
+ "NumberOfCpus": "not-zero-number",
+ "PoolStats": [
+ {
+ "Limit": "not-zero-number",
+ "Name": "System",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "User",
+ "Threads": 3,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "Batch",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IO",
+ "Threads": 1,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IC",
+ "Threads": 1,
+ "Usage": "number"
+ }
+ ],
+ "RealNumberOfCpus": "not-zero-number",
+ "Roles": "not-empty-array",
+ "StartTime": "not-zero-number-text",
+ "SystemState": "Green",
+ "TotalSessions": "number"
+ },
+ "UptimeSeconds": "number"
+ }
+ ],
+ "TotalNodes": "1"
+ },
+ "/Root/dedicated_db": {
+ "FieldsAvailable": "0000000010000110111111100000111",
+ "FieldsRequired": "0000000000000000000000000000101",
+ "FoundNodes": "1",
+ "Nodes": [
+ {
+ "CpuUsage": "not-zero-number",
+ "Database": "/Root/dedicated_db",
+ "NodeId": 50000,
+ "SystemState": {
+ "ChangeTime": "not-zero-number-text",
+ "CoresTotal": "not-zero-number",
+ "CoresUsed": "not-zero-number",
+ "Endpoints": [
+ {
+ "Address": "text",
+ "Name": "grpc"
+ },
+ {
+ "Address": "text",
+ "Name": "http-mon"
+ },
+ {
+ "Address": "text",
+ "Name": "ic"
+ }
+ ],
+ "Host": "text",
+ "LoadAverage": "not-empty-array",
+ "Location": {},
+ "MemoryLimit": "not-zero-number-text",
+ "NodeId": 50000,
+ "NumberOfCpus": "not-zero-number",
+ "PoolStats": [
+ {
+ "Limit": "not-zero-number",
+ "Name": "System",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "User",
+ "Threads": 3,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "Batch",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IO",
+ "Threads": 1,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IC",
+ "Threads": 1,
+ "Usage": "number"
+ }
+ ],
+ "RealNumberOfCpus": "not-zero-number",
+ "Roles": "not-empty-array",
+ "StartTime": "not-zero-number-text",
+ "SystemState": "Green",
+ "Tenants": [
+ "/Root/dedicated_db"
+ ],
+ "TotalSessions": "number"
+ },
+ "UptimeSeconds": "number"
+ }
+ ],
+ "TotalNodes": "1"
+ },
+ "/Root/serverless_db": {
+ "FieldsAvailable": "0000000010000110111111100000111",
+ "FieldsRequired": "0000000000000000000000000000101",
+ "FoundNodes": "1",
+ "Nodes": [
+ {
+ "CpuUsage": "not-zero-number",
+ "Database": "/Root/shared_db",
+ "NodeId": 50001,
+ "SystemState": {
+ "ChangeTime": "not-zero-number-text",
+ "CoresTotal": "not-zero-number",
+ "CoresUsed": "not-zero-number",
+ "Endpoints": [
+ {
+ "Address": "text",
+ "Name": "grpc"
+ },
+ {
+ "Address": "text",
+ "Name": "http-mon"
+ },
+ {
+ "Address": "text",
+ "Name": "ic"
+ }
+ ],
+ "Host": "text",
+ "LoadAverage": "not-empty-array",
+ "Location": {},
+ "MemoryLimit": "not-zero-number-text",
+ "NodeId": 50001,
+ "NumberOfCpus": "not-zero-number",
+ "PoolStats": [
+ {
+ "Limit": "not-zero-number",
+ "Name": "System",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "User",
+ "Threads": 3,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "Batch",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IO",
+ "Threads": 1,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IC",
+ "Threads": 1,
+ "Usage": "number"
+ }
+ ],
+ "RealNumberOfCpus": "not-zero-number",
+ "Roles": "not-empty-array",
+ "StartTime": "not-zero-number-text",
+ "SystemState": "Green",
+ "Tenants": [
+ "/Root/shared_db"
+ ],
+ "TotalSessions": "number"
+ },
+ "UptimeSeconds": "number"
+ }
+ ],
+ "Problems": [
+ "no-database-board-info"
+ ],
+ "TotalNodes": "1"
+ },
+ "/Root/shared_db": {
+ "FieldsAvailable": "0000000010000110111111100000111",
+ "FieldsRequired": "0000000000000000000000000000101",
+ "FoundNodes": "1",
+ "Nodes": [
+ {
+ "CpuUsage": "not-zero-number",
+ "Database": "/Root/shared_db",
+ "NodeId": 50001,
+ "SystemState": {
+ "ChangeTime": "not-zero-number-text",
+ "CoresTotal": "not-zero-number",
+ "CoresUsed": "not-zero-number",
+ "Endpoints": [
+ {
+ "Address": "text",
+ "Name": "grpc"
+ },
+ {
+ "Address": "text",
+ "Name": "http-mon"
+ },
+ {
+ "Address": "text",
+ "Name": "ic"
+ }
+ ],
+ "Host": "text",
+ "LoadAverage": "not-empty-array",
+ "Location": {},
+ "MemoryLimit": "not-zero-number-text",
+ "NodeId": 50001,
+ "NumberOfCpus": "not-zero-number",
+ "PoolStats": [
+ {
+ "Limit": "not-zero-number",
+ "Name": "System",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "User",
+ "Threads": 3,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "Batch",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IO",
+ "Threads": 1,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IC",
+ "Threads": 1,
+ "Usage": "number"
+ }
+ ],
+ "RealNumberOfCpus": "not-zero-number",
+ "Roles": "not-empty-array",
+ "StartTime": "not-zero-number-text",
+ "SystemState": "Green",
+ "Tenants": [
+ "/Root/shared_db"
+ ],
+ "TotalSessions": "number"
+ },
+ "UptimeSeconds": "number"
+ }
+ ],
+ "TotalNodes": "1"
+ }
+ },
+ "test.test_viewer_nodes_all": {
+ "/Root": {
"FieldsAvailable": "1111111110111111111111111111111",
"FieldsRequired": "1111111111111111111111111111111",
"FoundNodes": "1",
@@ -4298,6 +4621,1815 @@
"version": 8
}
},
+ "test.test_viewer_storage_nodes": {
+ "/Root": {
+ "FieldsAvailable": "0000000110000110111111100000111",
+ "FieldsRequired": "0000000000000000000000000000111",
+ "FoundNodes": "1",
+ "MaximumSlotsPerDisk": "5",
+ "Nodes": [
+ {
+ "CpuUsage": "not-zero-number",
+ "Database": "/Root",
+ "NodeId": 1,
+ "SystemState": {
+ "ChangeTime": "not-zero-number-text",
+ "CoresTotal": "not-zero-number",
+ "CoresUsed": "not-zero-number",
+ "Endpoints": [
+ {
+ "Address": "text",
+ "Name": "grpc"
+ },
+ {
+ "Address": "text",
+ "Name": "http-mon"
+ },
+ {
+ "Address": "text",
+ "Name": "ic"
+ }
+ ],
+ "Host": "text",
+ "LoadAverage": "not-empty-array",
+ "Location": {
+ "DataCenter": "1",
+ "Rack": "1",
+ "Unit": "1"
+ },
+ "MaxDiskUsage": "not-zero-number",
+ "MemoryLimit": "not-zero-number-text",
+ "NodeId": 1,
+ "NumberOfCpus": "not-zero-number",
+ "PoolStats": [
+ {
+ "Limit": "not-zero-number",
+ "Name": "System",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "User",
+ "Threads": 3,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "Batch",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IO",
+ "Threads": 1,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IC",
+ "Threads": 1,
+ "Usage": "number"
+ }
+ ],
+ "RealNumberOfCpus": "not-zero-number",
+ "Roles": "not-empty-array",
+ "StartTime": "not-zero-number-text",
+ "SystemState": "Green",
+ "TotalSessions": "number"
+ },
+ "UptimeSeconds": "number"
+ }
+ ],
+ "TotalNodes": "1"
+ },
+ "/Root/dedicated_db": {
+ "FieldsAvailable": "0000000110000110111111100000111",
+ "FieldsRequired": "0000000000000000000000000000111",
+ "FoundNodes": "1",
+ "MaximumSlotsPerDisk": "5",
+ "Nodes": [
+ {
+ "CpuUsage": "not-zero-number",
+ "NodeId": 1,
+ "SystemState": {
+ "ChangeTime": "not-zero-number-text",
+ "CoresTotal": "not-zero-number",
+ "CoresUsed": "not-zero-number",
+ "Endpoints": [
+ {
+ "Address": "text",
+ "Name": "grpc"
+ },
+ {
+ "Address": "text",
+ "Name": "http-mon"
+ },
+ {
+ "Address": "text",
+ "Name": "ic"
+ }
+ ],
+ "Host": "text",
+ "LoadAverage": "not-empty-array",
+ "Location": {
+ "DataCenter": "1",
+ "Rack": "1",
+ "Unit": "1"
+ },
+ "MaxDiskUsage": "not-zero-number",
+ "MemoryLimit": "not-zero-number-text",
+ "NodeId": 1,
+ "NumberOfCpus": "not-zero-number",
+ "PoolStats": [
+ {
+ "Limit": "not-zero-number",
+ "Name": "System",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "User",
+ "Threads": 3,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "Batch",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IO",
+ "Threads": 1,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IC",
+ "Threads": 1,
+ "Usage": "number"
+ }
+ ],
+ "RealNumberOfCpus": "not-zero-number",
+ "Roles": "not-empty-array",
+ "StartTime": "not-zero-number-text",
+ "SystemState": "Green",
+ "TotalSessions": "number"
+ },
+ "UptimeSeconds": "number"
+ }
+ ],
+ "TotalNodes": "1"
+ },
+ "/Root/serverless_db": {
+ "FieldsAvailable": "0000000110000110111111100000111",
+ "FieldsRequired": "0000000000000000000000000000111",
+ "FoundNodes": "1",
+ "MaximumSlotsPerDisk": "5",
+ "Nodes": [
+ {
+ "CpuUsage": "not-zero-number",
+ "NodeId": 1,
+ "SystemState": {
+ "ChangeTime": "not-zero-number-text",
+ "CoresTotal": "not-zero-number",
+ "CoresUsed": "not-zero-number",
+ "Endpoints": [
+ {
+ "Address": "text",
+ "Name": "grpc"
+ },
+ {
+ "Address": "text",
+ "Name": "http-mon"
+ },
+ {
+ "Address": "text",
+ "Name": "ic"
+ }
+ ],
+ "Host": "text",
+ "LoadAverage": "not-empty-array",
+ "Location": {
+ "DataCenter": "1",
+ "Rack": "1",
+ "Unit": "1"
+ },
+ "MaxDiskUsage": "not-zero-number",
+ "MemoryLimit": "not-zero-number-text",
+ "NodeId": 1,
+ "NumberOfCpus": "not-zero-number",
+ "PoolStats": [
+ {
+ "Limit": "not-zero-number",
+ "Name": "System",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "User",
+ "Threads": 3,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "Batch",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IO",
+ "Threads": 1,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IC",
+ "Threads": 1,
+ "Usage": "number"
+ }
+ ],
+ "RealNumberOfCpus": "not-zero-number",
+ "Roles": "not-empty-array",
+ "StartTime": "not-zero-number-text",
+ "SystemState": "Green",
+ "TotalSessions": "number"
+ },
+ "UptimeSeconds": "number"
+ }
+ ],
+ "Problems": [
+ "no-database-board-info"
+ ],
+ "TotalNodes": "1"
+ },
+ "/Root/shared_db": {
+ "FieldsAvailable": "0000000110000110111111100000111",
+ "FieldsRequired": "0000000000000000000000000000111",
+ "FoundNodes": "1",
+ "MaximumSlotsPerDisk": "5",
+ "Nodes": [
+ {
+ "CpuUsage": "not-zero-number",
+ "NodeId": 1,
+ "SystemState": {
+ "ChangeTime": "not-zero-number-text",
+ "CoresTotal": "not-zero-number",
+ "CoresUsed": "not-zero-number",
+ "Endpoints": [
+ {
+ "Address": "text",
+ "Name": "grpc"
+ },
+ {
+ "Address": "text",
+ "Name": "http-mon"
+ },
+ {
+ "Address": "text",
+ "Name": "ic"
+ }
+ ],
+ "Host": "text",
+ "LoadAverage": "not-empty-array",
+ "Location": {
+ "DataCenter": "1",
+ "Rack": "1",
+ "Unit": "1"
+ },
+ "MaxDiskUsage": "not-zero-number",
+ "MemoryLimit": "not-zero-number-text",
+ "NodeId": 1,
+ "NumberOfCpus": "not-zero-number",
+ "PoolStats": [
+ {
+ "Limit": "not-zero-number",
+ "Name": "System",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "User",
+ "Threads": 3,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "Batch",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IO",
+ "Threads": 1,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IC",
+ "Threads": 1,
+ "Usage": "number"
+ }
+ ],
+ "RealNumberOfCpus": "not-zero-number",
+ "Roles": "not-empty-array",
+ "StartTime": "not-zero-number-text",
+ "SystemState": "Green",
+ "TotalSessions": "number"
+ },
+ "UptimeSeconds": "number"
+ }
+ ],
+ "TotalNodes": "1"
+ }
+ },
+ "test.test_viewer_storage_nodes_all": {
+ "/Root": {
+ "FieldsAvailable": "1111111110111111111111111111111",
+ "FieldsRequired": "1111111111111111111111111111111",
+ "FoundNodes": "1",
+ "MaximumDisksPerNode": "1",
+ "MaximumSlotsPerDisk": "5",
+ "Nodes": [
+ {
+ "ClockSkewMaxUs": "text",
+ "ClockSkewMinUs": "text",
+ "ClockSkewUs": "text",
+ "ConnectStatus": "Green",
+ "Connections": "not-zero-number",
+ "CpuUsage": "not-zero-number",
+ "Database": "/Root",
+ "DiskSpaceUsage": "not-zero-number",
+ "NetworkUtilization": "number",
+ "NetworkUtilizationMax": "number",
+ "NetworkUtilizationMin": "number",
+ "NodeId": 1,
+ "PDisks": [
+ {
+ "AvailableSize": "text",
+ "Category": "0",
+ "ChangeTime": "not-zero-number-text",
+ "Device": "Green",
+ "EnforcedDynamicSlotSize": "not-zero-number-text",
+ "Guid": "1",
+ "LogTotalSize": "not-zero-number-text",
+ "LogUsedSize": "not-zero-number-text",
+ "NodeId": 1,
+ "NumActiveSlots": 5,
+ "PDiskId": 1,
+ "Path": "SectorMap:1:64",
+ "Realtime": "Green",
+ "SerialNumber": "",
+ "State": "Normal",
+ "SystemSize": "not-zero-number-text",
+ "TotalSize": "not-zero-number-text"
+ }
+ ],
+ "Peers": [
+ {
+ "BytesWritten": "text",
+ "ChangeTime": "not-zero-number-text",
+ "ClockSkewUs": "text",
+ "ConnectStatus": "Green",
+ "ConnectTime": "not-zero-number-text",
+ "Connected": true,
+ "NodeId": 1,
+ "PeerName": "text",
+ "PeerNodeId": 50000,
+ "PingTimeUs": "text",
+ "ScopeId": {
+ "X1": "72057594046678944",
+ "X2": "6"
+ },
+ "Utilization": "number"
+ },
+ {
+ "BytesWritten": "text",
+ "ChangeTime": "not-zero-number-text",
+ "ClockSkewUs": "text",
+ "ConnectStatus": "Green",
+ "ConnectTime": "not-zero-number-text",
+ "Connected": true,
+ "NodeId": 1,
+ "PeerName": "text",
+ "PeerNodeId": 50001,
+ "PingTimeUs": "text",
+ "ScopeId": {
+ "X1": "72057594046678944",
+ "X2": "7"
+ },
+ "Utilization": "number"
+ }
+ ],
+ "PingTimeMaxUs": "text",
+ "PingTimeMinUs": "text",
+ "PingTimeUs": "text",
+ "ReceiveThroughput": "text",
+ "ReverseClockSkewUs": "text",
+ "ReversePeers": [
+ {
+ "BytesWritten": "text",
+ "ChangeTime": "not-zero-number-text",
+ "ClockSkewUs": "text",
+ "ConnectStatus": "Green",
+ "ConnectTime": "not-zero-number-text",
+ "Connected": true,
+ "NodeId": 50000,
+ "PeerName": "text",
+ "PeerNodeId": 1,
+ "PingTimeUs": "text",
+ "ScopeId": {
+ "X1": "0",
+ "X2": "1"
+ },
+ "Utilization": "number"
+ },
+ {
+ "BytesWritten": "text",
+ "ChangeTime": "not-zero-number-text",
+ "ClockSkewUs": "text",
+ "ConnectStatus": "Green",
+ "ConnectTime": "not-zero-number-text",
+ "Connected": true,
+ "NodeId": 50001,
+ "PeerName": "text",
+ "PeerNodeId": 1,
+ "PingTimeUs": "text",
+ "ScopeId": {
+ "X1": "0",
+ "X2": "1"
+ },
+ "Utilization": "number"
+ }
+ ],
+ "ReversePingTimeUs": "text",
+ "SendThroughput": "text",
+ "SystemState": {
+ "ChangeTime": "not-zero-number-text",
+ "CoresTotal": "not-zero-number",
+ "CoresUsed": "not-zero-number",
+ "Endpoints": [
+ {
+ "Address": "text",
+ "Name": "grpc"
+ },
+ {
+ "Address": "text",
+ "Name": "http-mon"
+ },
+ {
+ "Address": "text",
+ "Name": "ic"
+ }
+ ],
+ "Host": "text",
+ "LoadAverage": "not-empty-array",
+ "Location": {
+ "DataCenter": "1",
+ "Rack": "1",
+ "Unit": "1"
+ },
+ "MaxDiskUsage": "not-zero-number",
+ "MemoryLimit": "not-zero-number-text",
+ "MemoryStats": "not-empty-object",
+ "NodeId": 1,
+ "NumberOfCpus": "not-zero-number",
+ "PoolStats": [
+ {
+ "Limit": "not-zero-number",
+ "Name": "System",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "User",
+ "Threads": 3,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "Batch",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IO",
+ "Threads": 1,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IC",
+ "Threads": 1,
+ "Usage": "number"
+ }
+ ],
+ "RealNumberOfCpus": "not-zero-number",
+ "Roles": "not-empty-array",
+ "StartTime": "not-zero-number-text",
+ "SystemState": "Green",
+ "TotalSessions": "number"
+ },
+ "UptimeSeconds": "number",
+ "VDisks": [
+ {
+ "AllocatedSize": "0",
+ "AvailableSize": "text",
+ "ChangeTime": "not-zero-number-text",
+ "DiskSpace": "Green",
+ "FrontQueues": "Green",
+ "Guid": "1",
+ "HasUnreadableBlobs": false,
+ "IncarnationGuid": "not-zero-number-text",
+ "InstanceGuid": "not-zero-number-text",
+ "Kind": "0",
+ "NodeId": 1,
+ "PDiskId": 1,
+ "Replicated": true,
+ "ReplicationProgress": 1,
+ "ReplicationSecondsRemaining": 0,
+ "SatisfactionRank": {
+ "FreshRank": {
+ "Flag": "Green"
+ },
+ "LevelRank": {
+ "Flag": "Green"
+ }
+ },
+ "StoragePoolName": "static",
+ "VDiskId": {
+ "Domain": 0,
+ "GroupGeneration": 1,
+ "GroupID": 0,
+ "Ring": 0,
+ "VDisk": 0
+ },
+ "VDiskSlotId": 0,
+ "VDiskState": "OK"
+ },
+ {
+ "AllocatedSize": "0",
+ "AvailableSize": "text",
+ "ChangeTime": "not-zero-number-text",
+ "DiskSpace": "Green",
+ "FrontQueues": "Green",
+ "Guid": "1",
+ "HasUnreadableBlobs": false,
+ "IncarnationGuid": "not-zero-number-text",
+ "InstanceGuid": "not-zero-number-text",
+ "Kind": "0",
+ "NodeId": 1,
+ "PDiskId": 1,
+ "Replicated": true,
+ "ReplicationProgress": 1,
+ "ReplicationSecondsRemaining": 0,
+ "SatisfactionRank": {
+ "FreshRank": {
+ "Flag": "Green"
+ },
+ "LevelRank": {
+ "Flag": "Green"
+ }
+ },
+ "StoragePoolName": "dynamic_storage_pool:1",
+ "VDiskId": {
+ "Domain": 0,
+ "GroupGeneration": 1,
+ "GroupID": 2181038080,
+ "Ring": 0,
+ "VDisk": 0
+ },
+ "VDiskSlotId": 1000,
+ "VDiskState": "OK"
+ },
+ {
+ "AllocatedSize": "0",
+ "AvailableSize": "text",
+ "ChangeTime": "not-zero-number-text",
+ "DiskSpace": "Green",
+ "FrontQueues": "Green",
+ "Guid": "1",
+ "HasUnreadableBlobs": false,
+ "IncarnationGuid": "not-zero-number-text",
+ "InstanceGuid": "not-zero-number-text",
+ "Kind": "0",
+ "NodeId": 1,
+ "PDiskId": 1,
+ "Replicated": true,
+ "ReplicationProgress": 1,
+ "ReplicationSecondsRemaining": 0,
+ "SatisfactionRank": {
+ "FreshRank": {
+ "Flag": "Green"
+ },
+ "LevelRank": {
+ "Flag": "Green"
+ }
+ },
+ "StoragePoolName": "dynamic_storage_pool:1",
+ "VDiskId": {
+ "Domain": 0,
+ "GroupGeneration": 1,
+ "GroupID": 2181038081,
+ "Ring": 0,
+ "VDisk": 0
+ },
+ "VDiskSlotId": 1001,
+ "VDiskState": "OK"
+ },
+ {
+ "AllocatedSize": "0",
+ "AvailableSize": "text",
+ "ChangeTime": "not-zero-number-text",
+ "DiskSpace": "Green",
+ "FrontQueues": "Green",
+ "Guid": "1",
+ "HasUnreadableBlobs": false,
+ "IncarnationGuid": "not-zero-number-text",
+ "InstanceGuid": "not-zero-number-text",
+ "Kind": "0",
+ "NodeId": 1,
+ "PDiskId": 1,
+ "Replicated": true,
+ "ReplicationProgress": 1,
+ "ReplicationSecondsRemaining": 0,
+ "SatisfactionRank": {
+ "FreshRank": {
+ "Flag": "Green"
+ },
+ "LevelRank": {
+ "Flag": "Green"
+ }
+ },
+ "StoragePoolName": "/Root/dedicated_db:hdd",
+ "VDiskId": {
+ "Domain": 0,
+ "GroupGeneration": 2,
+ "GroupID": 2181038082,
+ "Ring": 0,
+ "VDisk": 0
+ },
+ "VDiskSlotId": 1002,
+ "VDiskState": "OK"
+ },
+ {
+ "AllocatedSize": "0",
+ "AvailableSize": "text",
+ "ChangeTime": "not-zero-number-text",
+ "DiskSpace": "Green",
+ "FrontQueues": "Green",
+ "Guid": "1",
+ "HasUnreadableBlobs": false,
+ "IncarnationGuid": "not-zero-number-text",
+ "InstanceGuid": "not-zero-number-text",
+ "Kind": "0",
+ "NodeId": 1,
+ "PDiskId": 1,
+ "Replicated": true,
+ "ReplicationProgress": 1,
+ "ReplicationSecondsRemaining": 0,
+ "SatisfactionRank": {
+ "FreshRank": {
+ "Flag": "Green"
+ },
+ "LevelRank": {
+ "Flag": "Green"
+ }
+ },
+ "StoragePoolName": "/Root/shared_db:hdd",
+ "VDiskId": {
+ "Domain": 0,
+ "GroupGeneration": 2,
+ "GroupID": 2181038083,
+ "Ring": 0,
+ "VDisk": 0
+ },
+ "VDiskSlotId": 1003,
+ "VDiskState": "OK"
+ }
+ ]
+ }
+ ],
+ "TotalNodes": "1"
+ },
+ "/Root/dedicated_db": {
+ "FieldsAvailable": "1111111110111111111111111111111",
+ "FieldsRequired": "1111111111111111111111111111111",
+ "FoundNodes": "1",
+ "MaximumDisksPerNode": "1",
+ "MaximumSlotsPerDisk": "5",
+ "Nodes": [
+ {
+ "ClockSkewMaxUs": "text",
+ "ClockSkewMinUs": "text",
+ "ClockSkewUs": "text",
+ "ConnectStatus": "Green",
+ "Connections": "not-zero-number",
+ "CpuUsage": "not-zero-number",
+ "DiskSpaceUsage": "not-zero-number",
+ "NetworkUtilization": "number",
+ "NetworkUtilizationMax": "number",
+ "NetworkUtilizationMin": "number",
+ "NodeId": 1,
+ "PDisks": [
+ {
+ "AvailableSize": "text",
+ "Category": "0",
+ "ChangeTime": "not-zero-number-text",
+ "Device": "Green",
+ "EnforcedDynamicSlotSize": "not-zero-number-text",
+ "Guid": "1",
+ "LogTotalSize": "not-zero-number-text",
+ "LogUsedSize": "not-zero-number-text",
+ "NodeId": 1,
+ "NumActiveSlots": 5,
+ "PDiskId": 1,
+ "Path": "SectorMap:1:64",
+ "Realtime": "Green",
+ "SerialNumber": "",
+ "State": "Normal",
+ "SystemSize": "not-zero-number-text",
+ "TotalSize": "not-zero-number-text"
+ }
+ ],
+ "Peers": [
+ {
+ "BytesWritten": "text",
+ "ChangeTime": "not-zero-number-text",
+ "ClockSkewUs": "text",
+ "ConnectStatus": "Green",
+ "ConnectTime": "not-zero-number-text",
+ "Connected": true,
+ "NodeId": 1,
+ "PeerName": "text",
+ "PeerNodeId": 50000,
+ "PingTimeUs": "text",
+ "ScopeId": {
+ "X1": "72057594046678944",
+ "X2": "6"
+ },
+ "Utilization": "number"
+ },
+ {
+ "BytesWritten": "text",
+ "ChangeTime": "not-zero-number-text",
+ "ClockSkewUs": "text",
+ "ConnectStatus": "Green",
+ "ConnectTime": "not-zero-number-text",
+ "Connected": true,
+ "NodeId": 1,
+ "PeerName": "text",
+ "PeerNodeId": 50001,
+ "PingTimeUs": "text",
+ "ScopeId": {
+ "X1": "72057594046678944",
+ "X2": "7"
+ },
+ "Utilization": "number"
+ }
+ ],
+ "PingTimeMaxUs": "text",
+ "PingTimeMinUs": "text",
+ "PingTimeUs": "text",
+ "ReceiveThroughput": "text",
+ "ReverseClockSkewUs": "text",
+ "ReversePeers": [
+ {
+ "BytesWritten": "text",
+ "ChangeTime": "not-zero-number-text",
+ "ClockSkewUs": "text",
+ "ConnectStatus": "Green",
+ "ConnectTime": "not-zero-number-text",
+ "Connected": true,
+ "NodeId": 50000,
+ "PeerName": "text",
+ "PeerNodeId": 1,
+ "PingTimeUs": "text",
+ "ScopeId": {
+ "X1": "0",
+ "X2": "1"
+ },
+ "Utilization": "number"
+ },
+ {
+ "BytesWritten": "text",
+ "ChangeTime": "not-zero-number-text",
+ "ClockSkewUs": "text",
+ "ConnectStatus": "Green",
+ "ConnectTime": "not-zero-number-text",
+ "Connected": true,
+ "NodeId": 50001,
+ "PeerName": "text",
+ "PeerNodeId": 1,
+ "PingTimeUs": "text",
+ "ScopeId": {
+ "X1": "0",
+ "X2": "1"
+ },
+ "Utilization": "number"
+ }
+ ],
+ "ReversePingTimeUs": "text",
+ "SendThroughput": "text",
+ "SystemState": {
+ "ChangeTime": "not-zero-number-text",
+ "CoresTotal": "not-zero-number",
+ "CoresUsed": "not-zero-number",
+ "Endpoints": [
+ {
+ "Address": "text",
+ "Name": "grpc"
+ },
+ {
+ "Address": "text",
+ "Name": "http-mon"
+ },
+ {
+ "Address": "text",
+ "Name": "ic"
+ }
+ ],
+ "Host": "text",
+ "LoadAverage": "not-empty-array",
+ "Location": {
+ "DataCenter": "1",
+ "Rack": "1",
+ "Unit": "1"
+ },
+ "MaxDiskUsage": "not-zero-number",
+ "MemoryLimit": "not-zero-number-text",
+ "MemoryStats": "not-empty-object",
+ "NodeId": 1,
+ "NumberOfCpus": "not-zero-number",
+ "PoolStats": [
+ {
+ "Limit": "not-zero-number",
+ "Name": "System",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "User",
+ "Threads": 3,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "Batch",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IO",
+ "Threads": 1,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IC",
+ "Threads": 1,
+ "Usage": "number"
+ }
+ ],
+ "RealNumberOfCpus": "not-zero-number",
+ "Roles": "not-empty-array",
+ "StartTime": "not-zero-number-text",
+ "SystemState": "Green",
+ "TotalSessions": "number"
+ },
+ "UptimeSeconds": "number",
+ "VDisks": [
+ {
+ "AllocatedSize": "0",
+ "AvailableSize": "text",
+ "ChangeTime": "not-zero-number-text",
+ "DiskSpace": "Green",
+ "FrontQueues": "Green",
+ "Guid": "1",
+ "HasUnreadableBlobs": false,
+ "IncarnationGuid": "not-zero-number-text",
+ "InstanceGuid": "not-zero-number-text",
+ "Kind": "0",
+ "NodeId": 1,
+ "PDiskId": 1,
+ "Replicated": true,
+ "ReplicationProgress": 1,
+ "ReplicationSecondsRemaining": 0,
+ "SatisfactionRank": {
+ "FreshRank": {
+ "Flag": "Green"
+ },
+ "LevelRank": {
+ "Flag": "Green"
+ }
+ },
+ "StoragePoolName": "static",
+ "VDiskId": {
+ "Domain": 0,
+ "GroupGeneration": 1,
+ "GroupID": 0,
+ "Ring": 0,
+ "VDisk": 0
+ },
+ "VDiskSlotId": 0,
+ "VDiskState": "OK"
+ },
+ {
+ "AllocatedSize": "0",
+ "AvailableSize": "text",
+ "ChangeTime": "not-zero-number-text",
+ "DiskSpace": "Green",
+ "FrontQueues": "Green",
+ "Guid": "1",
+ "HasUnreadableBlobs": false,
+ "IncarnationGuid": "not-zero-number-text",
+ "InstanceGuid": "not-zero-number-text",
+ "Kind": "0",
+ "NodeId": 1,
+ "PDiskId": 1,
+ "Replicated": true,
+ "ReplicationProgress": 1,
+ "ReplicationSecondsRemaining": 0,
+ "SatisfactionRank": {
+ "FreshRank": {
+ "Flag": "Green"
+ },
+ "LevelRank": {
+ "Flag": "Green"
+ }
+ },
+ "StoragePoolName": "dynamic_storage_pool:1",
+ "VDiskId": {
+ "Domain": 0,
+ "GroupGeneration": 1,
+ "GroupID": 2181038080,
+ "Ring": 0,
+ "VDisk": 0
+ },
+ "VDiskSlotId": 1000,
+ "VDiskState": "OK"
+ },
+ {
+ "AllocatedSize": "0",
+ "AvailableSize": "text",
+ "ChangeTime": "not-zero-number-text",
+ "DiskSpace": "Green",
+ "FrontQueues": "Green",
+ "Guid": "1",
+ "HasUnreadableBlobs": false,
+ "IncarnationGuid": "not-zero-number-text",
+ "InstanceGuid": "not-zero-number-text",
+ "Kind": "0",
+ "NodeId": 1,
+ "PDiskId": 1,
+ "Replicated": true,
+ "ReplicationProgress": 1,
+ "ReplicationSecondsRemaining": 0,
+ "SatisfactionRank": {
+ "FreshRank": {
+ "Flag": "Green"
+ },
+ "LevelRank": {
+ "Flag": "Green"
+ }
+ },
+ "StoragePoolName": "dynamic_storage_pool:1",
+ "VDiskId": {
+ "Domain": 0,
+ "GroupGeneration": 1,
+ "GroupID": 2181038081,
+ "Ring": 0,
+ "VDisk": 0
+ },
+ "VDiskSlotId": 1001,
+ "VDiskState": "OK"
+ },
+ {
+ "AllocatedSize": "0",
+ "AvailableSize": "text",
+ "ChangeTime": "not-zero-number-text",
+ "DiskSpace": "Green",
+ "FrontQueues": "Green",
+ "Guid": "1",
+ "HasUnreadableBlobs": false,
+ "IncarnationGuid": "not-zero-number-text",
+ "InstanceGuid": "not-zero-number-text",
+ "Kind": "0",
+ "NodeId": 1,
+ "PDiskId": 1,
+ "Replicated": true,
+ "ReplicationProgress": 1,
+ "ReplicationSecondsRemaining": 0,
+ "SatisfactionRank": {
+ "FreshRank": {
+ "Flag": "Green"
+ },
+ "LevelRank": {
+ "Flag": "Green"
+ }
+ },
+ "StoragePoolName": "/Root/dedicated_db:hdd",
+ "VDiskId": {
+ "Domain": 0,
+ "GroupGeneration": 2,
+ "GroupID": 2181038082,
+ "Ring": 0,
+ "VDisk": 0
+ },
+ "VDiskSlotId": 1002,
+ "VDiskState": "OK"
+ },
+ {
+ "AllocatedSize": "0",
+ "AvailableSize": "text",
+ "ChangeTime": "not-zero-number-text",
+ "DiskSpace": "Green",
+ "FrontQueues": "Green",
+ "Guid": "1",
+ "HasUnreadableBlobs": false,
+ "IncarnationGuid": "not-zero-number-text",
+ "InstanceGuid": "not-zero-number-text",
+ "Kind": "0",
+ "NodeId": 1,
+ "PDiskId": 1,
+ "Replicated": true,
+ "ReplicationProgress": 1,
+ "ReplicationSecondsRemaining": 0,
+ "SatisfactionRank": {
+ "FreshRank": {
+ "Flag": "Green"
+ },
+ "LevelRank": {
+ "Flag": "Green"
+ }
+ },
+ "StoragePoolName": "/Root/shared_db:hdd",
+ "VDiskId": {
+ "Domain": 0,
+ "GroupGeneration": 2,
+ "GroupID": 2181038083,
+ "Ring": 0,
+ "VDisk": 0
+ },
+ "VDiskSlotId": 1003,
+ "VDiskState": "OK"
+ }
+ ]
+ }
+ ],
+ "TotalNodes": "1"
+ },
+ "/Root/serverless_db": {
+ "FieldsAvailable": "1111111110111111111111111111111",
+ "FieldsRequired": "1111111111111111111111111111111",
+ "FoundNodes": "1",
+ "MaximumDisksPerNode": "1",
+ "MaximumSlotsPerDisk": "5",
+ "Nodes": [
+ {
+ "ClockSkewMaxUs": "text",
+ "ClockSkewMinUs": "text",
+ "ClockSkewUs": "text",
+ "ConnectStatus": "Green",
+ "Connections": "not-zero-number",
+ "CpuUsage": "not-zero-number",
+ "DiskSpaceUsage": "not-zero-number",
+ "NetworkUtilization": "number",
+ "NetworkUtilizationMax": "number",
+ "NetworkUtilizationMin": "number",
+ "NodeId": 1,
+ "PDisks": [
+ {
+ "AvailableSize": "text",
+ "Category": "0",
+ "ChangeTime": "not-zero-number-text",
+ "Device": "Green",
+ "EnforcedDynamicSlotSize": "not-zero-number-text",
+ "Guid": "1",
+ "LogTotalSize": "not-zero-number-text",
+ "LogUsedSize": "not-zero-number-text",
+ "NodeId": 1,
+ "NumActiveSlots": 5,
+ "PDiskId": 1,
+ "Path": "SectorMap:1:64",
+ "Realtime": "Green",
+ "SerialNumber": "",
+ "State": "Normal",
+ "SystemSize": "not-zero-number-text",
+ "TotalSize": "not-zero-number-text"
+ }
+ ],
+ "Peers": [
+ {
+ "BytesWritten": "text",
+ "ChangeTime": "not-zero-number-text",
+ "ClockSkewUs": "text",
+ "ConnectStatus": "Green",
+ "ConnectTime": "not-zero-number-text",
+ "Connected": true,
+ "NodeId": 1,
+ "PeerName": "text",
+ "PeerNodeId": 50000,
+ "PingTimeUs": "text",
+ "ScopeId": {
+ "X1": "72057594046678944",
+ "X2": "6"
+ },
+ "Utilization": "number"
+ },
+ {
+ "BytesWritten": "text",
+ "ChangeTime": "not-zero-number-text",
+ "ClockSkewUs": "text",
+ "ConnectStatus": "Green",
+ "ConnectTime": "not-zero-number-text",
+ "Connected": true,
+ "NodeId": 1,
+ "PeerName": "text",
+ "PeerNodeId": 50001,
+ "PingTimeUs": "text",
+ "ScopeId": {
+ "X1": "72057594046678944",
+ "X2": "7"
+ },
+ "Utilization": "number"
+ }
+ ],
+ "PingTimeMaxUs": "text",
+ "PingTimeMinUs": "text",
+ "PingTimeUs": "text",
+ "ReceiveThroughput": "text",
+ "ReverseClockSkewUs": "text",
+ "ReversePeers": [
+ {
+ "BytesWritten": "text",
+ "ChangeTime": "not-zero-number-text",
+ "ClockSkewUs": "text",
+ "ConnectStatus": "Green",
+ "ConnectTime": "not-zero-number-text",
+ "Connected": true,
+ "NodeId": 50000,
+ "PeerName": "text",
+ "PeerNodeId": 1,
+ "PingTimeUs": "text",
+ "ScopeId": {
+ "X1": "0",
+ "X2": "1"
+ },
+ "Utilization": "number"
+ },
+ {
+ "BytesWritten": "text",
+ "ChangeTime": "not-zero-number-text",
+ "ClockSkewUs": "text",
+ "ConnectStatus": "Green",
+ "ConnectTime": "not-zero-number-text",
+ "Connected": true,
+ "NodeId": 50001,
+ "PeerName": "text",
+ "PeerNodeId": 1,
+ "PingTimeUs": "text",
+ "ScopeId": {
+ "X1": "0",
+ "X2": "1"
+ },
+ "Utilization": "number"
+ }
+ ],
+ "ReversePingTimeUs": "text",
+ "SendThroughput": "text",
+ "SystemState": {
+ "ChangeTime": "not-zero-number-text",
+ "CoresTotal": "not-zero-number",
+ "CoresUsed": "not-zero-number",
+ "Endpoints": [
+ {
+ "Address": "text",
+ "Name": "grpc"
+ },
+ {
+ "Address": "text",
+ "Name": "http-mon"
+ },
+ {
+ "Address": "text",
+ "Name": "ic"
+ }
+ ],
+ "Host": "text",
+ "LoadAverage": "not-empty-array",
+ "Location": {
+ "DataCenter": "1",
+ "Rack": "1",
+ "Unit": "1"
+ },
+ "MaxDiskUsage": "not-zero-number",
+ "MemoryLimit": "not-zero-number-text",
+ "MemoryStats": "not-empty-object",
+ "NodeId": 1,
+ "NumberOfCpus": "not-zero-number",
+ "PoolStats": [
+ {
+ "Limit": "not-zero-number",
+ "Name": "System",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "User",
+ "Threads": 3,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "Batch",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IO",
+ "Threads": 1,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IC",
+ "Threads": 1,
+ "Usage": "number"
+ }
+ ],
+ "RealNumberOfCpus": "not-zero-number",
+ "Roles": "not-empty-array",
+ "StartTime": "not-zero-number-text",
+ "SystemState": "Green",
+ "TotalSessions": "number"
+ },
+ "UptimeSeconds": "number",
+ "VDisks": [
+ {
+ "AllocatedSize": "0",
+ "AvailableSize": "text",
+ "ChangeTime": "not-zero-number-text",
+ "DiskSpace": "Green",
+ "FrontQueues": "Green",
+ "Guid": "1",
+ "HasUnreadableBlobs": false,
+ "IncarnationGuid": "not-zero-number-text",
+ "InstanceGuid": "not-zero-number-text",
+ "Kind": "0",
+ "NodeId": 1,
+ "PDiskId": 1,
+ "Replicated": true,
+ "ReplicationProgress": 1,
+ "ReplicationSecondsRemaining": 0,
+ "SatisfactionRank": {
+ "FreshRank": {
+ "Flag": "Green"
+ },
+ "LevelRank": {
+ "Flag": "Green"
+ }
+ },
+ "StoragePoolName": "static",
+ "VDiskId": {
+ "Domain": 0,
+ "GroupGeneration": 1,
+ "GroupID": 0,
+ "Ring": 0,
+ "VDisk": 0
+ },
+ "VDiskSlotId": 0,
+ "VDiskState": "OK"
+ },
+ {
+ "AllocatedSize": "0",
+ "AvailableSize": "text",
+ "ChangeTime": "not-zero-number-text",
+ "DiskSpace": "Green",
+ "FrontQueues": "Green",
+ "Guid": "1",
+ "HasUnreadableBlobs": false,
+ "IncarnationGuid": "not-zero-number-text",
+ "InstanceGuid": "not-zero-number-text",
+ "Kind": "0",
+ "NodeId": 1,
+ "PDiskId": 1,
+ "Replicated": true,
+ "ReplicationProgress": 1,
+ "ReplicationSecondsRemaining": 0,
+ "SatisfactionRank": {
+ "FreshRank": {
+ "Flag": "Green"
+ },
+ "LevelRank": {
+ "Flag": "Green"
+ }
+ },
+ "StoragePoolName": "dynamic_storage_pool:1",
+ "VDiskId": {
+ "Domain": 0,
+ "GroupGeneration": 1,
+ "GroupID": 2181038080,
+ "Ring": 0,
+ "VDisk": 0
+ },
+ "VDiskSlotId": 1000,
+ "VDiskState": "OK"
+ },
+ {
+ "AllocatedSize": "0",
+ "AvailableSize": "text",
+ "ChangeTime": "not-zero-number-text",
+ "DiskSpace": "Green",
+ "FrontQueues": "Green",
+ "Guid": "1",
+ "HasUnreadableBlobs": false,
+ "IncarnationGuid": "not-zero-number-text",
+ "InstanceGuid": "not-zero-number-text",
+ "Kind": "0",
+ "NodeId": 1,
+ "PDiskId": 1,
+ "Replicated": true,
+ "ReplicationProgress": 1,
+ "ReplicationSecondsRemaining": 0,
+ "SatisfactionRank": {
+ "FreshRank": {
+ "Flag": "Green"
+ },
+ "LevelRank": {
+ "Flag": "Green"
+ }
+ },
+ "StoragePoolName": "dynamic_storage_pool:1",
+ "VDiskId": {
+ "Domain": 0,
+ "GroupGeneration": 1,
+ "GroupID": 2181038081,
+ "Ring": 0,
+ "VDisk": 0
+ },
+ "VDiskSlotId": 1001,
+ "VDiskState": "OK"
+ },
+ {
+ "AllocatedSize": "0",
+ "AvailableSize": "text",
+ "ChangeTime": "not-zero-number-text",
+ "DiskSpace": "Green",
+ "FrontQueues": "Green",
+ "Guid": "1",
+ "HasUnreadableBlobs": false,
+ "IncarnationGuid": "not-zero-number-text",
+ "InstanceGuid": "not-zero-number-text",
+ "Kind": "0",
+ "NodeId": 1,
+ "PDiskId": 1,
+ "Replicated": true,
+ "ReplicationProgress": 1,
+ "ReplicationSecondsRemaining": 0,
+ "SatisfactionRank": {
+ "FreshRank": {
+ "Flag": "Green"
+ },
+ "LevelRank": {
+ "Flag": "Green"
+ }
+ },
+ "StoragePoolName": "/Root/dedicated_db:hdd",
+ "VDiskId": {
+ "Domain": 0,
+ "GroupGeneration": 2,
+ "GroupID": 2181038082,
+ "Ring": 0,
+ "VDisk": 0
+ },
+ "VDiskSlotId": 1002,
+ "VDiskState": "OK"
+ },
+ {
+ "AllocatedSize": "0",
+ "AvailableSize": "text",
+ "ChangeTime": "not-zero-number-text",
+ "DiskSpace": "Green",
+ "FrontQueues": "Green",
+ "Guid": "1",
+ "HasUnreadableBlobs": false,
+ "IncarnationGuid": "not-zero-number-text",
+ "InstanceGuid": "not-zero-number-text",
+ "Kind": "0",
+ "NodeId": 1,
+ "PDiskId": 1,
+ "Replicated": true,
+ "ReplicationProgress": 1,
+ "ReplicationSecondsRemaining": 0,
+ "SatisfactionRank": {
+ "FreshRank": {
+ "Flag": "Green"
+ },
+ "LevelRank": {
+ "Flag": "Green"
+ }
+ },
+ "StoragePoolName": "/Root/shared_db:hdd",
+ "VDiskId": {
+ "Domain": 0,
+ "GroupGeneration": 2,
+ "GroupID": 2181038083,
+ "Ring": 0,
+ "VDisk": 0
+ },
+ "VDiskSlotId": 1003,
+ "VDiskState": "OK"
+ }
+ ]
+ }
+ ],
+ "TotalNodes": "1"
+ },
+ "/Root/shared_db": {
+ "FieldsAvailable": "1111111110111111111111111111111",
+ "FieldsRequired": "1111111111111111111111111111111",
+ "FoundNodes": "1",
+ "MaximumDisksPerNode": "1",
+ "MaximumSlotsPerDisk": "5",
+ "Nodes": [
+ {
+ "ClockSkewMaxUs": "text",
+ "ClockSkewMinUs": "text",
+ "ClockSkewUs": "text",
+ "ConnectStatus": "Green",
+ "Connections": "not-zero-number",
+ "CpuUsage": "not-zero-number",
+ "DiskSpaceUsage": "not-zero-number",
+ "NetworkUtilization": "number",
+ "NetworkUtilizationMax": "number",
+ "NetworkUtilizationMin": "number",
+ "NodeId": 1,
+ "PDisks": [
+ {
+ "AvailableSize": "text",
+ "Category": "0",
+ "ChangeTime": "not-zero-number-text",
+ "Device": "Green",
+ "EnforcedDynamicSlotSize": "not-zero-number-text",
+ "Guid": "1",
+ "LogTotalSize": "not-zero-number-text",
+ "LogUsedSize": "not-zero-number-text",
+ "NodeId": 1,
+ "NumActiveSlots": 5,
+ "PDiskId": 1,
+ "Path": "SectorMap:1:64",
+ "Realtime": "Green",
+ "SerialNumber": "",
+ "State": "Normal",
+ "SystemSize": "not-zero-number-text",
+ "TotalSize": "not-zero-number-text"
+ }
+ ],
+ "Peers": [
+ {
+ "BytesWritten": "text",
+ "ChangeTime": "not-zero-number-text",
+ "ClockSkewUs": "text",
+ "ConnectStatus": "Green",
+ "ConnectTime": "not-zero-number-text",
+ "Connected": true,
+ "NodeId": 1,
+ "PeerName": "text",
+ "PeerNodeId": 50000,
+ "PingTimeUs": "text",
+ "ScopeId": {
+ "X1": "72057594046678944",
+ "X2": "6"
+ },
+ "Utilization": "number"
+ },
+ {
+ "BytesWritten": "text",
+ "ChangeTime": "not-zero-number-text",
+ "ClockSkewUs": "text",
+ "ConnectStatus": "Green",
+ "ConnectTime": "not-zero-number-text",
+ "Connected": true,
+ "NodeId": 1,
+ "PeerName": "text",
+ "PeerNodeId": 50001,
+ "PingTimeUs": "text",
+ "ScopeId": {
+ "X1": "72057594046678944",
+ "X2": "7"
+ },
+ "Utilization": "number"
+ }
+ ],
+ "PingTimeMaxUs": "text",
+ "PingTimeMinUs": "text",
+ "PingTimeUs": "text",
+ "ReceiveThroughput": "text",
+ "ReverseClockSkewUs": "text",
+ "ReversePeers": [
+ {
+ "BytesWritten": "text",
+ "ChangeTime": "not-zero-number-text",
+ "ClockSkewUs": "text",
+ "ConnectStatus": "Green",
+ "ConnectTime": "not-zero-number-text",
+ "Connected": true,
+ "NodeId": 50000,
+ "PeerName": "text",
+ "PeerNodeId": 1,
+ "PingTimeUs": "text",
+ "ScopeId": {
+ "X1": "0",
+ "X2": "1"
+ },
+ "Utilization": "number"
+ },
+ {
+ "BytesWritten": "text",
+ "ChangeTime": "not-zero-number-text",
+ "ClockSkewUs": "text",
+ "ConnectStatus": "Green",
+ "ConnectTime": "not-zero-number-text",
+ "Connected": true,
+ "NodeId": 50001,
+ "PeerName": "text",
+ "PeerNodeId": 1,
+ "PingTimeUs": "text",
+ "ScopeId": {
+ "X1": "0",
+ "X2": "1"
+ },
+ "Utilization": "number"
+ }
+ ],
+ "ReversePingTimeUs": "text",
+ "SendThroughput": "text",
+ "SystemState": {
+ "ChangeTime": "not-zero-number-text",
+ "CoresTotal": "not-zero-number",
+ "CoresUsed": "not-zero-number",
+ "Endpoints": [
+ {
+ "Address": "text",
+ "Name": "grpc"
+ },
+ {
+ "Address": "text",
+ "Name": "http-mon"
+ },
+ {
+ "Address": "text",
+ "Name": "ic"
+ }
+ ],
+ "Host": "text",
+ "LoadAverage": "not-empty-array",
+ "Location": {
+ "DataCenter": "1",
+ "Rack": "1",
+ "Unit": "1"
+ },
+ "MaxDiskUsage": "not-zero-number",
+ "MemoryLimit": "not-zero-number-text",
+ "MemoryStats": "not-empty-object",
+ "NodeId": 1,
+ "NumberOfCpus": "not-zero-number",
+ "PoolStats": [
+ {
+ "Limit": "not-zero-number",
+ "Name": "System",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "User",
+ "Threads": 3,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "Batch",
+ "Threads": 2,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IO",
+ "Threads": 1,
+ "Usage": "number"
+ },
+ {
+ "Limit": "not-zero-number",
+ "Name": "IC",
+ "Threads": 1,
+ "Usage": "number"
+ }
+ ],
+ "RealNumberOfCpus": "not-zero-number",
+ "Roles": "not-empty-array",
+ "StartTime": "not-zero-number-text",
+ "SystemState": "Green",
+ "TotalSessions": "number"
+ },
+ "UptimeSeconds": "number",
+ "VDisks": [
+ {
+ "AllocatedSize": "0",
+ "AvailableSize": "text",
+ "ChangeTime": "not-zero-number-text",
+ "DiskSpace": "Green",
+ "FrontQueues": "Green",
+ "Guid": "1",
+ "HasUnreadableBlobs": false,
+ "IncarnationGuid": "not-zero-number-text",
+ "InstanceGuid": "not-zero-number-text",
+ "Kind": "0",
+ "NodeId": 1,
+ "PDiskId": 1,
+ "Replicated": true,
+ "ReplicationProgress": 1,
+ "ReplicationSecondsRemaining": 0,
+ "SatisfactionRank": {
+ "FreshRank": {
+ "Flag": "Green"
+ },
+ "LevelRank": {
+ "Flag": "Green"
+ }
+ },
+ "StoragePoolName": "static",
+ "VDiskId": {
+ "Domain": 0,
+ "GroupGeneration": 1,
+ "GroupID": 0,
+ "Ring": 0,
+ "VDisk": 0
+ },
+ "VDiskSlotId": 0,
+ "VDiskState": "OK"
+ },
+ {
+ "AllocatedSize": "0",
+ "AvailableSize": "text",
+ "ChangeTime": "not-zero-number-text",
+ "DiskSpace": "Green",
+ "FrontQueues": "Green",
+ "Guid": "1",
+ "HasUnreadableBlobs": false,
+ "IncarnationGuid": "not-zero-number-text",
+ "InstanceGuid": "not-zero-number-text",
+ "Kind": "0",
+ "NodeId": 1,
+ "PDiskId": 1,
+ "Replicated": true,
+ "ReplicationProgress": 1,
+ "ReplicationSecondsRemaining": 0,
+ "SatisfactionRank": {
+ "FreshRank": {
+ "Flag": "Green"
+ },
+ "LevelRank": {
+ "Flag": "Green"
+ }
+ },
+ "StoragePoolName": "dynamic_storage_pool:1",
+ "VDiskId": {
+ "Domain": 0,
+ "GroupGeneration": 1,
+ "GroupID": 2181038080,
+ "Ring": 0,
+ "VDisk": 0
+ },
+ "VDiskSlotId": 1000,
+ "VDiskState": "OK"
+ },
+ {
+ "AllocatedSize": "0",
+ "AvailableSize": "text",
+ "ChangeTime": "not-zero-number-text",
+ "DiskSpace": "Green",
+ "FrontQueues": "Green",
+ "Guid": "1",
+ "HasUnreadableBlobs": false,
+ "IncarnationGuid": "not-zero-number-text",
+ "InstanceGuid": "not-zero-number-text",
+ "Kind": "0",
+ "NodeId": 1,
+ "PDiskId": 1,
+ "Replicated": true,
+ "ReplicationProgress": 1,
+ "ReplicationSecondsRemaining": 0,
+ "SatisfactionRank": {
+ "FreshRank": {
+ "Flag": "Green"
+ },
+ "LevelRank": {
+ "Flag": "Green"
+ }
+ },
+ "StoragePoolName": "dynamic_storage_pool:1",
+ "VDiskId": {
+ "Domain": 0,
+ "GroupGeneration": 1,
+ "GroupID": 2181038081,
+ "Ring": 0,
+ "VDisk": 0
+ },
+ "VDiskSlotId": 1001,
+ "VDiskState": "OK"
+ },
+ {
+ "AllocatedSize": "0",
+ "AvailableSize": "text",
+ "ChangeTime": "not-zero-number-text",
+ "DiskSpace": "Green",
+ "FrontQueues": "Green",
+ "Guid": "1",
+ "HasUnreadableBlobs": false,
+ "IncarnationGuid": "not-zero-number-text",
+ "InstanceGuid": "not-zero-number-text",
+ "Kind": "0",
+ "NodeId": 1,
+ "PDiskId": 1,
+ "Replicated": true,
+ "ReplicationProgress": 1,
+ "ReplicationSecondsRemaining": 0,
+ "SatisfactionRank": {
+ "FreshRank": {
+ "Flag": "Green"
+ },
+ "LevelRank": {
+ "Flag": "Green"
+ }
+ },
+ "StoragePoolName": "/Root/dedicated_db:hdd",
+ "VDiskId": {
+ "Domain": 0,
+ "GroupGeneration": 2,
+ "GroupID": 2181038082,
+ "Ring": 0,
+ "VDisk": 0
+ },
+ "VDiskSlotId": 1002,
+ "VDiskState": "OK"
+ },
+ {
+ "AllocatedSize": "0",
+ "AvailableSize": "text",
+ "ChangeTime": "not-zero-number-text",
+ "DiskSpace": "Green",
+ "FrontQueues": "Green",
+ "Guid": "1",
+ "HasUnreadableBlobs": false,
+ "IncarnationGuid": "not-zero-number-text",
+ "InstanceGuid": "not-zero-number-text",
+ "Kind": "0",
+ "NodeId": 1,
+ "PDiskId": 1,
+ "Replicated": true,
+ "ReplicationProgress": 1,
+ "ReplicationSecondsRemaining": 0,
+ "SatisfactionRank": {
+ "FreshRank": {
+ "Flag": "Green"
+ },
+ "LevelRank": {
+ "Flag": "Green"
+ }
+ },
+ "StoragePoolName": "/Root/shared_db:hdd",
+ "VDiskId": {
+ "Domain": 0,
+ "GroupGeneration": 2,
+ "GroupID": 2181038083,
+ "Ring": 0,
+ "VDisk": 0
+ },
+ "VDiskSlotId": 1003,
+ "VDiskState": "OK"
+ }
+ ]
+ }
+ ],
+ "TotalNodes": "1"
+ }
+ },
"test.test_viewer_sysinfo": {
"ResponseDuration": "not-zero-number",
"ResponseTime": "not-zero-number-text",
diff --git a/ydb/core/viewer/tests/test.py b/ydb/core/viewer/tests/test.py
index 1802c85c9c1..caea83d2d66 100644
--- a/ydb/core/viewer/tests/test.py
+++ b/ydb/core/viewer/tests/test.py
@@ -480,6 +480,27 @@ def get_viewer_db_normalized(url, params=None):
def test_viewer_nodes():
result = get_viewer_db_normalized("/viewer/nodes", {
+ })
+ return result
+
+
+def test_viewer_nodes_all():
+ result = get_viewer_db_normalized("/viewer/nodes", {
+ 'fields_required': 'all'
+ })
+ return result
+
+
+def test_viewer_storage_nodes():
+ result = get_viewer_db_normalized("/viewer/nodes", {
+ 'type': 'storage',
+ })
+ return result
+
+
+def test_viewer_storage_nodes_all():
+ result = get_viewer_db_normalized("/viewer/nodes", {
+ 'type': 'storage',
'fields_required': 'all'
})
return result
diff --git a/ydb/core/viewer/viewer_nodes.h b/ydb/core/viewer/viewer_nodes.h
index ae5ca08619c..98a5c3d68f9 100644
--- a/ydb/core/viewer/viewer_nodes.h
+++ b/ydb/core/viewer/viewer_nodes.h
@@ -154,7 +154,6 @@ class TJsonNodes : public TViewerPipeClient {
Pools,
Groups,
VSlots,
- DoneOrError,
};
enum class EPeerRole {
@@ -1111,10 +1110,11 @@ public:
GroupsResponse = MakeCachedRequestBSControllerGroups();
VSlotsResponse = MakeCachedRequestBSControllerVSlots();
FilterStorageStage = EFilterStorageStage::Pools;
- } else if (!FilterGroupIds.empty()) {
+ } else if (!FilterGroupIds.empty() || FieldsRequired.test(+ENodeFields::VDisks)) {
VSlotsResponse = MakeCachedRequestBSControllerVSlots();
FilterStorageStage = EFilterStorageStage::VSlots;
}
+
if (With != EWith::Everything) {
PDisksResponse = MakeCachedRequestBSControllerPDisks();
}
@@ -1134,11 +1134,6 @@ public:
PDisksResponse = MakeCachedRequestBSControllerPDisks();
}
}
- if (FieldsRequired.test(+ENodeFields::VDisks)) {
- if (!VSlotsResponse) {
- VSlotsResponse = MakeCachedRequestBSControllerVSlots();
- }
- }
if (FieldsNeeded(FieldsHiveNodeStat) && !FilterDatabase && !FilterPath) {
TTabletId rootHiveId = domains->GetHive();
HivesToAsk.push_back(rootHiveId);
@@ -1170,11 +1165,11 @@ public:
}
bool PreFilterDone() const {
- return !FilterDatabase && FilterStorageStage == EFilterStorageStage::None && FilterPeerRole != EPeerRole::Static && FilterPeerRole != EPeerRole::Other;
+ return (!PDisksResponse || PDisksProcessed) && !FilterDatabase && FilterPeerRole != EPeerRole::Static && FilterPeerRole != EPeerRole::Other;
}
bool FilterDone() const {
- return PreFilterDone() && !NeedFilter;
+ return PreFilterDone() && FilterStorageStage == EFilterStorageStage::None && !NeedFilter;
}
void ApplyFilter() {
@@ -1228,6 +1223,9 @@ public:
if (FilterStorageStage != EFilterStorageStage::None) {
return;
}
+ if (PDisksResponse && !PDisksProcessed) {
+ return;
+ }
if (FilterPeerRole == EPeerRole::Static || FilterPeerRole == EPeerRole::Other) {
return;
}
@@ -2037,7 +2035,7 @@ public:
FilterStorageStage = EFilterStorageStage::Groups;
} else {
AddProblem("bsc-storage-pools-no-data");
- FilterStorageStage = EFilterStorageStage::DoneOrError;
+ FilterStorageStage = EFilterStorageStage::None;
}
StoragePoolsResponse.reset();
}
@@ -2054,10 +2052,10 @@ public:
FilterStorageStage = EFilterStorageStage::VSlots;
} else {
AddProblem("bsc-storage-groups-no-data");
- FilterStorageStage = EFilterStorageStage::DoneOrError;
+ FilterStorageStage = EFilterStorageStage::None;
}
}
- if ((FilterStorageStage == EFilterStorageStage::VSlots || FilterStorageStage == EFilterStorageStage::None) && VSlotsResponse && VSlotsResponse->IsDone()) {
+ if (FilterStorageStage == EFilterStorageStage::VSlots && VSlotsResponse && VSlotsResponse->IsDone()) {
if (VSlotsResponse->IsOk()) {
std::unordered_set<TNodeId> prevFilterNodeIds = std::move(FilterNodeIds);
std::unordered_map<std::pair<TNodeId, ui32>, std::size_t> slotsPerDisk;
@@ -2066,28 +2064,22 @@ public:
if (prevFilterNodeIds.empty() || prevFilterNodeIds.count(slotEntry.GetKey().GetNodeId()) > 0) {
FilterNodeIds.insert(slotEntry.GetKey().GetNodeId());
}
- TNode* node = FindNode(slotEntry.GetKey().GetNodeId());
- if (node) {
- node->SysViewVDisks.emplace_back(slotEntry);
- node->HasDisks = true;
- }
- } else {
- TNode* node = FindNode(slotEntry.GetKey().GetNodeId());
- if (node) {
- node->HasDisks = true;
- }
+ }
+ TNode* node = FindNode(slotEntry.GetKey().GetNodeId());
+ if (node) {
+ node->SysViewVDisks.emplace_back(slotEntry);
+ node->HasDisks = true;
}
auto& slots = slotsPerDisk[{slotEntry.GetKey().GetNodeId(), slotEntry.GetKey().GetPDiskId()}];
++slots;
MaximumSlotsPerDisk = std::max(MaximumSlotsPerDisk.value_or(0), slots);
}
FieldsAvailable.set(+ENodeFields::HasDisks);
- FilterStorageStage = EFilterStorageStage::DoneOrError;
- ApplyEverything();
} else {
AddProblem("bsc-storage-slots-no-data");
- FilterStorageStage = EFilterStorageStage::DoneOrError;
}
+ FilterStorageStage = EFilterStorageStage::None;
+ ApplyEverything();
}
if (PDisksResponse && PDisksResponse->IsDone() && !PDisksProcessed) {
if (PDisksResponse->IsOk()) {
@@ -2112,6 +2104,7 @@ public:
AddProblem("bsc-pdisks-no-data");
}
PDisksProcessed = true;
+ ApplyEverything();
}
if (!TimeToAskWhiteboard()) {