@@ -52,3 +52,124 @@ export interface TPDiskStateInfo {
5252 Overall ?: EFlag ;
5353 SerialNumber ?: string ;
5454}
55+
56+ export enum EVDiskState {
57+ Initial = 'Initial' ,
58+ LocalRecoveryError = 'LocalRecoveryError' ,
59+ SyncGuidRecovery = 'SyncGuidRecovery' ,
60+ SyncGuidRecoveryError = 'SyncGuidRecoveryError' ,
61+ OK = 'OK' ,
62+ PDiskError = 'PDiskError' ,
63+ }
64+
65+ interface TRank {
66+ /**
67+ * uint32
68+ * Rank in percents; 0-100% is good; >100% is bad.
69+ * Formula for rank calculation is the following:
70+ * Rank = actual_value / max_allowed_value * 100
71+ */
72+ RankPercent ?: string ;
73+
74+ /**
75+ * Flag is the Rank transformed to something simple
76+ * to understand: Green, Yellow or Red
77+ */
78+ Flag ?: EFlag ;
79+ }
80+
81+ interface TVDiskSatisfactionRank {
82+ FreshRank ?: TRank ;
83+ LevelRank ?: TRank ;
84+ }
85+
86+ interface TVDiskID {
87+ /** uint32 */
88+ GroupID ?: string ;
89+ /** uint32 */
90+ GroupGeneration ?: string ;
91+ /** uint32 */
92+ Ring ?: string ;
93+ /** uint32 */
94+ Domain ?: string ;
95+ /** uint32 */
96+ VDisk ?: string ;
97+ }
98+
99+ export interface TVDiskStateInfo {
100+ VDiskId ?: TVDiskID ;
101+ /** uint64 */
102+ CreateTime ?: string ;
103+ /** uint64 */
104+ ChangeTime ?: string ;
105+ /** uint32 */
106+ PDiskId ?: string ;
107+ /** uint32 */
108+ VDiskSlotId ?: string ;
109+ /** uint64 */
110+ Guid ?: string ;
111+ /** uint64 */
112+ Kind ?: string ;
113+ /** uint32 */
114+ NodeId ?: string ;
115+ /** uint32 */
116+ Count ?: string ;
117+
118+ Overall ?: EFlag ;
119+
120+ /** Current state of VDisk */
121+ VDiskState ?: EVDiskState ;
122+ /** Disk space flags */
123+ DiskSpace ?: EFlag ;
124+ /** Compaction satisfaction rank */
125+ SatisfactionRank ?: TVDiskSatisfactionRank ;
126+ /** Is VDisk replicated? (i.e. contains all blobs it must have) */
127+ Replicated ?: boolean ;
128+ /** Does this VDisk has any yet unreplicated phantom-like blobs? */
129+ UnreplicatedPhantoms ?: boolean ;
130+ /** The same for the non-phantom-like blobs. */
131+ UnreplicatedNonPhantoms ?: boolean ;
132+ /**
133+ * uint64
134+ * How many unsynced VDisks from current BlobStorage group we see
135+ */
136+ UnsyncedVDisks ?: string ;
137+ /**
138+ * uint64
139+ * How much this VDisk have allocated on corresponding PDisk
140+ */
141+ AllocatedSize ?: string ;
142+ /**
143+ * uint64
144+ * How much space is available for VDisk corresponding to PDisk's hard space limits
145+ */
146+ AvailableSize ?: string ;
147+ /** Does this disk has some unreadable but not yet restored blobs? */
148+ HasUnreadableBlobs ?: boolean ;
149+ /** fixed64 */
150+ IncarnationGuid ?: string ;
151+ DonorMode ?: boolean ;
152+ /**
153+ * fixed64
154+ * VDisk actor instance guid
155+ */
156+ InstanceGuid ?: string ;
157+ Donors ?: TVDiskStateInfo [ ] ;
158+
159+ /** VDisk (Skeleton) Front Queue Status */
160+ FrontQueues ?: EFlag ;
161+
162+ /** VDisk storage pool label */
163+ StoragePoolName ?: string ;
164+
165+ /**
166+ * uint64
167+ * Read bytes per second from PDisk for TEvVGet blobs only
168+ */
169+ ReadThroughput ?: string ;
170+ /**
171+ * uint64
172+ * Write bytes per second to PDisk for TEvVPut blobs and replication bytes only
173+ */
174+ WriteThroughput ?: string ;
175+ }
0 commit comments