@@ -72,10 +72,12 @@ def response_hook(span, request_obj, response)
72
72
---
73
73
"""
74
74
75
+ from __future__ import annotations
76
+
75
77
import functools
76
78
import types
77
79
from timeit import default_timer
78
- from typing import Callable , Collection , Optional
80
+ from typing import Any , Callable , Collection , Optional
79
81
from urllib .parse import urlparse
80
82
81
83
from requests .models import PreparedRequest , Response
@@ -146,7 +148,7 @@ def _instrument(
146
148
duration_histogram_new : Histogram ,
147
149
request_hook : _RequestHookT = None ,
148
150
response_hook : _ResponseHookT = None ,
149
- excluded_urls : ExcludeList = None ,
151
+ excluded_urls : ExcludeList | None = None ,
150
152
sem_conv_opt_in_mode : _StabilityMode = _StabilityMode .DEFAULT ,
151
153
):
152
154
"""Enables tracing of all requests calls that go through
@@ -164,7 +166,9 @@ def _instrument(
164
166
165
167
# pylint: disable-msg=too-many-locals,too-many-branches
166
168
@functools .wraps (wrapped_send )
167
- def instrumented_send (self , request , ** kwargs ):
169
+ def instrumented_send (
170
+ self : Session , request : PreparedRequest , ** kwargs : Any
171
+ ):
168
172
if excluded_urls and excluded_urls .url_disabled (request .url ):
169
173
return wrapped_send (self , request , ** kwargs )
170
174
@@ -345,7 +349,7 @@ def _uninstrument():
345
349
_uninstrument_from (Session )
346
350
347
351
348
- def _uninstrument_from (instr_root , restore_as_bound_func = False ):
352
+ def _uninstrument_from (instr_root , restore_as_bound_func : bool = False ):
349
353
for instr_func_name in ("request" , "send" ):
350
354
instr_func = getattr (instr_root , instr_func_name )
351
355
if not getattr (
@@ -361,7 +365,7 @@ def _uninstrument_from(instr_root, restore_as_bound_func=False):
361
365
setattr (instr_root , instr_func_name , original )
362
366
363
367
364
- def get_default_span_name (method ) :
368
+ def get_default_span_name (method : str ) -> str :
365
369
"""
366
370
Default implementation for name_callback, returns HTTP {method_name}.
367
371
https://opentelemetry.io/docs/reference/specification/trace/semantic_conventions/http/#name
@@ -385,7 +389,7 @@ class RequestsInstrumentor(BaseInstrumentor):
385
389
def instrumentation_dependencies (self ) -> Collection [str ]:
386
390
return _instruments
387
391
388
- def _instrument (self , ** kwargs ):
392
+ def _instrument (self , ** kwargs : Any ):
389
393
"""Instruments requests module
390
394
391
395
Args:
@@ -443,10 +447,10 @@ def _instrument(self, **kwargs):
443
447
sem_conv_opt_in_mode = semconv_opt_in_mode ,
444
448
)
445
449
446
- def _uninstrument (self , ** kwargs ):
450
+ def _uninstrument (self , ** kwargs : Any ):
447
451
_uninstrument ()
448
452
449
453
@staticmethod
450
- def uninstrument_session (session ):
454
+ def uninstrument_session (session : Session ):
451
455
"""Disables instrumentation on the session object."""
452
456
_uninstrument_from (session , restore_as_bound_func = True )
0 commit comments