in src/main/java/com/spotify/github/opencensus/OpenCensusTracer.java [43:70]
private Span internalSpan(
final String path,
final String method,
final CompletionStage<?> future) {
requireNonNull(path);
requireNonNull(future);
final io.opencensus.trace.Span ocSpan =
TRACER.spanBuilder("GitHub Request").setSpanKind(CLIENT).startSpan();
ocSpan.putAttribute("component", stringAttributeValue("github-api-client"));
ocSpan.putAttribute("peer.service", stringAttributeValue("github"));
ocSpan.putAttribute("http.url", stringAttributeValue(path));
ocSpan.putAttribute("method", stringAttributeValue(method));
final Span span = new OpenCensusSpan(ocSpan);
future.whenComplete(
(result, t) -> {
if (t == null) {
span.success();
} else {
span.failure(t);
}
span.close();
});
return span;
}