Search in sources :

Example 1 with Link

use of io.opencensus.trace.Link in project instrumentation-java by census-instrumentation.

the class SpanDataTest method spanDataEquals.

@Test
public void spanDataEquals() {
    SpanData allSpanData1 = SpanData.create(spanContext, parentSpanId, false, SPAN_NAME, Kind.CLIENT, startTimestamp, attributes, annotations, messageEvents, links, CHILD_SPAN_COUNT, status, endTimestamp);
    SpanData allSpanData2 = SpanData.create(spanContext, parentSpanId, false, SPAN_NAME, Kind.CLIENT, startTimestamp, attributes, annotations, messageEvents, links, CHILD_SPAN_COUNT, status, endTimestamp);
    SpanData emptySpanData = SpanData.create(spanContext, parentSpanId, false, SPAN_NAME, null, startTimestamp, Attributes.create(Collections.<String, AttributeValue>emptyMap(), 0), TimedEvents.create(Collections.<SpanData.TimedEvent<Annotation>>emptyList(), 0), TimedEvents.create(Collections.<SpanData.TimedEvent<MessageEvent>>emptyList(), 0), Links.create(Collections.<Link>emptyList(), 0), 0, status, endTimestamp);
    new EqualsTester().addEqualityGroup(allSpanData1, allSpanData2).addEqualityGroup(emptySpanData).testEquals();
}
Also used : AttributeValue(io.opencensus.trace.AttributeValue) EqualsTester(com.google.common.testing.EqualsTester) TimedEvent(io.opencensus.trace.export.SpanData.TimedEvent) Link(io.opencensus.trace.Link) Test(org.junit.Test)

Example 2 with Link

use of io.opencensus.trace.Link in project instrumentation-java by census-instrumentation.

the class RecordEventsSpanImplTest method droppingLinks.

@Test
public void droppingLinks() {
    final int maxNumberOfLinks = 8;
    TraceParams traceParams = TraceParams.DEFAULT.toBuilder().setMaxNumberOfLinks(maxNumberOfLinks).build();
    RecordEventsSpanImpl span = RecordEventsSpanImpl.startSpan(spanContext, SPAN_NAME, null, parentSpanId, false, traceParams, startEndHandler, timestampConverter, testClock);
    Link link = Link.fromSpanContext(spanContext, Link.Type.CHILD_LINKED_SPAN);
    for (int i = 0; i < 2 * maxNumberOfLinks; i++) {
        span.addLink(link);
    }
    SpanData spanData = span.toSpanData();
    assertThat(spanData.getLinks().getDroppedLinksCount()).isEqualTo(maxNumberOfLinks);
    assertThat(spanData.getLinks().getLinks().size()).isEqualTo(maxNumberOfLinks);
    for (int i = 0; i < maxNumberOfLinks; i++) {
        assertThat(spanData.getLinks().getLinks().get(i)).isEqualTo(link);
    }
    span.end();
    spanData = span.toSpanData();
    assertThat(spanData.getLinks().getDroppedLinksCount()).isEqualTo(maxNumberOfLinks);
    assertThat(spanData.getLinks().getLinks().size()).isEqualTo(maxNumberOfLinks);
    for (int i = 0; i < maxNumberOfLinks; i++) {
        assertThat(spanData.getLinks().getLinks().get(i)).isEqualTo(link);
    }
}
Also used : SpanData(io.opencensus.trace.export.SpanData) TraceParams(io.opencensus.trace.config.TraceParams) Link(io.opencensus.trace.Link) Test(org.junit.Test)

Example 3 with Link

use of io.opencensus.trace.Link in project instrumentation-java by census-instrumentation.

the class RecordEventsSpanImplTest method toSpanData_EndedSpan.

@Test
public void toSpanData_EndedSpan() {
    RecordEventsSpanImpl span = RecordEventsSpanImpl.startSpan(spanContext, SPAN_NAME, null, parentSpanId, false, TraceParams.DEFAULT, startEndHandler, timestampConverter, testClock);
    Mockito.verify(startEndHandler, Mockito.times(1)).onStart(span);
    span.putAttribute("MySingleStringAttributeKey", AttributeValue.stringAttributeValue("MySingleStringAttributeValue"));
    span.putAttributes(attributes);
    testClock.advanceTime(Duration.create(0, 100));
    span.addAnnotation(Annotation.fromDescription(ANNOTATION_DESCRIPTION));
    testClock.advanceTime(Duration.create(0, 100));
    span.addAnnotation(ANNOTATION_DESCRIPTION, attributes);
    testClock.advanceTime(Duration.create(0, 100));
    NetworkEvent networkEvent = NetworkEvent.builder(NetworkEvent.Type.RECV, 1).setUncompressedMessageSize(3).build();
    span.addNetworkEvent(networkEvent);
    Link link = Link.fromSpanContext(spanContext, Link.Type.CHILD_LINKED_SPAN);
    span.addLink(link);
    testClock.advanceTime(Duration.create(0, 100));
    span.end(EndSpanOptions.builder().setStatus(Status.CANCELLED).build());
    Mockito.verify(startEndHandler, Mockito.times(1)).onEnd(span);
    SpanData spanData = span.toSpanData();
    assertThat(spanData.getContext()).isEqualTo(spanContext);
    assertThat(spanData.getName()).isEqualTo(SPAN_NAME);
    assertThat(spanData.getParentSpanId()).isEqualTo(parentSpanId);
    assertThat(spanData.getHasRemoteParent()).isFalse();
    assertThat(spanData.getAttributes().getDroppedAttributesCount()).isEqualTo(0);
    assertThat(spanData.getAttributes().getAttributeMap()).isEqualTo(expectedAttributes);
    assertThat(spanData.getAnnotations().getDroppedEventsCount()).isEqualTo(0);
    assertThat(spanData.getAnnotations().getEvents().size()).isEqualTo(2);
    assertThat(spanData.getAnnotations().getEvents().get(0).getTimestamp()).isEqualTo(timestamp.addNanos(100));
    assertThat(spanData.getAnnotations().getEvents().get(0).getEvent()).isEqualTo(Annotation.fromDescription(ANNOTATION_DESCRIPTION));
    assertThat(spanData.getAnnotations().getEvents().get(1).getTimestamp()).isEqualTo(timestamp.addNanos(200));
    assertThat(spanData.getAnnotations().getEvents().get(1).getEvent()).isEqualTo(Annotation.fromDescriptionAndAttributes(ANNOTATION_DESCRIPTION, attributes));
    assertThat(spanData.getNetworkEvents().getDroppedEventsCount()).isEqualTo(0);
    assertThat(spanData.getNetworkEvents().getEvents().size()).isEqualTo(1);
    assertThat(spanData.getNetworkEvents().getEvents().get(0).getTimestamp()).isEqualTo(timestamp.addNanos(300));
    assertThat(spanData.getNetworkEvents().getEvents().get(0).getEvent()).isEqualTo(networkEvent);
    assertThat(spanData.getLinks().getDroppedLinksCount()).isEqualTo(0);
    assertThat(spanData.getLinks().getLinks().size()).isEqualTo(1);
    assertThat(spanData.getLinks().getLinks().get(0)).isEqualTo(link);
    assertThat(spanData.getStartTimestamp()).isEqualTo(timestamp);
    assertThat(spanData.getStatus()).isEqualTo(Status.CANCELLED);
    assertThat(spanData.getEndTimestamp()).isEqualTo(timestamp.addNanos(400));
}
Also used : SpanData(io.opencensus.trace.export.SpanData) NetworkEvent(io.opencensus.trace.NetworkEvent) Link(io.opencensus.trace.Link) Test(org.junit.Test)

