@@ -68,7 +68,7 @@ def test_forced_sampling(tracer):
6868 assert span .is_debug ()
6969
7070
71- @pytest .mark .parametrize ('mode' , ['arg' , 'ref' ])
71+ @pytest .mark .parametrize ('mode, ' , ['arg' , 'ref' ])
7272def test_start_child (tracer , mode ):
7373 root = tracer .start_span ("test" )
7474 if mode == 'arg' :
@@ -90,6 +90,21 @@ def test_start_child(tracer, mode):
9090 tracer .reporter .assert_called_once ()
9191 tracer .close ()
9292
93+ @pytest .mark .parametrize ('one_span_per_rpc,' , [True , False ])
94+ def test_one_span_per_rpc (tracer , one_span_per_rpc ):
95+ tracer .one_span_per_rpc = one_span_per_rpc
96+ span = tracer .start_span ("client" )
97+ span .set_tag (ext_tags .SPAN_KIND , ext_tags .SPAN_KIND_RPC_CLIENT )
98+ child = tracer .start_span (
99+ "server" ,
100+ references = child_of (span .context ),
101+ tags = {ext_tags .SPAN_KIND : ext_tags .SPAN_KIND_RPC_SERVER },
102+ )
103+ assert span .trace_id == child .trace_id , "Must have the same trace ids"
104+ if one_span_per_rpc :
105+ assert span .span_id == child .span_id , "Must have the same span ids"
106+ else :
107+ assert span .span_id != child .span_id , "Must have different span ids"
93108
94109def test_child_span (tracer ):
95110 span = tracer .start_span ("test" )
0 commit comments