package org.stagemonitor.tracing; import org.stagemonitor.tracing.metrics.ExternalRequestMetricsSpanEventListener; import io.opentracing.Span; import io.opentracing.Tracer; import io.opentracing.tag.Tags; public class ExternalHttpRequest extends AbstractExternalRequest { private final String method; private final String url; private final String host; private final int port; public ExternalHttpRequest(Tracer tracer, String method, String url, String host, int port) { super(tracer, method + " " + url); this.method = method; this.url = url; this.host = host; this.port = port; } @Override public Span createSpan() { final Span span = super.createSpan(); Tags.HTTP_URL.set(span, url); Tags.PEER_HOSTNAME.set(span, host); Tags.PEER_PORT.set(span, port); span.setTag(ExternalRequestMetricsSpanEventListener.EXTERNAL_REQUEST_METHOD, method); return span; } @Override protected String getType() { return "outgoing-http"; } }