Example 4 with Link

use of io.opencensus.trace.Link in project instrumentation-java by census-instrumentation.

the class JsonConversionUtilsTest method setUp.

@Before
public void setUp() {
    SpanData spanData = SpanData.create(SpanContext.create(TraceId.fromLowerBase16(SAMPLE_TRACE_ID), SpanId.fromLowerBase16(SAMPLE_SPAN_ID), SAMPLE_TRACE_OPTION, SAMPLE_TRACE_STATE), SpanId.fromLowerBase16(SAMPLE_PARENT_SPAN_ID), true, "SpanName", null, Timestamp.create(155196336, 194009601), Attributes.create(attributes, 0), TimedEvents.create(annotations, 0), TimedEvents.create(messageEvents, 0), Links.create(Collections.<Link>emptyList(), 0), null, Status.OK, Timestamp.create(155296336, 465726528));
    spanDataList = new ArrayList<SpanData>();
    spanDataList.add(spanData);
}
Also used : SpanData(io.opencensus.trace.export.SpanData) Link(io.opencensus.trace.Link) Before(org.junit.Before)

Example 5 with Link

use of io.opencensus.trace.Link in project instrumentation-java by census-instrumentation.

the class InstanaExporterHandlerTest method generateSpan_ErrorStatus.

@Test
public void generateSpan_ErrorStatus() {
    SpanData data = SpanData.create(SpanContext.create(TraceId.fromLowerBase16(TRACE_ID), SpanId.fromLowerBase16(SPAN_ID), TraceOptions.builder().setIsSampled(true).build()), SpanId.fromLowerBase16(PARENT_SPAN_ID), true, /* hasRemoteParent */
    "SpanName", /* name */
    Kind.CLIENT, /* kind */
    Timestamp.create(1505855794, 194009601), /* startTimestamp */
    Attributes.create(attributes, 0), TimedEvents.create(annotations, 0), TimedEvents.create(messageEvents, 0), Links.create(Collections.<Link>emptyList(), 0), null, /* childSpanCount */
    Status.OUT_OF_RANGE, /* status, any but OK */
    Timestamp.create(1505855799, 465726528));
    assertThat(InstanaExporterHandler.convertToJson(Collections.singletonList(data))).isEqualTo("[" + "{" + "\"spanId\":\"9cc1e3049173be09\"," + "\"traceId\":\"d239036e7d5cec11\"," + "\"parentId\":\"8b03ab423da481c5\"," + "\"timestamp\":1505855794194," + "\"duration\":5271," + "\"name\":\"SpanName\"," + "\"type\":\"EXIT\"," + "\"error\":true," + "\"data\":" + "{\"http.url\":\"http://localhost/foo\"}" + "}" + "]");
}
Also used : SpanData(io.opencensus.trace.export.SpanData) Link(io.opencensus.trace.Link) Test(org.junit.Test)

Aggregations

Link (io.opencensus.trace.Link)21 Test (org.junit.Test)18 SpanData (io.opencensus.trace.export.SpanData)17 AttributeValue (io.opencensus.trace.AttributeValue)4 NetworkEvent (io.opencensus.trace.NetworkEvent)2 Span (io.opencensus.trace.Span)2 TimedEvent (io.opencensus.trace.export.SpanData.TimedEvent)2 EqualsTester (com.google.common.testing.EqualsTester)1 Span (io.jaegertracing.thriftjava.Span)1 SpanRef (io.jaegertracing.thriftjava.SpanRef)1 Tag (io.jaegertracing.thriftjava.Tag)1 FakeSpan (io.opencensus.contrib.http.util.testing.FakeSpan)1 TraceParams (io.opencensus.trace.config.TraceParams)1 HashMap (java.util.HashMap)1 Before (org.junit.Before)1