, g a u g e s , h i s t o g r a m s 에 대한 공통적인 인터페이스를 제공 e x p v a r , s t a t s d , p r o m e t h e u s 에 대한 어댑터 제공 r e q u e s t s : = m e t r i c s . N e w M u l t i C o u n t e r ( e x p v a r . N e w C o u n t e r ( " r e q u e s t s " ) , s t a t s d . N e w C o u n t e r ( i o u t i l . D i s c a r d , " r e q u e s t s _ t o t a l " , t i m e . S e c o n d ) , p r o m e t h e u s . N e w C o u n t e r ( s t d p r o m e t h e u s . C o u n t e r O p t s { N a m e s p a c e : " a d d s v c " , S u b s y s t e m : " a d d " , N a m e : " r e q u e s t s _ t o t a l " , H e l p : " T o t a l n u m b e r o f r e c e i v e d r e q u e s t s . " , } , [ ] s t r i n g { } ) , ) f u n c m e t r i c ( r e q u e s t s m e t r i c s . C o u n t e r ) e n d p o i n t . M i d d l e w a r e { r e t u r n f u n c ( n e x t e n d p o i n t . E n d p o i n t ) e n d p o i n t . E n d p o i n t { r e t u r n f u n c ( c t x c o n t e x t . C o n t e x t , r e q u e s t i n t e r f a c e { } ) ( i n t e r f a c e { } , e r r o r ) { r e q u e s t s . A d d ( 1 ) r e t u r n n e x t ( c t x , r e q u e s t ) } } }