package Ġtech . k zen . auto . common . objects . document . report . progress Ċ Ċ import Ġtech . k zen . auto . common . util . Format Utils ĊĊ Ċ data Ġclass ĠReport File Progress ( ĊĠĠĠ Ġval Ġrunning : ĠBoolean , ĊĠĠĠ Ġval Ġfinished : ĠBoolean , ĊĠĠĠ Ġval Ġduration Millis : ĠLong , ĊĠĠĠ Ġval Ġrecords : ĠLong , ĊĠĠĠ Ġval Ġread Bytes : ĠLong , ĊĠĠĠ Ġval Ġun compressed Bytes : ĠLong , ĊĠĠĠ Ġval Ġrecent Bytes PerSecond : ĠLong , ĊĠĠĠ Ġval Ġrecent Records PerSecond : ĠLong Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval Ġrunning Key : ĠString Ġ= Ġ" running " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval Ġfinished Key : ĠString Ġ= Ġ" finished " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval Ġduration Millis Key : ĠString Ġ= Ġ" duration " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval Ġrecords Key : ĠString Ġ= Ġ" records " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval Ġread Bytes Key : ĠString Ġ= Ġ" read " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval Ġun compressed Bytes Key : ĠString Ġ= Ġ" un compressed " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval Ġrecent Bytes PerSecond Key : ĠString Ġ= Ġ" speed Bytes " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval Ġrecent Records PerSecond Key : ĠString Ġ= Ġ" speed Records " ĊĊĊĠĠĠĠĠĠĠ Ġfun Ġfrom Collection ( collection : ĠMap < String , ĠAny >): ĠReport File Progress Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠReport File Progress ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcollection [ running Key ] Ġas ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcollection [ finished Key ] Ġas ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( collection [ duration Millis Key ] Ġas ĠString ). to Long (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( collection [ records Key ] Ġas ĠString ). to Long (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( collection [ read Bytes Key ] Ġas ĠString ). to Long (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( collection [ un compressed Bytes Key ] Ġas ĠString ). to Long (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( collection [ recent Bytes PerSecond Key ] Ġas ĠString ). to Long (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( collection [ recent Records PerSecond Key ] Ġas ĠString ). to Long () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġto Collection (): ĠMap < String , ĠAny > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrunning Key Ġto Ġrunning , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinished Key Ġto Ġfinished , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġduration Millis Key Ġto Ġduration Millis . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecords Key Ġto Ġrecords . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġread Bytes Key Ġto Ġread Bytes . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġun compressed Bytes Key Ġto Ġun compressed Bytes . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecent Bytes PerSecond Key Ġto Ġrecent Bytes PerSecond . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecent Records PerSecond Key Ġto Ġrecent Records PerSecond . toString () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġto Message ( total Size : ĠLong ): ĠString Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġif Ġ(! Ġrunning Ġ&& Ġ! Ġfinished ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ"" Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġrecords Format Ġ= ĠFormat Utils . decimal Separator ( records ) ĊĊĠĠĠĠĠĠĠ Ġval Ġread Format Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( read Bytes Ġ!= Ġun compressed Bytes ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFormat Utils . readable FileSize ( un compressed Bytes ) Ġ+ Ġ" Ġun compressed " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFormat Utils . readable FileSize ( read Bytes ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġadjusted Duration Millis Ġ= Ġduration Millis . coerce At Least ( 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġduration Seconds Ġ= Ġadjusted Duration Millis Ġ/ Ġ 1 0 0 0 ĊĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinished Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoverall Records Speed Ġ= ĠFormat Utils . decimal Separator ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 0 0 L Ġ* Ġrecords Ġ/ Ġadjusted Duration Millis ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoverall Data Speed Ġ= ĠFormat Utils . readable FileSize ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 0 0 L Ġ* Ġun compressed Bytes Ġ/ Ġadjusted Duration Millis ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Done : Ġ$ records Format Ġrecords Ġ(${ read Format }) Ġtook Ġ${ duration Seconds } s Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" at Ġ$ overall Records Speed / s Ġ($ overall Data Speed / s )" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpercent Ġ= Ġ(( read Bytes . toDouble () Ġ/ Ġtotal Size . coerce At Least ( 1 )) Ġ* Ġ 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpercent Format Ġ= Ġpercent . toInt (). toString () Ġ+ Ġ"." Ġ+ Ġ( percent Ġ* Ġ 1 0 Ġ% Ġ 1 0 ). toInt () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecent Records Speed Ġ= ĠFormat Utils . decimal Separator ( recent Records PerSecond ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecent Data Speed Ġ= ĠFormat Utils . readable FileSize ( recent Bytes PerSecond ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ percent Format % : Ġ$ records Format Ġrecords Ġ(${ read Format }) Ġfor Ġ${ duration Seconds } s Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" at Ġ$ recent Records Speed / s Ġ($ recent Data Speed / s )" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }