in geronimo-opentracing-common/src/main/java/org/apache/geronimo/microprofile/opentracing/common/microprofile/zipkin/ZipkinConverter.java [93:127]
private ZipkinSpan toZipkin(final SpanImpl span) {
final ZipkinSpan.ZipkinEndpoint endpoint = toEndpoint(span);
final ZipkinSpan zipkin;
if (useV2) {
zipkin = new ZipkinSpan();
zipkin.setTags(span.getTags().entrySet().stream().filter(e -> !Tags.SPAN_KIND.getKey().equalsIgnoreCase(e.getKey()))
.collect(toMap(Map.Entry::getKey, e -> String.valueOf(e.getValue()))));
} else {
zipkin = new ZipkinV1Span();
((ZipkinV1Span) zipkin).setBinaryAnnotations(toBinaryAnnotations(span.getTags()));
zipkin.setAnnotations(toAnnotations(span));
}
if (idGenerator.isCounter()) {
zipkin.setParentId(asLong(span.getParentId()));
zipkin.setTraceId(asLong(span.getTraceId()));
zipkin.setId(asLong(span.getId()));
} else {
zipkin.setParentId(span.getParentId());
zipkin.setTraceId(span.getTraceId());
zipkin.setId(span.getId());
}
zipkin.setName(span.getName());
zipkin.setKind(ofNullable(span.getKind()).map(s -> s.toUpperCase(ROOT)).orElse(null));
zipkin.setTimestamp(span.getTimestamp());
zipkin.setDuration(span.getDuration());
if (Tags.SPAN_KIND_CLIENT.equals(String.valueOf(span.getTags().get(Tags.SPAN_KIND.getKey())))) {
zipkin.setRemoteEndpoint(endpoint);
}
zipkin.setLocalEndpoint(endpoint); // must alway exist
return zipkin;
}