package Ġtech . gl ar . hello k 8 s . metrics Ċ Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . beans . factory . annotation . Value Ċ import Ġorg . springframework . web . bind . annotation . GetMapping Ċ import Ġorg . springframework . web . bind . annotation . RestController Ċ import Ġtech . gl ar . hello k 8 s . logs . Log Service Ċ import Ġjava . util . Calendar ĊĊ Ċ @ RestController Ċ class ĠMetrics Controller Ġ{ ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġlateinit Ġvar Ġlog Service : ĠLog Service ĊĊĠĠĠ Ġ// Ġdefault Ġvalue Ġis Ġset , Ġbut Ġdeclared Ġvalue Ġin Ġapplication . properties Ġis Ġinjected ĊĠĠĠ Ġ@ Value ("\ ${ metrics . aver aging period }") ĊĠĠĠ Ġval Ġaver aging Period : ĠDouble Ġ= Ġ 6 0 . 0 ĊĊĠĠĠ Ġ@ GetMapping ("/ metrics ", Ġproduces Ġ= Ġ[" text / plain "]) ĊĠĠĠ Ġfun Ġmetrics (): ĠString Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġcalendar Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠ Ġcalendar . add ( Calendar . SECOND , Ġ- Ġaver aging Period . toInt () Ġ) ĊĠĠĠĠĠĠĠ Ġval ĠstartTime Ġ= Ġcalendar . time ĊĊĠĠĠĠĠĠĠ Ġval Ġrate Ġ= Ġlog Service . getRequest Count ( startTime ). div ( aver aging Period ) ĊĠĠĠĠĠĠĠ Ġreturn Ġ""" # ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| request _ per _ second Ġ$ rate ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| aver aging _ period Ġ$ aver aging Period ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| # ĊĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠ Ġ} Ċ }