Use Builder::setAttribute whenever possible (#348)
This commit is contained in:
parent
25740536a1
commit
9568ba079b
|
@ -82,8 +82,11 @@ public final class DropwizardViewInstrumentation extends Instrumenter.Default {
|
||||||
if (!TRACER.getCurrentSpan().getContext().isValid()) {
|
if (!TRACER.getCurrentSpan().getContext().isValid()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
final Span span = TRACER.spanBuilder("Render " + view.getTemplateName()).startSpan();
|
final Span span =
|
||||||
span.setAttribute("span.origin.type", obj.getClass().getSimpleName());
|
TRACER
|
||||||
|
.spanBuilder("Render " + view.getTemplateName())
|
||||||
|
.setAttribute("span.origin.type", obj.getClass().getSimpleName())
|
||||||
|
.startSpan();
|
||||||
return new SpanWithScope(span, currentContextWith(span));
|
return new SpanWithScope(span, currentContextWith(span));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -92,9 +92,13 @@ public class GeodeInstrumentation extends Instrumenter.Default {
|
||||||
if (CallDepthThreadLocalMap.incrementCallDepth(Region.class) > 0) {
|
if (CallDepthThreadLocalMap.incrementCallDepth(Region.class) > 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
final Span span = TRACER.spanBuilder(method.getName()).setSpanKind(CLIENT).startSpan();
|
final Span span =
|
||||||
|
TRACER
|
||||||
|
.spanBuilder(method.getName())
|
||||||
|
.setSpanKind(CLIENT)
|
||||||
|
.setAttribute(Tags.DB_INSTANCE, thiz.getName())
|
||||||
|
.startSpan();
|
||||||
DECORATE.afterStart(span);
|
DECORATE.afterStart(span);
|
||||||
span.setAttribute(Tags.DB_INSTANCE, thiz.getName());
|
|
||||||
return new SpanWithScope(span, currentContextWith(span));
|
return new SpanWithScope(span, currentContextWith(span));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -125,10 +129,14 @@ public class GeodeInstrumentation extends Instrumenter.Default {
|
||||||
if (CallDepthThreadLocalMap.incrementCallDepth(Region.class) > 0) {
|
if (CallDepthThreadLocalMap.incrementCallDepth(Region.class) > 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
final Span span = TRACER.spanBuilder(method.getName()).setSpanKind(CLIENT).startSpan();
|
final Span span =
|
||||||
|
TRACER
|
||||||
|
.spanBuilder(method.getName())
|
||||||
|
.setSpanKind(CLIENT)
|
||||||
|
.setAttribute(Tags.DB_INSTANCE, thiz.getName())
|
||||||
|
.setAttribute(Tags.DB_STATEMENT, query)
|
||||||
|
.startSpan();
|
||||||
DECORATE.afterStart(span);
|
DECORATE.afterStart(span);
|
||||||
span.setAttribute(Tags.DB_INSTANCE, thiz.getName());
|
|
||||||
span.setAttribute(Tags.DB_STATEMENT, query);
|
|
||||||
return new SpanWithScope(span, currentContextWith(span));
|
return new SpanWithScope(span, currentContextWith(span));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,10 +47,13 @@ public class JavaUtilLoggingSpans {
|
||||||
}
|
}
|
||||||
|
|
||||||
final Throwable t = logRecord.getThrown();
|
final Throwable t = logRecord.getThrown();
|
||||||
final Span span = TRACER.spanBuilder("log.message").startSpan();
|
final Span span =
|
||||||
span.setAttribute("message", FORMATTER.formatMessage(logRecord));
|
TRACER
|
||||||
span.setAttribute("level", level.getName());
|
.spanBuilder("log.message")
|
||||||
span.setAttribute("loggerName", logger.getName());
|
.setAttribute("message", FORMATTER.formatMessage(logRecord))
|
||||||
|
.setAttribute("level", level.getName())
|
||||||
|
.setAttribute("loggerName", logger.getName())
|
||||||
|
.startSpan();
|
||||||
if (t != null) {
|
if (t != null) {
|
||||||
span.setAttribute("error.stack", toString(t));
|
span.setAttribute("error.stack", toString(t));
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,11 +84,11 @@ public final class PreparedStatementInstrumentation extends Instrumenter.Default
|
||||||
TRACER
|
TRACER
|
||||||
.spanBuilder(DECORATE.spanNameOnPreparedStatement(statement))
|
.spanBuilder(DECORATE.spanNameOnPreparedStatement(statement))
|
||||||
.setSpanKind(CLIENT)
|
.setSpanKind(CLIENT)
|
||||||
|
.setAttribute("span.origin.type", statement.getClass().getName())
|
||||||
.startSpan();
|
.startSpan();
|
||||||
DECORATE.afterStart(span);
|
DECORATE.afterStart(span);
|
||||||
DECORATE.onConnection(span, connection);
|
DECORATE.onConnection(span, connection);
|
||||||
DECORATE.onPreparedStatement(span, statement);
|
DECORATE.onPreparedStatement(span, statement);
|
||||||
span.setAttribute("span.origin.type", statement.getClass().getName());
|
|
||||||
return new SpanWithScope(span, currentContextWith(span));
|
return new SpanWithScope(span, currentContextWith(span));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -82,11 +82,14 @@ public final class StatementInstrumentation extends Instrumenter.Default {
|
||||||
}
|
}
|
||||||
|
|
||||||
final Span span =
|
final Span span =
|
||||||
TRACER.spanBuilder(DECORATE.spanNameOnStatement(sql)).setSpanKind(CLIENT).startSpan();
|
TRACER
|
||||||
|
.spanBuilder(DECORATE.spanNameOnStatement(sql))
|
||||||
|
.setSpanKind(CLIENT)
|
||||||
|
.setAttribute("span.origin.type", statement.getClass().getName())
|
||||||
|
.startSpan();
|
||||||
DECORATE.afterStart(span);
|
DECORATE.afterStart(span);
|
||||||
DECORATE.onConnection(span, connection);
|
DECORATE.onConnection(span, connection);
|
||||||
DECORATE.onStatement(span, sql);
|
DECORATE.onStatement(span, sql);
|
||||||
span.setAttribute("span.origin.type", statement.getClass().getName());
|
|
||||||
return new SpanWithScope(span, currentContextWith(span));
|
return new SpanWithScope(span, currentContextWith(span));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -113,8 +113,8 @@ public final class JMSMessageConsumerInstrumentation extends Instrumenter.Defaul
|
||||||
spanBuilder.addLink(spanContext);
|
spanBuilder.addLink(spanContext);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
final Span span = spanBuilder.startSpan();
|
final Span span =
|
||||||
span.setAttribute("span.origin.type", consumer.getClass().getName());
|
spanBuilder.setAttribute("span.origin.type", consumer.getClass().getName()).startSpan();
|
||||||
|
|
||||||
try (final Scope scope = currentContextWith(span)) {
|
try (final Scope scope = currentContextWith(span)) {
|
||||||
DECORATE.afterStart(span);
|
DECORATE.afterStart(span);
|
||||||
|
|
|
@ -84,8 +84,8 @@ public final class JMSMessageListenerInstrumentation extends Instrumenter.Defaul
|
||||||
TRACER.spanBuilder(DECORATE.spanNameForConsumer(message)).setSpanKind(CONSUMER);
|
TRACER.spanBuilder(DECORATE.spanNameForConsumer(message)).setSpanKind(CONSUMER);
|
||||||
spanBuilder.setParent(extract(message, GETTER));
|
spanBuilder.setParent(extract(message, GETTER));
|
||||||
|
|
||||||
final Span span = spanBuilder.startSpan();
|
final Span span =
|
||||||
span.setAttribute("span.origin.type", listener.getClass().getName());
|
spanBuilder.setAttribute("span.origin.type", listener.getClass().getName()).startSpan();
|
||||||
DECORATE.afterStart(span);
|
DECORATE.afterStart(span);
|
||||||
|
|
||||||
return new SpanWithScope(span, currentContextWith(span));
|
return new SpanWithScope(span, currentContextWith(span));
|
||||||
|
|
|
@ -108,8 +108,8 @@ public final class JMSMessageProducerInstrumentation extends Instrumenter.Defaul
|
||||||
TRACER
|
TRACER
|
||||||
.spanBuilder(DECORATE.spanNameForProducer(message, defaultDestination))
|
.spanBuilder(DECORATE.spanNameForProducer(message, defaultDestination))
|
||||||
.setSpanKind(PRODUCER)
|
.setSpanKind(PRODUCER)
|
||||||
|
.setAttribute("span.origin.type", producer.getClass().getName())
|
||||||
.startSpan();
|
.startSpan();
|
||||||
span.setAttribute("span.origin.type", producer.getClass().getName());
|
|
||||||
DECORATE.afterStart(span);
|
DECORATE.afterStart(span);
|
||||||
|
|
||||||
final Context context = withSpan(span, Context.current());
|
final Context context = withSpan(span, Context.current());
|
||||||
|
@ -151,8 +151,8 @@ public final class JMSMessageProducerInstrumentation extends Instrumenter.Defaul
|
||||||
TRACER
|
TRACER
|
||||||
.spanBuilder(DECORATE.spanNameForProducer(message, destination))
|
.spanBuilder(DECORATE.spanNameForProducer(message, destination))
|
||||||
.setSpanKind(PRODUCER)
|
.setSpanKind(PRODUCER)
|
||||||
|
.setAttribute("span.origin.type", producer.getClass().getName())
|
||||||
.startSpan();
|
.startSpan();
|
||||||
span.setAttribute("span.origin.type", producer.getClass().getName());
|
|
||||||
DECORATE.afterStart(span);
|
DECORATE.afterStart(span);
|
||||||
|
|
||||||
final Context context = withSpan(span, Context.current());
|
final Context context = withSpan(span, Context.current());
|
||||||
|
|
|
@ -76,9 +76,12 @@ public final class JSPInstrumentation extends Instrumenter.Default {
|
||||||
@Advice.OnMethodEnter(suppress = Throwable.class)
|
@Advice.OnMethodEnter(suppress = Throwable.class)
|
||||||
public static SpanWithScope onEnter(
|
public static SpanWithScope onEnter(
|
||||||
@Advice.This final Object obj, @Advice.Argument(0) final HttpServletRequest req) {
|
@Advice.This final Object obj, @Advice.Argument(0) final HttpServletRequest req) {
|
||||||
final Span span = TRACER.spanBuilder(DECORATE.spanNameOnRender(req)).startSpan();
|
final Span span =
|
||||||
span.setAttribute("span.origin.type", obj.getClass().getSimpleName());
|
TRACER
|
||||||
span.setAttribute("servlet.context", req.getContextPath());
|
.spanBuilder(DECORATE.spanNameOnRender(req))
|
||||||
|
.setAttribute("span.origin.type", obj.getClass().getSimpleName())
|
||||||
|
.setAttribute("servlet.context", req.getContextPath())
|
||||||
|
.startSpan();
|
||||||
DECORATE.afterStart(span);
|
DECORATE.afterStart(span);
|
||||||
DECORATE.onRender(span, req);
|
DECORATE.onRender(span, req);
|
||||||
return new SpanWithScope(span, currentContextWith(span));
|
return new SpanWithScope(span, currentContextWith(span));
|
||||||
|
|
|
@ -39,10 +39,13 @@ public class Log4jSpans {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Span span = TRACER.spanBuilder("log.message").startSpan();
|
final Span span =
|
||||||
span.setAttribute("message", message.getFormattedMessage());
|
TRACER
|
||||||
span.setAttribute("level", level.toString());
|
.spanBuilder("log.message")
|
||||||
span.setAttribute("loggerName", logger.getName());
|
.setAttribute("message", message.getFormattedMessage())
|
||||||
|
.setAttribute("level", level.toString())
|
||||||
|
.setAttribute("loggerName", logger.getName())
|
||||||
|
.startSpan();
|
||||||
if (t != null) {
|
if (t != null) {
|
||||||
span.setAttribute("error.stack", toString(t));
|
span.setAttribute("error.stack", toString(t));
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,10 +48,13 @@ public class LogbackSpans {
|
||||||
t = ((ThrowableProxy) throwableProxy).getThrowable();
|
t = ((ThrowableProxy) throwableProxy).getThrowable();
|
||||||
}
|
}
|
||||||
|
|
||||||
final Span span = TRACER.spanBuilder("log.message").startSpan();
|
final Span span =
|
||||||
span.setAttribute("message", event.getFormattedMessage());
|
TRACER
|
||||||
span.setAttribute("level", level.toString());
|
.spanBuilder("log.message")
|
||||||
span.setAttribute("loggerName", event.getLoggerName());
|
.setAttribute("message", event.getFormattedMessage())
|
||||||
|
.setAttribute("level", level.toString())
|
||||||
|
.setAttribute("loggerName", event.getLoggerName())
|
||||||
|
.startSpan();
|
||||||
if (t != null) {
|
if (t != null) {
|
||||||
span.setAttribute("error.stack", toString(t));
|
span.setAttribute("error.stack", toString(t));
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,9 +90,11 @@ public class TracedDelegatingConsumer implements Consumer {
|
||||||
spanBuilder.setNoParent();
|
spanBuilder.setNoParent();
|
||||||
}
|
}
|
||||||
|
|
||||||
span = spanBuilder.startSpan();
|
span =
|
||||||
span.setAttribute("message.size", body == null ? 0 : body.length);
|
spanBuilder
|
||||||
span.setAttribute("span.origin.type", delegate.getClass().getName());
|
.setAttribute("message.size", body == null ? 0 : body.length)
|
||||||
|
.setAttribute("span.origin.type", delegate.getClass().getName())
|
||||||
|
.startSpan();
|
||||||
DECORATE.afterStart(span);
|
DECORATE.afterStart(span);
|
||||||
DECORATE.onDeliver(span, envelope);
|
DECORATE.onDeliver(span, envelope);
|
||||||
|
|
||||||
|
|
|
@ -70,9 +70,11 @@ public final class RmiClientInstrumentation extends Instrumenter.Default {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
final Span span =
|
final Span span =
|
||||||
TRACER.spanBuilder(DECORATE.spanNameForMethod(method)).setSpanKind(CLIENT).startSpan();
|
TRACER
|
||||||
span.setAttribute("span.origin.type", method.getDeclaringClass().getCanonicalName());
|
.spanBuilder(DECORATE.spanNameForMethod(method))
|
||||||
|
.setSpanKind(CLIENT)
|
||||||
|
.setAttribute("span.origin.type", method.getDeclaringClass().getCanonicalName())
|
||||||
|
.startSpan();
|
||||||
DECORATE.afterStart(span);
|
DECORATE.afterStart(span);
|
||||||
return new SpanWithScope(span, currentContextWith(span));
|
return new SpanWithScope(span, currentContextWith(span));
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,8 +82,10 @@ public final class RmiServerInstrumentation extends Instrumenter.Default {
|
||||||
} else {
|
} else {
|
||||||
spanBuilder.setNoParent();
|
spanBuilder.setNoParent();
|
||||||
}
|
}
|
||||||
final Span span = spanBuilder.startSpan();
|
final Span span =
|
||||||
span.setAttribute("span.origin.type", thiz.getClass().getCanonicalName());
|
spanBuilder
|
||||||
|
.setAttribute("span.origin.type", thiz.getClass().getCanonicalName())
|
||||||
|
.startSpan();
|
||||||
|
|
||||||
DECORATE.afterStart(span);
|
DECORATE.afterStart(span);
|
||||||
return new SpanWithScope(span, currentContextWith(span));
|
return new SpanWithScope(span, currentContextWith(span));
|
||||||
|
|
|
@ -66,8 +66,8 @@ public class Servlet2Advice {
|
||||||
TRACER.spanBuilder(DECORATE.spanNameForRequest(httpServletRequest)).setSpanKind(SERVER);
|
TRACER.spanBuilder(DECORATE.spanNameForRequest(httpServletRequest)).setSpanKind(SERVER);
|
||||||
builder.setParent(extract(httpServletRequest, GETTER));
|
builder.setParent(extract(httpServletRequest, GETTER));
|
||||||
|
|
||||||
final Span span = builder.startSpan();
|
final Span span =
|
||||||
span.setAttribute("span.origin.type", servlet.getClass().getName());
|
builder.setAttribute("span.origin.type", servlet.getClass().getName()).startSpan();
|
||||||
|
|
||||||
DECORATE.afterStart(span);
|
DECORATE.afterStart(span);
|
||||||
DECORATE.onConnection(span, httpServletRequest);
|
DECORATE.onConnection(span, httpServletRequest);
|
||||||
|
|
|
@ -77,8 +77,8 @@ public class Servlet3Advice {
|
||||||
final Span.Builder builder =
|
final Span.Builder builder =
|
||||||
TRACER.spanBuilder(DECORATE.spanNameForRequest(httpServletRequest)).setSpanKind(SERVER);
|
TRACER.spanBuilder(DECORATE.spanNameForRequest(httpServletRequest)).setSpanKind(SERVER);
|
||||||
builder.setParent(extract(httpServletRequest, GETTER));
|
builder.setParent(extract(httpServletRequest, GETTER));
|
||||||
final Span span = builder.startSpan();
|
final Span span =
|
||||||
span.setAttribute("span.origin.type", servlet.getClass().getName());
|
builder.setAttribute("span.origin.type", servlet.getClass().getName()).startSpan();
|
||||||
|
|
||||||
DECORATE.afterStart(span);
|
DECORATE.afterStart(span);
|
||||||
DECORATE.onConnection(span, httpServletRequest);
|
DECORATE.onConnection(span, httpServletRequest);
|
||||||
|
|
|
@ -113,12 +113,15 @@ public final class RequestDispatcherInstrumentation extends Instrumenter.Default
|
||||||
parent = servletSpan;
|
parent = servletSpan;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Span span = TRACER.spanBuilder("servlet." + method).setParent(parent).startSpan();
|
|
||||||
DECORATE.afterStart(span);
|
|
||||||
|
|
||||||
final String target =
|
final String target =
|
||||||
InstrumentationContext.get(RequestDispatcher.class, String.class).get(dispatcher);
|
InstrumentationContext.get(RequestDispatcher.class, String.class).get(dispatcher);
|
||||||
span.setAttribute("dispatcher.target", target);
|
final Span span =
|
||||||
|
TRACER
|
||||||
|
.spanBuilder("servlet." + method)
|
||||||
|
.setParent(parent)
|
||||||
|
.setAttribute("dispatcher.target", target)
|
||||||
|
.startSpan();
|
||||||
|
DECORATE.afterStart(span);
|
||||||
|
|
||||||
// save the original servlet span before overwriting the request attribute, so that it can be
|
// save the original servlet span before overwriting the request attribute, so that it can be
|
||||||
// restored on method exit
|
// restored on method exit
|
||||||
|
|
Loading…
Reference in New Issue