package Ġdev . o ht ake . example Ċ Ċ import Ġdev . o ht ake . ktor . metrics _ ext . Pro metheus Exporter Server Ċ import Ġio . ktor . application .* Ċ import Ġio . ktor . features .* Ċ import Ġio . ktor . http .* Ċ import Ġio . ktor . locations .* Ċ import Ġio . ktor . metrics . micro meter .* Ċ import Ġio . ktor . request .* Ċ import Ġio . ktor . response .* Ċ import Ġio . ktor . routing .* Ċ import Ġio . ktor . server . netty .* Ċ import Ġio . micro meter . core . instrument . binder . jvm . Jvm Gc Metrics Ċ import Ġio . micro meter . core . instrument . binder . jvm . Jvm Memory Metrics Ċ import Ġio . micro meter . core . instrument . binder . jvm . Jvm Thread Metrics Ċ import Ġio . micro meter . core . instrument . binder . system . Processor Metrics Ċ import Ġio . micro meter . core . instrument . distribution . Distribution Statistic Config Ċ import Ġio . micro meter . prometheus . Pro metheus Config Ċ import Ġio . micro meter . prometheus . Pro metheus Meter Registry Ċ import Ġorg . slf 4 j . event . Level Ċ Ċ fun Ġmain ( args : ĠArray < String >): ĠUnit Ġ= ĠEngine Main . main ( args ) Ċ Ċ @ Opt In ( K tor Experimental Locations API :: class ) Ċ @ Suppress (" unused ", Ġ" UNUSED _ PARAMETER ") Ċ @ kotlin . jvm . Jvm Over loads Ċ fun ĠApplication . module ( testing : ĠBoolean Ġ= Ġfalse ) Ġ{ ĊĊĠĠĠ Ġinstall ( Locations ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinstall ( Call Logging ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlevel Ġ= ĠLevel . INFO ĊĠĠĠĠĠĠĠ Ġfilter Ġ{ Ġcall Ġ-> Ġcall . request . path (). startsWith ("/") Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġprometheus Ġ= ĠPrometheus Meter Registry ( Pro metheus Config . DEFAULT ) ĊĊĠĠĠ Ġinstall ( Micro meter Metrics ) Ġ{ ĊĠĠĠĠĠĠĠ Ġregistry Ġ= Ġprometheus ĊĠĠĠĠĠĠĠ Ġdistribution Statistic Config Ġ= ĠDistribution Statistic Config . DEFAULT ĊĠĠĠĠĠĠĠ Ġmeter Bind ers Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJ vm Memory Metrics (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJ vm Gc Metrics (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠProcessor Metrics (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJ vm Thread Metrics () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinstall ( Pro metheus Exporter Server ) Ġ{ ĊĠĠĠĠĠĠĠ Ġregistry Ġ= Ġprometheus ĊĠĠĠĠĠĠĠ Ġrun Server Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġrouting Ġ{ ĊĠĠĠĠĠĠĠ Ġget ("/") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcall . respond Text (" HEL LO ĠW ORLD !", ĠcontentType Ġ= ĠContentType . Text . Plain ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