File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 5454R = TypeVar ("R" )
5555
5656
57- class HasClock (Protocol ):
57+ class HasClockAndMetricsManager (Protocol ):
58+ # Used to measure functions
5859 clock : Clock
60+ # Used to namespace the metrics to the given homeserver
61+ metrics_manager : HomeserverMetricsManager
5962
6063
6164def measure_func (
@@ -81,12 +84,14 @@ async def foo(...):
8184 """
8285
8386 def wrapper (
84- func : Callable [Concatenate [HasClock , P ], Awaitable [R ]],
87+ func : Callable [Concatenate [HasClockAndMetricsManager , P ], Awaitable [R ]],
8588 ) -> Callable [P , Awaitable [R ]]:
8689 block_name = func .__name__ if name is None else name
8790
8891 @wraps (func )
89- async def measured_func (self : HasClock , * args : P .args , ** kwargs : P .kwargs ) -> R :
92+ async def measured_func (
93+ self : HasClockAndMetricsManager , * args : P .args , ** kwargs : P .kwargs
94+ ) -> R :
9095 with Measure (self .clock , self .metrics_manager , block_name ):
9196 r = await func (self , * args , ** kwargs )
9297 return r
You can’t perform that action at this time.
0 commit comments