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