Search in sources :

Example 6 with Link

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

the class JaegerExporterHandler method linksToReferences.

private List<SpanRef> linksToReferences(final List<Link> links) {
    final List<SpanRef> spanRefs = Lists.newArrayListWithExpectedSize(links.size());
    for (final Link link : links) {
        copyToBuffer(link.getTraceId());
        spanRefs.add(new SpanRef(linkTypeToRefType(link.getType()), traceIdLow(), traceIdHigh(), spanIdToLong(link.getSpanId())));
    }
    return spanRefs;
}
Also used : SpanRef(io.jaegertracing.thriftjava.SpanRef) Link(io.opencensus.trace.Link)

Example 7 with Link

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

the class InstanaExporterHandlerTest method generateSpan_ClientKind.

@Test
public void generateSpan_ClientKind() {
    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.singletonList(data))).isEqualTo("[" + "{" + "\"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 8 with Link

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

the class InstanaExporterHandlerTest method generateSpan_NoKindAndRemoteParent.

@Test
public void generateSpan_NoKindAndRemoteParent() {
    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 */
    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)

Example 9 with Link

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

the class HttpServerHandlerTest method handleStartWithPublicEndpointShouldAddLink.

@Test
public void handleStartWithPublicEndpointShouldAddLink() throws Exception {
    handlerForPublicEndpoint.handleStart(carrier, request);
    verify(tracer).spanBuilderWithExplicitParent(any(String.class), any(Span.class));
    verify(spanWithLocalParent).addLink(captor.capture());
    Link link = captor.getValue();
    assertThat(link.getSpanId()).isEqualTo(spanContextRemote.getSpanId());
    assertThat(link.getTraceId()).isEqualTo(spanContextRemote.getTraceId());
    assertThat(link.getType()).isEqualTo(Type.PARENT_LINKED_SPAN);
}
Also used : FakeSpan(io.opencensus.contrib.http.util.testing.FakeSpan) Span(io.opencensus.trace.Span) Link(io.opencensus.trace.Link) Test(org.junit.Test)

Example 10 with Link

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

the class ZipkinExporterHandlerTest method generateSpan_NoKindAndRemoteParent.

@Test
public void generateSpan_NoKindAndRemoteParent() {
    SpanData data = SpanData.create(SpanContext.create(TraceId.fromLowerBase16(TRACE_ID), SpanId.fromLowerBase16(SPAN_ID), TraceOptions.builder().setIsSampled(true).build()), // TODO SpanId.fromLowerBase16
    SpanId.fromLowerBase16(PARENT_SPAN_ID), true, /* hasRemoteParent */
    "Recv.helloworld.Greeter.SayHello", /* 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 */
    Status.OK, Timestamp.create(1505855799, 465726528));
    assertThat(ZipkinExporterHandler.generateSpan(data, localEndpoint)).isEqualTo(Span.newBuilder().traceId(TRACE_ID).parentId(PARENT_SPAN_ID).id(SPAN_ID).kind(Span.Kind.SERVER).name(data.getName()).timestamp(1505855794000000L + 194009601L / 1000).duration((1505855799000000L + 465726528L / 1000) - (1505855794000000L + 194009601L / 1000)).localEndpoint(localEndpoint).addAnnotation(1505855799000000L + 433901068L / 1000, "RECEIVED").addAnnotation(1505855799000000L + 459486280L / 1000, "SENT").putTag(ZipkinExporterHandler.STATUS_CODE, "OK").build());
}
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