in aidial_sdk/header_propagator.py [0:0]
def _instrument_aiohttp(self):
try:
import aiohttp
except ImportError:
return
async def _on_request_start(
session: aiohttp.ClientSession,
trace_config_ctx: types.SimpleNamespace,
params: aiohttp.TraceRequestStartParams,
):
self._modify_headers(str(params.url), params.headers)
def instrumented_init(wrapped, instance, args, kwargs):
trace_config = aiohttp.TraceConfig()
trace_config.on_request_start.append(_on_request_start)
trace_configs = list(kwargs.get("trace_configs") or [])
trace_configs.append(trace_config)
kwargs["trace_configs"] = trace_configs
return wrapped(*args, **kwargs)
wrapt.wrap_function_wrapper(
aiohttp.ClientSession, "__init__", instrumented_init
)