private Span internalSpan()

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;
    }