use of io.opencensus.implcore.trace.RecordEventsSpanImpl in project instrumentation-java by census-instrumentation.
the class InProcessSampledSpanStoreImplTest method getLatencySampledSpans.
@Test
public void getLatencySampledSpans() {
RecordEventsSpanImpl span = createSampledSpan(REGISTERED_SPAN_NAME);
testClock.advanceTime(Duration.create(0, (int) TimeUnit.MICROSECONDS.toNanos(20)));
span.end();
Collection<SpanData> samples = sampleStore.getLatencySampledSpans(LatencyFilter.create(REGISTERED_SPAN_NAME, TimeUnit.MICROSECONDS.toNanos(15), TimeUnit.MICROSECONDS.toNanos(25), 0));
assertThat(samples.size()).isEqualTo(1);
assertThat(samples.contains(span.toSpanData())).isTrue();
}
use of io.opencensus.implcore.trace.RecordEventsSpanImpl in project instrumentation-java by census-instrumentation.
the class InProcessSampledSpanStoreImplTest method ignoreNegativeSpanLatency.
@Test
public void ignoreNegativeSpanLatency() {
RecordEventsSpanImpl span = createSampledSpan(REGISTERED_SPAN_NAME);
testClock.advanceTime(Duration.create(0, (int) TimeUnit.MICROSECONDS.toNanos(-20)));
span.end();
Collection<SpanData> samples = sampleStore.getLatencySampledSpans(LatencyFilter.create(REGISTERED_SPAN_NAME, 0, Long.MAX_VALUE, 0));
assertThat(samples.size()).isEqualTo(0);
}
use of io.opencensus.implcore.trace.RecordEventsSpanImpl in project instrumentation-java by census-instrumentation.
the class InProcessSampledSpanStoreImplTest method getErrorSampledSpans_MaxSpansToReturn.
@Test
public void getErrorSampledSpans_MaxSpansToReturn() {
RecordEventsSpanImpl span1 = createSampledSpan(REGISTERED_SPAN_NAME);
testClock.advanceTime(Duration.create(0, 1000));
span1.end(EndSpanOptions.builder().setStatus(Status.CANCELLED).build());
// Advance time to allow other spans to be sampled.
testClock.advanceTime(Duration.create(5, 0));
RecordEventsSpanImpl span2 = createSampledSpan(REGISTERED_SPAN_NAME);
testClock.advanceTime(Duration.create(0, 1000));
span2.end(EndSpanOptions.builder().setStatus(Status.CANCELLED).build());
Collection<SpanData> samples = sampleStore.getErrorSampledSpans(ErrorFilter.create(REGISTERED_SPAN_NAME, CanonicalCode.CANCELLED, 1));
assertThat(samples.size()).isEqualTo(1);
// No order guaranteed so one of the spans should be in the list.
assertThat(samples).containsAnyOf(span1.toSpanData(), span2.toSpanData());
}
use of io.opencensus.implcore.trace.RecordEventsSpanImpl in project instrumentation-java by census-instrumentation.
the class InProcessSampledSpanStoreImplTest method getErrorSampledSpans.
@Test
public void getErrorSampledSpans() {
RecordEventsSpanImpl span = createSampledSpan(REGISTERED_SPAN_NAME);
testClock.advanceTime(Duration.create(0, 1000));
span.end(EndSpanOptions.builder().setStatus(Status.CANCELLED).build());
Collection<SpanData> samples = sampleStore.getErrorSampledSpans(ErrorFilter.create(REGISTERED_SPAN_NAME, CanonicalCode.CANCELLED, 0));
assertThat(samples.size()).isEqualTo(1);
assertThat(samples.contains(span.toSpanData())).isTrue();
}
use of io.opencensus.implcore.trace.RecordEventsSpanImpl in project instrumentation-java by census-instrumentation.
the class SpanExporterImplTest method exportSpansToMultipleServices.
@Test
public void exportSpansToMultipleServices() {
SpanExporterImpl spanExporter = SpanExporterImpl.create(4, Duration.create(1, 0));
StartEndHandler startEndHandler = new StartEndHandlerImpl(spanExporter, runningSpanStore, sampledSpanStore, new SimpleEventQueue());
spanExporter.registerHandler("test.service", serviceHandler);
TestHandler serviceHandler2 = new TestHandler();
spanExporter.registerHandler("test.service2", serviceHandler2);
RecordEventsSpanImpl span1 = createSampledEndedSpan(startEndHandler, SPAN_NAME_1);
RecordEventsSpanImpl span2 = createSampledEndedSpan(startEndHandler, SPAN_NAME_2);
List<SpanData> exported1 = serviceHandler.waitForExport(2);
List<SpanData> exported2 = serviceHandler2.waitForExport(2);
assertThat(exported1).containsExactly(span1.toSpanData(), span2.toSpanData());
assertThat(exported2).containsExactly(span1.toSpanData(), span2.toSpanData());
}
Aggregations