package Ġcom . av ito . performance Ċ Ċ import Ġcom . av ito . android . stats . Count Metric Ċ import Ġcom . av ito . android . stats . Stats DS ender Ċ import Ġcom . av ito . android . stats . Time Metric Ċ import Ġcom . av ito . bitbucket . Bit bucket Ċ import Ġcom . av ito . performance . stats . comparison . Comp ared Test Ċ Ċ internal Ġinterface ĠPerformance Metric Sender Ġ{ ĊĊĠĠĠ Ġfun Ġtrack Comparison ( key : ĠString , Ġvalue : ĠLong ) ĊĊĠĠĠ Ġfun Ġtrack Sample ( key : ĠString , Ġvalue : ĠLong ) ĊĊĠĠĠ Ġfun Ġtrack Success ( key : ĠString , Ġtest : ĠComp ared Test . Comparison ) ĊĊĠĠĠ Ġfun Ġreport To Pr () ĊĊĠĠĠ Ġclass ĠImp l ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġsender : ĠStats DS ender , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġgraph ite Key : ĠString Ġ= Ġ" undefined ", ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġbit bucket : ĠBit bucket , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġslack Sender : ĠSlack Sender ĊĠĠĠ Ġ) Ġ: ĠPerformance Metric Sender Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġprefix Ġ= Ġ" ci . performance . fps - metrics " ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġtrack Comparison ( key : ĠString , Ġvalue : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsender . send ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ prefix . comparison ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTime Metric ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġtrack Success ( key : ĠString , Ġtest : ĠComp ared Test . Comparison ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( test . failed ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this @ with . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender . send ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ prefix . result . success ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCount Metric ( key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender . send ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ prefix . result . failure ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCount Metric ( key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreport ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ("* $ key * Ġhas Ġfailed . Ġ\ n "). apply Ġ{ Ġadd All ( build Message ( this @ with )) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠATT ACH MENT _ COLOR _ RED ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest . per formed M uch Better Than Us ual () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. take If Ġ{ Ġit . isNotEmpty () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreport ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ("* $ key * Ġhas Ġperformed Ġoutstanding Ġresults . Ġ\ n "). apply Ġ{ Ġadd All ( build Message ( it )) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠATT ACH MENT _ COLOR _ GREEN ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġtrack Sample ( key : ĠString , Ġvalue : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsender . send ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ prefix .$ graph ite Key ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTime Metric ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġreport To Pr () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbit bucket . create Comment With Task ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġ" ÐĴ Ð¾Ð· Ð¼Ð¾Ð¶ Ð½Ð¾ ĠÑĤ Ð² Ð¾ Ð¸ ĠÐ¸Ð· Ð¼ÐµÐ½ ÐµÐ½Ð¸Ñı ĠÐ¿ÑĢ Ð¾Ñģ Ð°Ð´ Ð¸Ð»Ð¸ ĠÐ¿ÐµÑĢ ÑĦÐ¾ÑĢÐ¼ Ð°Ð½ Ñģ . ĠÐ¡ Ð¼ . ĠÐ² Ðº Ð» Ð°Ð´ ÐºÑĥ ĠAv ito ĠPerformance ĠReport ĠÐ² ĠTC ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtask Ġ= Ġ" Ðł Ð°Ð· Ð¾Ð± ÑĢ Ð°ÑĤÑĮÑģÑı , ĠÐµÑģÐ»Ð¸ ĠÐµ ÑģÑĤÑĮ ĠÑģ Ð¾Ð¼ Ð½ ÐµÐ½Ð¸Ñı , ĠÐ½Ð°Ð¿ Ð¸Ñģ Ð°ÑĤÑĮ Ġ@ may ud in " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġbuild Message ( series : ĠMap < String , ĠComp ared Test . Series >): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġseries . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Series : Ġ*" Ġ+ Ġit . key Ġ+ Ġ"* Ġ" Ġ+ Ġ" :\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"* sign ific ance * :\ t ${ it . value . sign ific ance }\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"* p - value * :\ t ${ it . value . p Value }\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"* current Sample Is * :\ t ${ it . value . current Sample Is }\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"* statistic * :\ t ${ it . value . statistic }\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"* threshold * :\ t ${ it . value . threshold }\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"* mean Diff ( current - previous )* :\ t ${ it . value . mean Diff }\ n " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġreport ( messages : ĠList < String >, Ġcolor : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslack Sender . send To Slack ( messages , Ġcolor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsender . send ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ prefix . pr - notification - sent ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCount Metric (" failure ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġconst Ġval ĠATT ACH MENT _ COLOR _ RED Ġ= Ġ" A 3 0 2 0 0 " Ċ internal Ġconst Ġval ĠATT ACH MENT _ COLOR _ GREEN Ġ= Ġ" 0 0 a 2 3 0 " Ċ