in src/main/java/com/spotify/github/tracing/opentelemetry/OpenTelemetryTracer.java [100:126]
protected Span internalSpan(final HttpRequest request, final CompletionStage<?> future) {
requireNonNull(request);
// Extract the context from the request headers.
Context context =
W3CTraceContextPropagator.getInstance()
.extract(
Context.current(),
request,
new TextMapGetter<>() {
@Override
public Iterable<String> keys(@NotNull final HttpRequest carrier) {
return carrier.headers().keySet();
}
@Nullable
@Override
public String get(
@Nullable final HttpRequest carrier, @NotNull final String key) {
if (carrier == null) {
return null;
}
return carrier.header(key);
}
});
context.makeCurrent();
return internalSpan(request.url(), request.method(), future);
}