package Ġcom . info bip . k af k ist ry . service . resources Ċ Ċ import Ġcom . info bip . k af k ist ry . kafka . Broker Id Ċ Ċ const Ġval ĠINF _ RET ENT ION Ġ= Ġ- 1 L Ċ Ċ infix Ġfun ĠLong ?. plus Nullable ( other : ĠLong ?) Ġ= Ġif Ġ( this Ġ!= Ġnull Ġ&& Ġother Ġ!= Ġnull ) Ġthis Ġ+ Ġother Ġelse Ġnull Ċ infix Ġfun ĠInt ?. plus Nullable ( other : ĠInt ?) Ġ= Ġif Ġ( this Ġ!= Ġnull Ġ&& Ġother Ġ!= Ġnull ) Ġthis Ġ+ Ġother Ġelse Ġnull ĊĊ Ċ //////////////////////// Ċ // Ġresource Ġrequirements Ċ //////////////////////// Ċ Ċ data Ġclass ĠTopic Resource Required Usage s ( ĊĠĠĠ Ġval Ġnum Bro kers : ĠInt ?, ĊĠĠĠ Ġval Ġmessages Per Sec : ĠDouble , ĊĠĠĠ Ġval Ġbytes Per Sec : ĠDouble , ĊĠĠĠ Ġval Ġproduced Bytes Per Day : ĠLong , ĊĠĠĠ Ġval Ġdisk Usage Per Partition Replica : ĠLong , ĊĠĠĠ Ġval Ġdisk Usage Per Broker : ĠLong ?, ĊĠĠĠ Ġval Ġtotal Disk Usage Bytes : ĠLong , ĊĠĠĠ Ġval Ġpartition InBytes Per Sec : ĠDouble , ĊĠĠĠ Ġval Ġpartition Sync Out Bytes Per Sec : ĠDouble , ĊĠĠĠ Ġval Ġbroker Producer InBytes Per Sec : ĠDouble ?, ĊĠĠĠ Ġval Ġbroker Sync Bytes Per Sec : ĠDouble ?, ĊĠĠĠ Ġval Ġbroker InBytes Per Sec : ĠDouble ? Ċ ) ĊĊ Ċ //////////////////////// Ċ // Ġusage Ġlevel Ċ //////////////////////// Ċ Ċ enum Ġclass ĠUsage Level Ġ{ ĊĠĠĠ ĠNONE , ĊĠĠĠ ĠLOW , ĊĠĠĠ ĠMED IUM , ĊĠĠĠ ĠHIGH , ĊĠĠĠ ĠOVER FLOW , Ċ } Ċ Ċ //////////////////////// Ċ // Ġcluster Ġusage Ċ //////////////////////// Ċ Ċ data Ġclass ĠCluster Disk Usage ( ĊĠĠĠ Ġval Ġcombined : ĠBroker Disk , ĊĠĠĠ Ġval Ġbroker Usage s : ĠMap < Broker Id , ĠBroker Disk >, Ċ ) Ċ Ċ data Ġclass ĠBroker Disk ( ĊĠĠĠ Ġval Ġusage : ĠBroker Disk Usage , ĊĠĠĠ Ġval Ġportions : ĠBroker Disk Port ions , Ċ ) Ċ Ċ data Ġclass ĠBroker Disk Usage ( ĊĠĠĠ Ġval Ġreplicas Count : ĠInt ?, ĊĠĠĠ Ġval Ġtotal Used Bytes : ĠLong ?, ĊĠĠĠ Ġval Ġbounded Replicas Count : ĠInt , ĊĠĠĠ Ġval Ġbounded Size Possible Used Bytes : ĠLong , ĊĠĠĠ Ġval Ġun bounded Replicas Count : ĠInt , ĊĠĠĠ Ġval Ġun bounded Size Used Bytes : ĠLong , ĊĠĠĠ Ġval Ġorphan ed Replicas Count : ĠInt , ĊĠĠĠ Ġval Ġorphan ed Replicas Size Used Bytes : ĠLong , ĊĠĠĠ Ġval Ġtotal Capacity Bytes : ĠLong ?, ĊĠĠĠ Ġval Ġfree Capacity Bytes : ĠLong ?, Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠZERO Ġ= ĠBroker Disk Usage ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , Ġ 0 L , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , Ġ 0 L , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , Ġ 0 L , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , Ġ 0 L , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 L , Ġ 0 L , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠBroker Disk Port ions ( ĊĠĠĠ Ġval Ġused Percent Of Capacity : ĠDouble ?, ĊĠĠĠ Ġval Ġusage Level : ĠUsage Level , ĊĠĠĠ Ġval Ġpossible Used Percent Of Capacity : ĠDouble ?, ĊĠĠĠ Ġval Ġpossible Usage Level : ĠUsage Level , ĊĠĠĠ Ġval Ġun bounded Used Percent Of Total Used : ĠDouble ?, Ċ ) Ċ Ċ operator Ġfun ĠBroker Disk Usage . plus ( other : ĠBroker Disk Usage ) Ġ= ĠBroker Disk Usage ( ĊĠĠĠ Ġreplicas Count Ġ= Ġreplicas Count Ġplus Nullable Ġother . replicas Count , ĊĠĠĠ Ġtotal Used Bytes Ġ= Ġtotal Used Bytes Ġplus Nullable Ġother . total Used Bytes , ĊĠĠĠ Ġbounded Replicas Count Ġ= Ġbounded Replicas Count Ġ+ Ġother . bounded Replicas Count , ĊĠĠĠ Ġbounded Size Possible Used Bytes Ġ= Ġbounded Size Possible Used Bytes Ġ+ Ġother . bounded Size Possible Used Bytes , ĊĠĠĠ Ġun bounded Replicas Count Ġ= Ġun bounded Replicas Count Ġ+ Ġother . un bounded Replicas Count , ĊĠĠĠ Ġun bounded Size Used Bytes Ġ= Ġun bounded Size Used Bytes Ġ+ Ġother . un bounded Size Used Bytes , ĊĠĠĠ Ġorphan ed Replicas Count Ġ= Ġorphan ed Replicas Count Ġ+ Ġother . orphan ed Replicas Count , ĊĠĠĠ Ġorphan ed Replicas Size Used Bytes Ġ= Ġorphan ed Replicas Size Used Bytes Ġ+ Ġother . orphan ed Replicas Size Used Bytes , ĊĠĠĠ Ġtotal Capacity Bytes Ġ= Ġtotal Capacity Bytes Ġplus Nullable Ġother . total Capacity Bytes , ĊĠĠĠ Ġfree Capacity Bytes Ġ= Ġfree Capacity Bytes Ġplus Nullable Ġother . free Capacity Bytes , Ċ ) ĊĊ Ċ //////////////////////// Ċ // Ġtopic Ġusage Ċ //////////////////////// Ċ Ċ data Ġclass ĠDisk Usage ( ĊĠĠĠ Ġval Ġreplicas Count : ĠInt , ĊĠĠĠ Ġval Ġorphan ed Replicas Count : ĠInt , ĊĠĠĠ Ġval Ġactual Used Bytes : ĠLong ?, ĊĠĠĠ Ġval Ġexpected Usage Bytes : ĠLong ?, ĊĠĠĠ Ġval Ġretention Bounded Bytes : ĠLong ?, ĊĠĠĠ Ġval Ġretention Bounded Broker Total Bytes : ĠLong ?, ĊĠĠĠ Ġval Ġretention Bounded Broker Possible Bytes : ĠLong ?, Ċ ) Ċ Ċ data Ġclass ĠUsage Port ions ( ĊĠĠĠ Ġval Ġreplicas Percent : ĠDouble ?, ĊĠĠĠ Ġval Ġorphan ed Replicas Percent : ĠDouble , ĊĠĠĠ Ġval Ġactual Used Bytes Percent Of Broker Total : ĠDouble ?, ĊĠĠĠ Ġval Ġactual Used Bytes Percent Of Broker Capacity : ĠDouble ?, ĊĠĠĠ Ġval Ġactual Used Bytes Percent Of Expected : ĠDouble ?, ĊĠĠĠ Ġval Ġretention Bounded Bytes Percent Of Broker Total : ĠDouble ?, ĊĠĠĠ Ġval Ġretention Bounded Bytes Percent Of Broker Capacity : ĠDouble ?, ĊĠĠĠ Ġval Ġretention Bounded Bytes Percent Of Expected : ĠDouble ?, ĊĠĠĠ Ġval Ġretention Bounded Broker Total Bytes Percent Of Capacity : ĠDouble ?, ĊĠĠĠ Ġval Ġretention Bounded Broker Possible Bytes Percent Of Capacity : ĠDouble ?, ĊĠĠĠ Ġval Ġpossible Cluster Usage Level : ĠUsage Level , ĊĠĠĠ Ġval Ġtotal Possible Cluster Usage Level : ĠUsage Level , Ċ ) Ċ Ċ operator Ġfun ĠDisk Usage . plus ( other : ĠDisk Usage ) Ġ= ĠDisk Usage ( ĊĠĠĠ Ġreplicas Count Ġ= Ġreplicas Count Ġ+ Ġother . replicas Count , ĊĠĠĠ Ġorphan ed Replicas Count Ġ= Ġorphan ed Replicas Count Ġ+ Ġother . orphan ed Replicas Count , ĊĠĠĠ Ġactual Used Bytes Ġ= Ġactual Used Bytes Ġplus Nullable Ġother . actual Used Bytes , ĊĠĠĠ Ġexpected Usage Bytes Ġ= Ġexpected Usage Bytes Ġplus Nullable Ġother . expected Usage Bytes , ĊĠĠĠ Ġretention Bounded Bytes Ġ= Ġretention Bounded Bytes Ġplus Nullable Ġother . retention Bounded Bytes , ĊĠĠĠ Ġretention Bounded Broker Total Bytes Ġ= Ġretention Bounded Broker Total Bytes Ġplus Nullable Ġother . retention Bounded Broker Total Bytes , ĊĠĠĠ Ġretention Bounded Broker Possible Bytes Ġ= Ġretention Bounded Broker Possible Bytes Ġplus Nullable Ġother . retention Bounded Broker Possible Bytes , Ċ ) Ċ Ċ data Ġclass ĠTopic Disk Usage ( ĊĠĠĠ Ġval Ġun bounded Size Retention : ĠBoolean , ĊĠĠĠ Ġval Ġconfigured Replica Retention Bytes : ĠLong , ĊĠĠĠ Ġval Ġcombined : ĠDisk Usage , ĊĠĠĠ Ġval Ġcombined Port ions : ĠUsage Port ions , ĊĠĠĠ Ġval Ġbroker Usage s : ĠMap < Broker Id , ĠDisk Usage >, ĊĠĠĠ Ġval Ġbroker Port ions : ĠMap < Broker Id , ĠUsage Port ions >, ĊĠĠĠ Ġval Ġcluster Disk Usage : ĠCluster Disk Usage , Ċ ) ĊĊ