if (getCurrentSpanStackSize() == 1) {
if (getCurrentSpanStackSize() == 0) { return startRequestWithRootSpan(spanName);
if (getCurrentSpanStackSize() == 0) { boolean sampleable = isNextRootSpanSampleable(); return startRequestWithSpanInfo(null, null, spanName, sampleable, null, spanPurpose);
assertThat(tracer.getCurrentSpanStackSize()).isEqualTo(0); assertThat(tracer.getCurrentSpanStackSize()).isEqualTo(0); assertThat(tracer.getCurrentSpanStackSize()).isEqualTo(nonEmptyStack.size()); assertThat(tracer.getCurrentSpanStackSize()).isEqualTo(1); assertThat(tracer.getCurrentSpanStackSize()).isEqualTo(2); assertThat(tracer.getCurrentSpanStackSize()).isEqualTo(1); assertThat(tracer.getCurrentSpanStackSize()).isEqualTo(0);
assertThat(Tracer.getInstance().getCurrentSpanStackSize()).isEqualTo(numValidSpansOnStack); Deque<Span> originalValidSpanStack = Tracer.getInstance().getCurrentSpanStackCopy(); assertThat(Tracer.getInstance().getCurrentSpanStackSize()).isEqualTo(numValidSpansOnStack); if (numValidSpansOnStack == 0) { assertThat(Tracer.getInstance().getCurrentSpan()).isNull();
assertThat(Tracer.getInstance().getCurrentSpanStackSize()).isEqualTo(numValidSpansOnStack); Deque<Span> originalValidSpanStack = Tracer.getInstance().getCurrentSpanStackCopy(); assertThat(Tracer.getInstance().getCurrentSpanStackSize()).isEqualTo(numValidSpansOnStack); if (numValidSpansOnStack == 0) { assertThat(Tracer.getInstance().getCurrentSpan()).isNull();
assertThat(parentSpan.isCompleted()).isTrue(); assertThat(Tracer.getInstance().getCurrentSpan()).isNull(); assertThat(Tracer.getInstance().getCurrentSpanStackSize()).isEqualTo(0);
assertThat(parentSpan.isCompleted()).isTrue(); assertThat(Tracer.getInstance().getCurrentSpan()).isNull(); assertThat(Tracer.getInstance().getCurrentSpanStackSize()).isEqualTo(0);