@@ -157,11 +157,13 @@ public void testCountsSpansWhenTraceIsNotObservable() throws Exception {
157157 String traceId = Tracers .randomId ();
158158 assertThat (MDC .get (Tracers .TRACE_ID_KEY )).isNull ();
159159 assertThat (Tracer .hasTraceId ()).isFalse ();
160+ assertThat (Tracer .hasUnobservableTrace ()).isFalse ();
160161 Tracer .setTrace (Trace .of (false , traceId , Optional .empty ()));
161162 // Unsampled trace should still apply thread state
162163 assertThat (MDC .get (Tracers .TRACE_ID_KEY )).isEqualTo (traceId );
163164 assertThat (Tracer .hasTraceId ()).isTrue ();
164165 assertThat (Tracer .getTraceId ()).isEqualTo (traceId );
166+ assertThat (Tracer .hasUnobservableTrace ()).isTrue ();
165167 Tracer .fastStartSpan ("foo" );
166168 Tracer .fastStartSpan ("bar" );
167169
@@ -175,6 +177,7 @@ public void testCountsSpansWhenTraceIsNotObservable() throws Exception {
175177 Tracer .fastCompleteSpan ();
176178 assertThat (MDC .get (Tracers .TRACE_ID_KEY )).isNull ();
177179 assertThat (Tracer .hasTraceId ()).isFalse ();
180+ assertThat (Tracer .hasUnobservableTrace ()).isFalse ();
178181 }
179182
180183 @ Test
@@ -356,6 +359,36 @@ public void testHasTraceId() {
356359 assertThat (Tracer .hasTraceId ()).isFalse ();
357360 }
358361
362+ @ Test
363+ public void testHasUnobservableTrace_observableTrace () {
364+ Tracer .setSampler (AlwaysSampler .INSTANCE );
365+ assertThat (Tracer .hasTraceId ()).isFalse ();
366+ assertThat (Tracer .hasUnobservableTrace ()).isFalse ();
367+ Tracer .fastStartSpan ("test" );
368+ try {
369+ assertThat (Tracer .hasTraceId ()).isTrue ();
370+ assertThat (Tracer .hasUnobservableTrace ()).isFalse ();
371+ } finally {
372+ Tracer .fastCompleteSpan ();
373+ }
374+ assertThat (Tracer .hasUnobservableTrace ()).isFalse ();
375+ }
376+
377+ @ Test
378+ public void testHasUnobservableTrace_unobservableTrace () {
379+ Tracer .setSampler (NeverSampler .INSTANCE );
380+ assertThat (Tracer .hasTraceId ()).isFalse ();
381+ assertThat (Tracer .hasUnobservableTrace ()).isFalse ();
382+ Tracer .fastStartSpan ("test" );
383+ try {
384+ assertThat (Tracer .hasTraceId ()).isTrue ();
385+ assertThat (Tracer .hasUnobservableTrace ()).isTrue ();
386+ } finally {
387+ Tracer .fastCompleteSpan ();
388+ }
389+ assertThat (Tracer .hasUnobservableTrace ()).isFalse ();
390+ }
391+
359392 @ Test
360393 public void testSimpleDetachedTrace () {
361394 assertThat (Tracer .hasTraceId ()).isFalse ();
0 commit comments