@@ -57,8 +57,7 @@ def request_init_with_instana(fn):
5757 if active_tracer is None :
5858 return
5959
60- parent_span = active_tracer .active_span
61- ctags = dict ()
60+ ctags = {}
6261 if isinstance (fn .query , cassandra .query .SimpleStatement ):
6362 ctags ["cassandra.query" ] = fn .query .query_string
6463 elif isinstance (fn .query , cassandra .query .BoundStatement ):
@@ -67,13 +66,10 @@ def request_init_with_instana(fn):
6766 ctags ["cassandra.keyspace" ] = fn .session .keyspace
6867 ctags ["cassandra.cluster" ] = fn .session .cluster .metadata .cluster_name
6968
70- span = active_tracer .start_span (
71- operation_name = "cassandra" ,
72- child_of = parent_span ,
73- tags = ctags )
74-
75- fn .add_callback (cb_request_finish , span , fn )
76- fn .add_errback (cb_request_error , span , fn )
69+ with active_tracer .start_active_span ("cassandra" , child_of = active_tracer .active_span ,
70+ tags = ctags , finish_on_close = False ) as scope :
71+ fn .add_callback (cb_request_finish , scope .span , fn )
72+ fn .add_errback (cb_request_error , scope .span , fn )
7773
7874
7975 @wrapt .patch_function_wrapper ('cassandra.cluster' , 'Session.__init__' )
0 commit comments