@Test public void spanLifecycleListener_spanStarted_is_called_when_new_request_span_is_started() { // given SpanLifecycleListener listener1 = mock(SpanLifecycleListener.class); SpanLifecycleListener listener2 = mock(SpanLifecycleListener.class); Tracer tracer = Tracer.getInstance(); tracer.addSpanLifecycleListener(listener1); tracer.addSpanLifecycleListener(listener2); // when Span span = tracer.startRequestWithRootSpan("newspan"); // then verify(listener1).spanStarted(span); verify(listener1, times(0)).spanCompleted(span); verify(listener2).spanStarted(span); verify(listener2, times(0)).spanCompleted(span); }
@Test public void spanLifecycleListener_spanStarted_is_called_when_subspan_is_started() { // given SpanLifecycleListener listener1 = mock(SpanLifecycleListener.class); SpanLifecycleListener listener2 = mock(SpanLifecycleListener.class); Tracer tracer = Tracer.getInstance(); tracer.addSpanLifecycleListener(listener1); tracer.addSpanLifecycleListener(listener2); tracer.startRequestWithRootSpan("newspan"); // when Span subspan = tracer.startSubSpan("subspan", SpanPurpose.LOCAL_ONLY); // then verify(listener1).spanStarted(subspan); verify(listener1, times(0)).spanCompleted(subspan); verify(listener2).spanStarted(subspan); verify(listener2, times(0)).spanCompleted(subspan); }
@Test public void getSpanLifecycleListeners_returns_unmodifiable_list() { // given SpanLifecycleListener listener = mock(SpanLifecycleListener.class); Tracer.getInstance().addSpanLifecycleListener(listener); // when List<SpanLifecycleListener> returnedList = Tracer.getInstance().getSpanLifecycleListeners(); // then Exception caughtEx = null; try { returnedList.add(mock(SpanLifecycleListener.class)); } catch(Exception ex) { caughtEx = ex; } assertThat(caughtEx).isNotNull(); assertThat(caughtEx).isInstanceOf(UnsupportedOperationException.class); }
/** * Initialize configuration. * Add Zipkin listener if our {@link WingtipsZipkinProperties} indicates it has the necessary properties specified. */ private void init() { if (wingtipsZipkinProperties.shouldApplyWingtipsToZipkinLifecycleListener()) { Tracer.getInstance().addSpanLifecycleListener( new WingtipsToZipkinLifecycleListener( wingtipsZipkinProperties.getServiceName(), wingtipsZipkinProperties.getLocalComponentNamespace(), wingtipsZipkinProperties.getBaseUrl() ) ); } }
@Test public void addSpanLifecycleListener_should_work_as_advertised() { // given SpanLifecycleListener listener = mock(SpanLifecycleListener.class); assertThat(Tracer.getInstance().getSpanLifecycleListeners()).isEmpty(); // when Tracer.getInstance().addSpanLifecycleListener(listener); // then assertThat(Tracer.getInstance().getSpanLifecycleListeners()).hasSize(1); assertThat(Tracer.getInstance().getSpanLifecycleListeners().get(0)).isEqualTo(listener); }
@Test public void removeSpanLifecycleListener_should_work_as_advertised() { // given SpanLifecycleListener listener = mock(SpanLifecycleListener.class); Tracer.getInstance().addSpanLifecycleListener(listener); assertThat(Tracer.getInstance().getSpanLifecycleListeners()).hasSize(1); assertThat(Tracer.getInstance().getSpanLifecycleListeners().get(0)).isEqualTo(listener); // when boolean result = Tracer.getInstance().removeSpanLifecycleListener(listener); // then assertThat(result).isTrue(); assertThat(Tracer.getInstance().getSpanLifecycleListeners()).isEmpty(); }
@Test public void removeSpanLifecycleListener_should_return_false_and_do_nothing_if_passed_null() { // given SpanLifecycleListener listener = mock(SpanLifecycleListener.class); Tracer.getInstance().addSpanLifecycleListener(listener); assertThat(Tracer.getInstance().getSpanLifecycleListeners()).hasSize(1); assertThat(Tracer.getInstance().getSpanLifecycleListeners().get(0)).isEqualTo(listener); // when boolean result = Tracer.getInstance().removeSpanLifecycleListener(null); // then assertThat(result).isFalse(); assertThat(Tracer.getInstance().getSpanLifecycleListeners()).hasSize(1); assertThat(Tracer.getInstance().getSpanLifecycleListeners().get(0)).isEqualTo(listener); }
@Before public void beforeMethod() { clearTracerSpanLifecycleListeners(); spanRecorder = new SpanRecorder(); Tracer.getInstance().addSpanLifecycleListener(spanRecorder); }
@Before public void beforeMethod() { resetTracing(); spanRecorder = new SpanRecorder(); Tracer.getInstance().addSpanLifecycleListener(spanRecorder); }
@Before public void beforeMethod() { removeSpanRecorderLifecycleListener(); spanRecorder = new SpanRecorder(); Tracer.getInstance().addSpanLifecycleListener(spanRecorder); }
@Before public void beforeMethod() { clearTracerSpanLifecycleListeners(); spanRecorder = new SpanRecorder(); Tracer.getInstance().addSpanLifecycleListener(spanRecorder); }
@Before public void beforeMethod() { resetTracing(); spanRecorder = new SpanRecorder(); Tracer.getInstance().addSpanLifecycleListener(spanRecorder); }
@Before public void beforeMethod() { clearTracerSpanLifecycleListeners(); spanRecorder = new SpanRecorder(); Tracer.getInstance().addSpanLifecycleListener(spanRecorder); }
@Before public void beforeMethod() { clearTracerSpanLifecycleListeners(); spanRecorder = new SpanRecorder(); Tracer.getInstance().addSpanLifecycleListener(spanRecorder); }
@Before public void beforeMethod() { clearTracerSpanLifecycleListeners(); spanRecorder = new SpanRecorder(); Tracer.getInstance().addSpanLifecycleListener(spanRecorder); }
@Before public void beforeMethod() { clearTracerSpanLifecycleListeners(); spanRecorder = new SpanRecorder(); Tracer.getInstance().addSpanLifecycleListener(spanRecorder); }
@Before public void beforeMethod() { resetTracing(); spanRecorder = new SpanRecorder(); Tracer.getInstance().addSpanLifecycleListener(spanRecorder); }
@Test public void addSpanLifecycleListener_should_do_nothing_if_passed_null() { // given assertThat(Tracer.getInstance().getSpanLifecycleListeners()).isEmpty(); // when Tracer.getInstance().addSpanLifecycleListener(null); // then assertThat(Tracer.getInstance().getSpanLifecycleListeners()).isEmpty(); }
@Before public void beforeMethod() { resetTracing(); spanRecorder = new SpanRecorder(); Tracer.getInstance().addSpanLifecycleListener(spanRecorder); dtConfigAdjustments = new DtConfigAdjustments(); adjustableServerTaggingStrategy.config = dtConfigAdjustments; adjustableProxyTaggingStrategy.config = dtConfigAdjustments; }
private void resetTracing() { MDC.clear(); Tracer.getInstance().unregisterFromThread(); removeSpanRecorderLifecycleListener(); spanRecorder = new SpanRecorder(); Tracer.getInstance().addSpanLifecycleListener(spanRecorder); }