Use Builder::setAttribute whenever possible (#348)

This commit is contained in:
Pontus Rydin 2020-04-27 16:51:34 -04:00 committed by GitHub
parent 25740536a1
commit 9568ba079b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 82 additions and 47 deletions

View File

@ -82,8 +82,11 @@ public final class DropwizardViewInstrumentation extends Instrumenter.Default {
if (!TRACER.getCurrentSpan().getContext().isValid()) {
return null;
}
final Span span = TRACER.spanBuilder("Render " + view.getTemplateName()).startSpan();
span.setAttribute("span.origin.type", obj.getClass().getSimpleName());
final Span span =
TRACER
.spanBuilder("Render " + view.getTemplateName())
.setAttribute("span.origin.type", obj.getClass().getSimpleName())
.startSpan();
return new SpanWithScope(span, currentContextWith(span));
}

View File

@ -92,9 +92,13 @@ public class GeodeInstrumentation extends Instrumenter.Default {
if (CallDepthThreadLocalMap.incrementCallDepth(Region.class) > 0) {
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);
span.setAttribute(Tags.DB_INSTANCE, thiz.getName());
return new SpanWithScope(span, currentContextWith(span));
}
@ -125,10 +129,14 @@ public class GeodeInstrumentation extends Instrumenter.Default {
if (CallDepthThreadLocalMap.incrementCallDepth(Region.class) > 0) {
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);
span.setAttribute(Tags.DB_INSTANCE, thiz.getName());
span.setAttribute(Tags.DB_STATEMENT, query);
return new SpanWithScope(span, currentContextWith(span));
}

View File

@ -47,10 +47,13 @@ public class JavaUtilLoggingSpans {
}
final Throwable t = logRecord.getThrown();
final Span span = TRACER.spanBuilder("log.message").startSpan();
span.setAttribute("message", FORMATTER.formatMessage(logRecord));
span.setAttribute("level", level.getName());
span.setAttribute("loggerName", logger.getName());
final Span span =
TRACER
.spanBuilder("log.message")
.setAttribute("message", FORMATTER.formatMessage(logRecord))
.setAttribute("level", level.getName())
.setAttribute("loggerName", logger.getName())
.startSpan();
if (t != null) {
span.setAttribute("error.stack", toString(t));
}

View File

@ -84,11 +84,11 @@ public final class PreparedStatementInstrumentation extends Instrumenter.Default
TRACER
.spanBuilder(DECORATE.spanNameOnPreparedStatement(statement))
.setSpanKind(CLIENT)
.setAttribute("span.origin.type", statement.getClass().getName())
.startSpan();
DECORATE.afterStart(span);
DECORATE.onConnection(span, connection);
DECORATE.onPreparedStatement(span, statement);
span.setAttribute("span.origin.type", statement.getClass().getName());
return new SpanWithScope(span, currentContextWith(span));
}

View File

@ -82,11 +82,14 @@ public final class StatementInstrumentation extends Instrumenter.Default {
}
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.onConnection(span, connection);
DECORATE.onStatement(span, sql);
span.setAttribute("span.origin.type", statement.getClass().getName());
return new SpanWithScope(span, currentContextWith(span));
}

View File

