@@ -31,6 +31,10 @@ const supermajorityTopicSchema = z.object({
3131 topic : z . literal ( "wait_for_supermajority" ) ,
3232} ) ;
3333
34+ const accountsTopicSchema = z . object ( {
35+ topic : z . literal ( "accounts" ) ,
36+ } ) ;
37+
3438export const topicSchema = z . discriminatedUnion ( "topic" , [
3539 summaryTopicSchema ,
3640 epochTopicSchema ,
@@ -39,6 +43,7 @@ export const topicSchema = z.discriminatedUnion("topic", [
3943 slotTopicSchema ,
4044 blockEngineTopicSchema ,
4145 supermajorityTopicSchema ,
46+ accountsTopicSchema ,
4247] ) ;
4348
4449export const versionSchema = z . string ( ) ;
@@ -988,3 +993,135 @@ export const supermajoritySchema = z.discriminatedUnion("key", [
988993 value : supermajorityPeerRemoveSchema ,
989994 } ) ,
990995] ) ;
996+
997+ export const accountsDiskSchema = z . object ( {
998+ accounts_total : z . number ( ) ,
999+ accounts_capacity : z . number ( ) ,
1000+ allocated_bytes : z . number ( ) ,
1001+ current_bytes : z . number ( ) ,
1002+ used_bytes : z . number ( ) ,
1003+ } ) ;
1004+
1005+ export const accountsCompactionSchema = z . object ( {
1006+ in_compaction : z . number ( ) ,
1007+ compactions_requested : z . number ( ) ,
1008+ compactions_completed : z . number ( ) ,
1009+ accounts_relocated_bytes : z . number ( ) ,
1010+ relocated_bytes_per_sec : z . number ( ) ,
1011+ } ) ;
1012+
1013+ export const accountsCacheClassSchema = z . object ( {
1014+ class : z . number ( ) ,
1015+ used_slots : z . number ( ) ,
1016+ max_slots : z . number ( ) ,
1017+ reserved_slots : z . number ( ) ,
1018+ target_used_slots : z . number ( ) ,
1019+ low_water_used_slots : z . number ( ) ,
1020+ not_found : z . number ( ) ,
1021+ evicted : z . number ( ) ,
1022+ preevicted : z . number ( ) ,
1023+ committed_new : z . number ( ) ,
1024+ committed_overwrite : z . number ( ) ,
1025+ not_found_per_sec : z . number ( ) ,
1026+ evicted_per_sec : z . number ( ) ,
1027+ preevicted_per_sec : z . number ( ) ,
1028+ committed_new_per_sec : z . number ( ) ,
1029+ committed_overwrite_per_sec : z . number ( ) ,
1030+ reads_per_sec : z . number ( ) ,
1031+ writes_per_sec : z . number ( ) ,
1032+ hit_rate_ema : z . number ( ) ,
1033+ } ) ;
1034+
1035+ export const accountsCacheSchema = z . object ( {
1036+ hit_rate_ema : z . number ( ) ,
1037+ size_bytes : z . number ( ) ,
1038+ classes : accountsCacheClassSchema . array ( ) ,
1039+ } ) ;
1040+
1041+ export const accountsIoSchema = z . object ( {
1042+ acquired : z . number ( ) ,
1043+ acquired_writable : z . number ( ) ,
1044+ bytes_read : z . number ( ) ,
1045+ bytes_copied : z . number ( ) ,
1046+ bytes_written : z . number ( ) ,
1047+ bytes_written_accdb : z . number ( ) ,
1048+ read_ops : z . number ( ) ,
1049+ write_ops : z . number ( ) ,
1050+ acquired_per_sec : z . number ( ) ,
1051+ acquired_writable_per_sec : z . number ( ) ,
1052+ bytes_read_per_sec : z . number ( ) ,
1053+ bytes_copied_per_sec : z . number ( ) ,
1054+ bytes_written_per_sec : z . number ( ) ,
1055+ read_ops_per_sec : z . number ( ) ,
1056+ write_ops_per_sec : z . number ( ) ,
1057+ prewrite_ratio : z . number ( ) ,
1058+ } ) ;
1059+
1060+ export const accountsPartitionSchema = z . object ( {
1061+ partition_idx : z . number ( ) ,
1062+ file_offset : z . number ( ) ,
1063+ tier : z . number ( ) ,
1064+ write_offset : z . number ( ) ,
1065+ bytes_freed : z . number ( ) ,
1066+ read_ops : z . number ( ) ,
1067+ bytes_read : z . number ( ) ,
1068+ write_ops : z . number ( ) ,
1069+ bytes_written : z . number ( ) ,
1070+ read_ops_per_sec : z . number ( ) ,
1071+ bytes_read_per_sec : z . number ( ) ,
1072+ write_ops_per_sec : z . number ( ) ,
1073+ bytes_written_per_sec : z . number ( ) ,
1074+ utilization : z . number ( ) ,
1075+ fragmentation : z . number ( ) ,
1076+ used_frac : z . number ( ) ,
1077+ fragmented_frac : z . number ( ) ,
1078+ compaction_trigger_frac : z . number ( ) ,
1079+ age_seconds : z . number ( ) ,
1080+ filled_seconds : z . number ( ) ,
1081+ /* 0 = idle, 1 = queued, 2 = compacting */
1082+ compaction_state : z . number ( ) ,
1083+ compaction_frac : z . number ( ) ,
1084+ is_write_head : z . boolean ( ) ,
1085+ } ) ;
1086+
1087+ export const accountsTileSchema = z . object ( {
1088+ name : z . string ( ) ,
1089+ kind_id : z . number ( ) ,
1090+ joiner_type : z . enum ( [ "RO" , "RW" ] ) ,
1091+ /* 1 = running, 2 = shutdown */
1092+ status : z . number ( ) ,
1093+ acquired : z . number ( ) ,
1094+ bytes_read : z . number ( ) ,
1095+ bytes_written : z . number ( ) ,
1096+ acquired_per_sec : z . number ( ) ,
1097+ acquired_writable_per_sec : z . number ( ) ,
1098+ bytes_read_per_sec : z . number ( ) ,
1099+ bytes_copied_per_sec : z . number ( ) ,
1100+ bytes_written_per_sec : z . number ( ) ,
1101+ read_ops_per_sec : z . number ( ) ,
1102+ write_ops_per_sec : z . number ( ) ,
1103+ not_found_per_sec : z . number ( ) ,
1104+ evicted_per_sec : z . number ( ) ,
1105+ committed_per_sec : z . number ( ) ,
1106+ acquire_calls_per_sec : z . number ( ) ,
1107+ hit_rate_ema : z . number ( ) ,
1108+ acquired_history : z . array ( z . number ( ) ) ,
1109+ acquired_writable_history : z . array ( z . number ( ) ) ,
1110+ } ) ;
1111+
1112+ export const accountsStatsSchema = z . object ( {
1113+ sample_time_nanos : z . number ( ) ,
1114+ disk : accountsDiskSchema ,
1115+ compaction : accountsCompactionSchema ,
1116+ cache : accountsCacheSchema ,
1117+ io : accountsIoSchema ,
1118+ tiles : accountsTileSchema . array ( ) ,
1119+ partitions : accountsPartitionSchema . array ( ) ,
1120+ } ) ;
1121+
1122+ export const accountsSchema = z . discriminatedUnion ( "key" , [
1123+ accountsTopicSchema . extend ( {
1124+ key : z . literal ( "stats" ) ,
1125+ value : accountsStatsSchema ,
1126+ } ) ,
1127+ ] ) ;
0 commit comments