@@ -27,20 +27,21 @@ async def basic_publish_with_instana(
27
27
) as span :
28
28
try :
29
29
span .set_attribute ("aioamqp.exchange" , argv [0 ])
30
- return await wrapped (* argv , ** kwargs )
31
30
except Exception as exc :
32
31
span .record_exception (exc )
33
32
logger .debug (f"aioamqp basic_publish_with_instana error: { exc } " )
33
+ finally :
34
+ return await wrapped (* argv , ** kwargs )
34
35
35
36
@wrapt .patch_function_wrapper ("aioamqp.channel" , "Channel.basic_consume" )
36
- def basic_consume_with_instana (
37
+ async def basic_consume_with_instana (
37
38
wrapped : Callable [..., aioamqp .connect ],
38
39
instance : object ,
39
40
argv : Tuple [object , Tuple [object , ...]],
40
41
kwargs : Dict [str , Any ],
41
42
) -> object :
42
43
if tracing_is_off ():
43
- return wrapped (* argv , ** kwargs )
44
+ return await wrapped (* argv , ** kwargs )
44
45
45
46
callback = argv [0 ]
46
47
tracer , parent_span , _ = get_tracer_tuple ()
@@ -62,15 +63,16 @@ async def callback_wrapper(
62
63
span .set_attribute ("aioamqp.message" , args [1 ])
63
64
span .set_attribute ("aioamqp.exchange_name" , args [2 ].exchange_name )
64
65
span .set_attribute ("aioamqp.routing_key" , args [2 ].routing_key )
65
- return await wrapped_callback (* args , ** kwargs )
66
66
except Exception as exc :
67
67
span .record_exception (exc )
68
68
logger .debug (f"aioamqp basic_consume_with_instana error: { exc } " )
69
+ finally :
70
+ return await wrapped_callback (* args , ** kwargs )
69
71
70
72
wrapped_callback = callback_wrapper (callback )
71
73
argv = (wrapped_callback ,) + argv [1 :]
72
74
73
- return wrapped (* argv , ** kwargs )
75
+ return await wrapped (* argv , ** kwargs )
74
76
75
77
logger .debug ("Instrumenting aioamqp" )
76
78
0 commit comments