Search in sources :

Example 11 with Link

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

the class SpanBuilderImpl method linkSpans.

private static void linkSpans(Span span, List<Span> parentLinks) {
    if (!parentLinks.isEmpty()) {
        Link childLink = Link.fromSpanContext(span.getContext(), Type.CHILD_LINKED_SPAN);
        for (Span linkedSpan : parentLinks) {
            linkedSpan.addLink(childLink);
            span.addLink(Link.fromSpanContext(linkedSpan.getContext(), Type.PARENT_LINKED_SPAN));
        }
    }
}
Also used : Span(io.opencensus.trace.Span) Link(io.opencensus.trace.Link)

Example 12 with Link

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

the class JaegerExporterHandlerTest method convertErrorSpanDataToJaegerThriftSpan.

@Test
public void convertErrorSpanDataToJaegerThriftSpan() throws SenderException {
    long startTime = 1519629870001L;
    long endTime = 1519630148002L;
    String statusMessage = "timeout";
    SpanData spanData = SpanData.create(sampleSpanContext(), SpanId.fromBytes(new byte[] { (byte) 0x7F, FF, FF, FF, FF, FF, FF, FF }), true, "test", Kind.SERVER, Timestamp.fromMillis(startTime), SpanData.Attributes.create(Collections.<String, AttributeValue>emptyMap(), 0), SpanData.TimedEvents.create(Collections.<TimedEvent<Annotation>>emptyList(), 0), SpanData.TimedEvents.create(Collections.<TimedEvent<MessageEvent>>emptyList(), 0), SpanData.Links.create(Collections.<Link>emptyList(), 0), 0, Status.DEADLINE_EXCEEDED.withDescription(statusMessage), Timestamp.fromMillis(endTime));
    handler.export(singletonList(spanData));
    verify(mockSender).send(eq(process), captor.capture());
    List<Span> spans = captor.getValue();
    assertThat(spans.size()).isEqualTo(1);
    Span span = spans.get(0);
    assertThat(span.tags.size()).isEqualTo(3);
    assertThat(span.tags).containsExactly(new Tag(JaegerExporterHandler.SPAN_KIND, TagType.STRING).setVStr("server"), new Tag(JaegerExporterHandler.STATUS_CODE, TagType.LONG).setVLong(4), new Tag(JaegerExporterHandler.STATUS_MESSAGE, TagType.STRING).setVStr(statusMessage));
}
Also used : AttributeValue(io.opencensus.trace.AttributeValue) SpanData(io.opencensus.trace.export.SpanData) TimedEvent(io.opencensus.trace.export.SpanData.TimedEvent) Tag(io.jaegertracing.thriftjava.Tag) Span(io.jaegertracing.thriftjava.Span) Link(io.opencensus.trace.Link) Test(org.junit.Test)

Example 13 with Link

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

the class InstanaExporterHandlerTest method generateSpan_MultipleSpans.

@Test
public void generateSpan_MultipleSpans() {
    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.OK, Timestamp.create(1505855799, 465726528));
    assertThat(InstanaExporterHandler.convertToJson(Collections.nCopies(2, data))).isEqualTo("[" + "{" + "\"spanId\":\"9cc1e3049173be09\"," + "\"traceId\":\"d239036e7d5cec11\"," + "\"parentId\":\"8b03ab423da481c5\"," + "\"timestamp\":1505855794194," + "\"duration\":5271," + "\"name\":\"SpanName\"," + "\"type\":\"EXIT\"," + "\"data\":" + "{\"http.url\":\"http://localhost/foo\"}" + "}," + "{" + "\"spanId\":\"9cc1e3049173be09\"," + "\"traceId\":\"d239036e7d5cec11\"," + "\"parentId\":\"8b03ab423da481c5\"," + "\"timestamp\":1505855794194," + "\"duration\":5271," + "\"name\":\"SpanName\"," + "\"type\":\"EXIT\"," + "\"data\":" + "{\"http.url\":\"http://localhost/foo\"}" + "}" + "]");
}
Also used : SpanData(io.opencensus.trace.export.SpanData) Link(io.opencensus.trace.Link) Test(org.junit.Test)

Example 14 with Link

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

the class InstanaExporterHandlerTest method generateSpan_NullStatus.

@Test
public void generateSpan_NullStatus() {
    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 */
    null, /* 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 */
    null, /* status */
    Timestamp.create(1505855799, 465726528));
    assertThat(InstanaExporterHandler.convertToJson(Collections.singletonList(data))).isEqualTo("[]");
}
Also used : SpanData(io.opencensus.trace.export.SpanData) Link(io.opencensus.trace.Link) Test(org.junit.Test)

Example 15 with Link

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

the class InstanaExporterHandlerTest method generateSpan_ServerKind.

@Test
public void generateSpan_ServerKind() {
    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.SERVER, /* 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.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\":\"ENTRY\"," + "\"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