From 7ebd5e03deb2074804819a3131285724dfc40df5 Mon Sep 17 00:00:00 2001 From: Yuri Shkuro Date: Tue, 12 Dec 2017 10:13:18 -0600 Subject: [PATCH] Change default for one_span_per_rpc to False (#105) --- jaeger_client/tracer.py | 2 +- tests/test_tracer.py | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/jaeger_client/tracer.py b/jaeger_client/tracer.py index 245772e6..5b4041ea 100644 --- a/jaeger_client/tracer.py +++ b/jaeger_client/tracer.py @@ -46,7 +46,7 @@ def __init__(self, service_name, reporter, sampler, metrics=None, trace_id_header=constants.TRACE_ID_HEADER, baggage_header_prefix=constants.BAGGAGE_HEADER_PREFIX, debug_id_header=constants.DEBUG_ID_HEADER_KEY, - one_span_per_rpc=True, extra_codecs=None, + one_span_per_rpc=False, extra_codecs=None, tags=None): self.service_name = service_name self.reporter = reporter diff --git a/tests/test_tracer.py b/tests/test_tracer.py index 122a7b32..9b21aadc 100644 --- a/tests/test_tracer.py +++ b/tests/test_tracer.py @@ -68,7 +68,7 @@ def test_forced_sampling(tracer): assert span.is_debug() -@pytest.mark.parametrize('mode', ['arg', 'ref']) +@pytest.mark.parametrize('mode,', ['arg', 'ref']) def test_start_child(tracer, mode): root = tracer.start_span("test") if mode == 'arg': @@ -90,6 +90,21 @@ def test_start_child(tracer, mode): tracer.reporter.assert_called_once() tracer.close() +@pytest.mark.parametrize('one_span_per_rpc,', [True, False]) +def test_one_span_per_rpc(tracer, one_span_per_rpc): + tracer.one_span_per_rpc = one_span_per_rpc + span = tracer.start_span("client") + span.set_tag(ext_tags.SPAN_KIND, ext_tags.SPAN_KIND_RPC_CLIENT) + child = tracer.start_span( + "server", + references=child_of(span.context), + tags={ext_tags.SPAN_KIND: ext_tags.SPAN_KIND_RPC_SERVER}, + ) + assert span.trace_id == child.trace_id, "Must have the same trace ids" + if one_span_per_rpc: + assert span.span_id == child.span_id, "Must have the same span ids" + else: + assert span.span_id != child.span_id, "Must have different span ids" def test_child_span(tracer): span = tracer.start_span("test")