1414    # Python 3 
1515    unicode  =  str 
1616
17- from  functools  import  wraps 
1817from  threading  import  Lock 
1918
19+ from  .decorator  import  decorate 
20+ 
2021_METRIC_NAME_RE  =  re .compile (r'^[a-zA-Z_:][a-zA-Z0-9_:]*$' )
2122_METRIC_LABEL_NAME_RE  =  re .compile (r'^[a-zA-Z_:][a-zA-Z0-9_:]*$' )
2223_RESERVED_METRIC_LABEL_NAME_RE  =  re .compile (r'^__.*$' )
@@ -657,11 +658,10 @@ def __exit__(self, typ, value, traceback):
657658        self ._histogram .observe (max (time .time () -  self ._start , 0 ))
658659
659660    def  __call__ (self , f ):
660-         @wraps (f ) 
661-         def  wrapped (* args , ** kwargs ):
661+         def  wrapped (func , * args , ** kwargs ):
662662            with  self :
663-                 return  f (* args , ** kwargs )
664-         return  wrapped 
663+                 return  func (* args , ** kwargs )
664+         return  decorate ( f ,  wrapped ) 
665665
666666
667667class  _ExceptionCounter (object ):
@@ -677,11 +677,10 @@ def __exit__(self, typ, value, traceback):
677677            self ._counter .inc ()
678678
679679    def  __call__ (self , f ):
680-         @wraps (f ) 
681-         def  wrapped (* args , ** kwargs ):
680+         def  wrapped (func , * args , ** kwargs ):
682681            with  self :
683-                 return  f (* args , ** kwargs )
684-         return  wrapped 
682+                 return  func (* args , ** kwargs )
683+         return  decorate ( f ,  wrapped ) 
685684
686685
687686class  _InprogressTracker (object ):
@@ -695,11 +694,10 @@ def __exit__(self, typ, value, traceback):
695694        self ._gauge .dec ()
696695
697696    def  __call__ (self , f ):
698-         @wraps (f ) 
699-         def  wrapped (* args , ** kwargs ):
697+         def  wrapped (func , * args , ** kwargs ):
700698            with  self :
701-                 return  f (* args , ** kwargs )
702-         return  wrapped 
699+                 return  func (* args , ** kwargs )
700+         return  decorate ( f ,  wrapped ) 
703701
704702
705703class  _SummaryTimer (object ):
@@ -714,11 +712,10 @@ def __exit__(self, typ, value, traceback):
714712        self ._summary .observe (max (time .time () -  self ._start , 0 ))
715713
716714    def  __call__ (self , f ):
717-         @wraps (f ) 
718-         def  wrapped (* args , ** kwargs ):
715+         def  wrapped (func , * args , ** kwargs ):
719716            with  self :
720-                 return  f (* args , ** kwargs )
721-         return  wrapped 
717+                 return  func (* args , ** kwargs )
718+         return  decorate ( f ,  wrapped ) 
722719
723720
724721class  _GaugeTimer (object ):
@@ -733,8 +730,7 @@ def __exit__(self, typ, value, traceback):
733730        self ._gauge .set (max (time .time () -  self ._start , 0 ))
734731
735732    def  __call__ (self , f ):
736-         @wraps (f ) 
737-         def  wrapped (* args , ** kwargs ):
733+         def  wrapped (func , * args , ** kwargs ):
738734            with  self :
739-                 return  f (* args , ** kwargs )
740-         return  wrapped 
735+                 return  func (* args , ** kwargs )
736+         return  decorate ( f ,  wrapped ) 
0 commit comments