package Ġno . nav . hel se . pro sess ering . v 1 Ċ Ċ import Ġio . prometheus . client . Counter Ċ import Ġio . prometheus . client . Histogram Ċ import Ġjava . time . LocalDate Ċ import Ġjava . time . Zone Id Ċ import Ġjava . time . temporal . Ch rono Unit Ċ import Ġkotlin . math . absolute Value Ċ Ċ private Ġval ĠZ ONE _ ID Ġ= ĠZone Id . of (" Europe / Os lo ") Ċ Ċ private Ġval Ġbar nets Al der Histogram Ġ= ĠHistogram . build () ĊĠĠĠ Ġ. buckets ( 0 . 0 , Ġ 1 . 0 , Ġ 2 . 0 , Ġ 3 . 0 , Ġ 4 . 0 , Ġ 5 . 0 , Ġ 6 . 0 , Ġ 7 . 0 , Ġ 8 . 0 , Ġ 9 . 0 , Ġ 1 0 . 0 , Ġ 1 1 . 0 , Ġ 1 2 . 0 , Ġ 1 3 . 0 , Ġ 1 4 . 0 , Ġ 1 5 . 0 , Ġ 1 6 . 0 , Ġ 1 7 . 0 , Ġ 1 8 . 0 ) ĊĠĠĠ Ġ. name (" bar nets _ al der _ histogram ") ĊĠĠĠ Ġ. help (" Al der en ĠpÃ¥ Ġbar net Ġdet Ġs Ã¸ kes Ġfor ") ĊĠĠĠ Ġ. register () Ċ Ċ private Ġval Ġja Ne i Counter Ġ= ĠCounter . build () ĊĠĠĠ Ġ. name (" ja _ ne i _ counter ") ĊĠĠĠ Ġ. help (" T eller Ġfor Ġs var ĠpÃ¥ Ġja / ne i Ġsp Ã¸ r sm Ã¥ l Ġi Ġs Ã¸ kn aden ") ĊĠĠĠ Ġ. label Names (" sp m ", Ġ" s var ") ĊĠĠĠ Ġ. register () Ċ Ċ private Ġval Ġbar nets Al der IU ker Counter Ġ= ĠCounter . build () ĊĠĠĠ Ġ. name (" bar nets _ al der _ i _ uk er ") ĊĠĠĠ Ġ. help (" T eller Ġfor Ġb arn Ġunder Ġ 1 ĠÃ¥ r , Ġh vor Ġm ange Ġu ker Ġde Ġer .") ĊĠĠĠ Ġ. label Names (" uk er ") ĊĠĠĠ Ġ. register () Ċ Ċ private Ġval Ġsam me Ad re se Counter Ġ= ĠCounter . build () ĊĠĠĠ Ġ. name (" sam me _ ad resse _ counter ") ĊĠĠĠ Ġ. help (" T eller Ġfor Ġant all Ġs Ã¸ k ere Ġsom Ġik ke Ġhar Ġsam me Ġfol k ere gister ert Ġad resse Ġsom Ġbar net .") ĊĠĠĠ Ġ. label Names (" sp m ", Ġ" s var ") ĊĠĠĠ Ġ. register () Ċ Ċ private Ġval Ġs Ã¸ kers Rel as jon Til Bar net Counter Ġ= ĠCounter . build () ĊĠĠĠ Ġ. name (" sok ers _ rel as jon _ til _ bar net _ counter ") ĊĠĠĠ Ġ. help (" T eller Ġfor Ġs Ã¸ kers Ġrel as jon Ġtil Ġbar net .") ĊĠĠĠ Ġ. label Names (" rel as jon ") ĊĠĠĠ Ġ. register () Ċ Ċ private Ġval Ġrel as jon P Ã¥ Sam me Ad resse Ġ= ĠCounter . build () ĊĠĠĠ Ġ. name (" rel as jon _ p aa _ sam me _ ad resse ") ĊĠĠĠ Ġ. help (" T eller Ġfor Ġs Ã¸ k ere Ġmed Ġrel as jon ĠpÃ¥ Ġsam me Ġad resse Ġsom Ġbar net .") ĊĠĠĠ Ġ. label Names (" rel as jon ", Ġ" sam me Ad resse ") ĊĠĠĠ Ġ. register () Ċ Ċ internal Ġfun ĠPre pro se ssert Mel ding V 1 . report Metrics () Ġ{ ĊĠĠĠ Ġval Ġbar nets F od sel sd ato Ġ= Ġb arn . f Ã¸ d sel sd ato ĊĠĠĠ Ġif Ġ( bar nets F od sel sd ato Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbar nets Al der Ġ= Ġbar nets F od sel sd ato . aar S iden () ĊĠĠĠĠĠĠĠ Ġbar nets Al der Histogram . observe ( bar nets Al der ) ĊĠĠĠĠĠĠĠ Ġif Ġ( bar nets Al der . er Under E tt A ar ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbar nets Al der IU ker Counter . labels ( bar nets F od sel sd ato . uk er S iden ()). inc () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( rel as jon Til Bar net Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġs Ã¸ kers Rel as jon Til Bar net Counter . labels ( rel as jon Til Bar net . ut sk r ifts ven nl ig ). inc () ĊĠĠĠĠĠĠĠ Ġrel as jon P Ã¥ Sam me Ad resse . labels ( rel as jon Til Bar net . ut sk r ifts ven nl ig , Ġsam me Ad resse . til Ja E ller Ne i ()). inc () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsam me Ad re se Counter . labels (" sam me Ad resse ", Ġsam me Ad resse . til Ja E ller Ne i ()). inc () Ċ } Ċ Ċ internal Ġfun ĠDouble . er Under E tt A ar () Ġ= Ġ 0 . 0 Ġ== Ġthis Ċ Ċ internal Ġfun ĠB arn . f od se ld ato (): ĠLocalDate ? Ġ{ ĊĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdag Ġ= Ġn ors k Ident ifik ator . substring ( 0 , Ġ 2 ). toInt () ĊĠĠĠĠĠĠĠ Ġval Ġman ed Ġ= Ġn ors k Ident ifik ator . substring ( 2 , Ġ 4 ). toInt () ĊĠĠĠĠĠĠĠ Ġval Ġar Ġ= Ġ" 2 0 ${ n ors k Ident ifik ator . substring ( 4 , Ġ 6 )} ". toInt () ĊĠĠĠĠĠĠĠ ĠLocalDate . of ( ar , Ġman ed , Ġdag ) ĊĠĠĠ Ġ} Ġcatch Ġ( cause : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġfun ĠLocalDate . aar S iden (): ĠDouble Ġ{ ĊĠĠĠ Ġval Ġal der Ġ= ĠCh rono Unit . YEAR S . between ( this , ĠLocalDate . now ( ZONE _ ID )) ĊĠĠĠ Ġif Ġ( al der Ġin Ġ- 1 8 .. - 1 ) Ġreturn Ġ 1 9 . 0 ĊĠĠĠ Ġreturn Ġal der . absolute Value . toDouble () Ċ } Ċ Ċ internal Ġfun ĠLocalDate . uk er S iden () Ġ= ĠCh rono Unit . W EE KS . between ( this , ĠLocalDate . now ( ZONE _ ID )). absolute Value . toString () Ċ private Ġfun ĠBoolean . til Ja E ller Ne i (): ĠString Ġ= Ġif Ġ( this ) Ġ" Ja " Ġelse Ġ" Ne i " Ċ