@ -113,8 +113,8 @@ public final class JMSMessageConsumerInstrumentation extends Instrumenter.Defaul
spanBuilder.addLink(spanContext);
}
}
final Span span = spanBuilder.startSpan();
span.setAttribute("span.origin.type", consumer.getClass().getName());
final Span span =
spanBuilder.setAttribute("span.origin.type", consumer.getClass().getName()).startSpan();
try (final Scope scope = currentContextWith(span)) {
DECORATE.afterStart(span);

View File

@ -84,8 +84,8 @@ public final class JMSMessageListenerInstrumentation extends Instrumenter.Defaul
TRACER.spanBuilder(DECORATE.spanNameForConsumer(message)).setSpanKind(CONSUMER);
spanBuilder.setParent(extract(message, GETTER));
final Span span = spanBuilder.startSpan();
span.setAttribute("span.origin.type", listener.getClass().getName());
final Span span =
spanBuilder.setAttribute("span.origin.type", listener.getClass().getName()).startSpan();
DECORATE.afterStart(span);
return new SpanWithScope(span, currentContextWith(span));

View File

@ -108,8 +108,8 @@ public final class JMSMessageProducerInstrumentation extends Instrumenter.Defaul
TRACER
.spanBuilder(DECORATE.spanNameForProducer(message, defaultDestination))
.setSpanKind(PRODUCER)
.setAttribute("span.origin.type", producer.getClass().getName())
.startSpan();
span.setAttribute("span.origin.type", producer.getClass().getName());
DECORATE.afterStart(span);
final Context context = withSpan(span, Context.current());
@ -151,8 +151,8 @@ public final class JMSMessageProducerInstrumentation extends Instrumenter.Defaul
TRACER
.spanBuilder(DECORATE.spanNameForProducer(message, destination))
.setSpanKind(PRODUCER)
.setAttribute("span.origin.type", producer.getClass().getName())
.startSpan();
span.setAttribute("span.origin.type", producer.getClass().getName());
DECORATE.afterStart(span);
final Context context = withSpan(span, Context.current());

View File

@ -76,9 +76,12 @@ public final class JSPInstrumentation extends Instrumenter.Default {
@Advice.OnMethodEnter(suppress = Throwable.class)
public static SpanWithScope onEnter(
@Advice.This final Object obj, @Advice.Argument(0) final HttpServletRequest req) {
final Span span = TRACER.spanBuilder(DECORATE.spanNameOnRender(req)).startSpan();
span.setAttribute("span.origin.type", obj.getClass().getSimpleName());
span.setAttribute("servlet.context", req.getContextPath());
final Span span =
TRACER
.spanBuilder(DECORATE.spanNameOnRender(req))
.setAttribute("span.origin.type", obj.getClass().getSimpleName())
.setAttribute("servlet.context", req.getContextPath())
.startSpan();
DECORATE.afterStart(span);
DECORATE.onRender(span, req);
return new SpanWithScope(span, currentContextWith(span));

View File

@ -39,10 +39,13 @@ public class Log4jSpans {
return;
}
final Span span = TRACER.spanBuilder("log.message").startSpan();
span.setAttribute("message", message.getFormattedMessage());
span.setAttribute("level", level.toString());
span.setAttribute("loggerName", logger.getName());
final Span span =
TRACER
.spanBuilder("log.message")
.setAttribute("message", message.getFormattedMessage())
.setAttribute("level", level.toString())
.setAttribute("loggerName", logger.getName())
.startSpan();
if (t != null) {
span.setAttribute("error.stack", toString(t));
}

View File

@ -48,10 +48,13 @@ public class LogbackSpans {
t = ((ThrowableProxy) throwableProxy).getThrowable();
}
final Span span = TRACER.spanBuilder("log.message").startSpan();
span.setAttribute("message", event.getFormattedMessage());
span.setAttribute("level", level.toString());
span.setAttribute("loggerName", event.getLoggerName());
final Span span =
TRACER
.spanBuilder("log.message")
.setAttribute("message", event.getFormattedMessage())
.setAttribute("level", level.toString())
.setAttribute("loggerName", event.getLoggerName())
.startSpan();
if (t != null) {
span.setAttribute("error.stack", toString(t));
}

View File

@ -90,9 +90,11 @@ public class TracedDelegatingConsumer implements Consumer {
spanBuilder.setNoParent();
}
span = spanBuilder.startSpan();
span.setAttribute("message.size", body == null ? 0 : body.length);
span.setAttribute("span.origin.type", delegate.getClass().getName());
span =
spanBuilder
.setAttribute("message.size", body == null ? 0 : body.length)
.setAttribute("span.origin.type", delegate.getClass().getName())
.startSpan();
DECORATE.afterStart(span);
DECORATE.onDeliver(span, envelope);

View File

@ -70,9 +70,11 @@ public final class RmiClientInstrumentation extends Instrumenter.Default {
return null;
}
final Span span =
TRACER.spanBuilder(DECORATE.spanNameForMethod(method)).setSpanKind(CLIENT).startSpan();
span.setAttribute("span.origin.type", method.getDeclaringClass().getCanonicalName());
TRACER
.spanBuilder(DECORATE.spanNameForMethod(method))
.setSpanKind(CLIENT)
.setAttribute("span.origin.type", method.getDeclaringClass().getCanonicalName())
.startSpan();
DECORATE.afterStart(span);
return new SpanWithScope(span, currentContextWith(span));
}

View File

@ -82,8 +82,10 @@ public final class RmiServerInstrumentation extends Instrumenter.Default {
} else {
spanBuilder.setNoParent();
}
final Span span = spanBuilder.startSpan();
span.setAttribute("span.origin.type", thiz.getClass().getCanonicalName());
final Span span =
spanBuilder
.setAttribute("span.origin.type", thiz.getClass().getCanonicalName())
.startSpan();
DECORATE.afterStart(span);
return new SpanWithScope(span, currentContextWith(span));

View File

@ -66,8 +66,8 @@ public class Servlet2Advice {
TRACER.spanBuilder(DECORATE.spanNameForRequest(httpServletRequest)).setSpanKind(SERVER);
builder.setParent(extract(httpServletRequest, GETTER));
final Span span = builder.startSpan();
span.setAttribute("span.origin.type", servlet.getClass().getName());
final Span span =
builder.setAttribute("span.origin.type", servlet.getClass().getName()).startSpan();
DECORATE.afterStart(span);
DECORATE.onConnection(span, httpServletRequest);

View File

@ -77,8 +77,8 @@ public class Servlet3Advice {
final Span.Builder builder =
TRACER.spanBuilder(DECORATE.spanNameForRequest(httpServletRequest)).setSpanKind(SERVER);
builder.setParent(extract(httpServletRequest, GETTER));
final Span span = builder.startSpan();
span.setAttribute("span.origin.type", servlet.getClass().getName());
final Span span =
builder.setAttribute("span.origin.type", servlet.getClass().getName()).startSpan();
DECORATE.afterStart(span);
DECORATE.onConnection(span, httpServletRequest);

View File

@ -113,12 +113,15 @@ public final class RequestDispatcherInstrumentation extends Instrumenter.Default
parent = servletSpan;
}
final Span span = TRACER.spanBuilder("servlet." + method).setParent(parent).startSpan();
DECORATE.afterStart(span);
final String target =
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
// restored on method exit