package Ġcom . mal in sk iy . mar athon . analytics Ċ Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . mal in sk iy . mar athon . analytics . external . graph ite . Basic Graph ite Client Ċ import Ġcom . mal in sk iy . mar athon . analytics . external . graph ite . Graph ite Tracker Ċ import Ġcom . mal in sk iy . mar athon . analytics . external . influx . In flux Db Provider Ċ import Ġcom . mal in sk iy . mar athon . analytics . external . influx . In flux Db Tracker Ċ import Ġcom . mal in sk iy . mar athon . analytics . external . influx 2 . In flux Db 2 Provider Ċ import Ġcom . mal in sk iy . mar athon . analytics . external . influx 2 . In flux Db 2 Tracker Ċ import Ġcom . mal in sk iy . mar athon . analytics . internal . pub . Track Ċ import Ġcom . mal in sk iy . mar athon . analytics . internal . sub . Delegating Tracker Internal Ċ import Ġcom . mal in sk iy . mar athon . analytics . internal . sub . Execution Report Generator Ċ import Ġcom . mal in sk iy . mar athon . analytics . internal . sub . Tracker Internal Ċ import Ġcom . mal in sk iy . mar athon . config . Analytics Configuration . Graph ite Configuration Ċ import Ġcom . mal in sk iy . mar athon . config . Analytics Configuration . In flux Db 2 Configuration Ċ import Ġcom . mal in sk iy . mar athon . config . Analytics Configuration . In flux Db Configuration Ċ import Ġcom . mal in sk iy . mar athon . config . Configuration Ċ import Ġcom . mal in sk iy . mar athon . io . FileManager Ċ import Ġcom . mal in sk iy . mar athon . log . Mar athon Logging Ċ import Ġcom . mal in sk iy . mar athon . report . all ure . All ure Reporter Ċ import Ġcom . mal in sk iy . mar athon . report . device . DeviceInfo Json Reporter Ċ import Ġcom . mal in sk iy . mar athon . report . html . Html Summary Reporter Ċ import Ġcom . mal in sk iy . mar athon . report . junit . JUnit Reporter Ċ import Ġcom . mal in sk iy . mar athon . report . raw . Raw Json Reporter Ċ import Ġcom . mal in sk iy . mar athon . report . stdout . Stdout Reporter Ċ import Ġcom . mal in sk iy . mar athon . report . test . Test Json Reporter Ċ import Ġcom . mal in sk iy . mar athon . report . timeline . Timeline Reporter Ċ import Ġcom . mal in sk iy . mar athon . report . timeline . Timeline Summary Provider Ċ import Ġcom . mal in sk iy . mar athon . time . Timer Ċ import Ġjava . io . File Ċ Ċ internal Ġclass ĠTracker Factory ( ĊĠĠĠ Ġprivate Ġval Ġconfiguration : ĠConfiguration , ĊĠĠĠ Ġprivate Ġval Ġfile Manager : ĠFile Manager , ĊĠĠĠ Ġprivate Ġval Ġgson : ĠGson , ĊĠĠĠ Ġprivate Ġval Ġtimer : ĠTimer , ĊĠĠĠ Ġprivate Ġval Ġtrack : ĠTrack Ċ ) Ġ{ ĊĊĠĠĠ Ġval Ġlog Ġ= ĠMar athon Logging . logger (" Tracker Factory ") ĊĊĠĠĠ Ġfun Ġcreate (): ĠTracker Internal Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdefault Track ers Ġ= Ġmutable ListOf < Tracker Internal >( create Execution Report Generator ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġanalytics Configuration Ġ= Ġconfiguration . analytics Configuration ĊĠĠĠĠĠĠĠ Ġval Ġanalytics Tracker Ġ= Ġwhen Ġ( analytics Configuration ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠIn flux Db Configuration Ġ-> Ġcreate In flux Db Tracker ( analytics Configuration ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠIn flux Db 2 Configuration Ġ-> Ġcreate In flux Db 2 Tracker ( analytics Configuration ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠGraph ite Configuration Ġ-> Ġcreate Graph ite Tracker ( analytics Configuration ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( analytics Tracker Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Track ers . add ( analytics Tracker ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġdeleg ating Tracker Internal Ġ= ĠDeleg ating Tracker Internal ( default Track ers ) ĊĠĠĠĠĠĠĠ Ġval Ġmapping Tracker Ġ= ĠMapping Tracker ( deleg ating Tracker Internal ) ĊĠĠĠĠĠĠĠ Ġtrack . add ( mapping Tracker ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġdeleg ating Tracker Internal ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate In flux Db Tracker ( config : ĠIn flux Db Configuration ): ĠIn flux Db Tracker ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIn flux Db Provider ( config ). create Db () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . warn ( e ) Ġ{ Ġ" Failed Ġto Ġreach ĠIn flux DB Ġat Ġ${ config . url }" Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġdb ?. let Ġ{ ĠIn flux Db Tracker ( it , Ġconfig . dbName , Ġconfig . retention Policy Configuration . name ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate In flux Db 2 Tracker ( config : ĠIn flux Db 2 Configuration ): ĠIn flux Db 2 Tracker ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIn flux Db 2 Provider ( config ). create Db () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . warn ( e ) Ġ{ Ġ" Failed Ġto Ġreach ĠIn flux DB Ġat Ġ${ config . url }" Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġdb ?. let Ġ{ ĠIn flux Db 2 Tracker ( it ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Graph ite Tracker ( config : ĠGraph ite Configuration ): ĠGraph ite Tracker Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠGraph ite Tracker ( Basic Graph ite Client ( config . host , Ġconfig . port Ġ?: Ġ 2 0 0 3 , Ġconfig . prefix )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Execution Report Generator (): ĠExecution Report Generator Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠExecution Report Generator ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDevice Info Json Reporter ( file Manager , Ġgson ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJ Unit Reporter ( configuration . output Dir ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTimeline Reporter ( Timeline Summary Provider (), Ġgson , Ġconfiguration . output Dir ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRaw Json Reporter ( file Manager , Ġgson ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Json Reporter ( file Manager , Ġgson ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAll ure Reporter ( configuration , ĠFile ( configuration . output Dir , Ġ" all ure - results ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHtml Summary Reporter ( gson , Ġfile Manager , Ġconfiguration . output Dir , Ġconfiguration ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStd out Reporter ( timer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