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;
}
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\"}" + "}" + "]");
}
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\"}" + "}" + "]");
}
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);
}
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());
}
Aggregations