void finishSpan(Exception error) { Span span = this.threadLocalSpan.remove(); if (span == null || span.isNoop()) return; if (error != null) { // an error occurred, adding error to span String message = error.getMessage(); if (message == null) message = error.getClass().getSimpleName(); span.tag("error", message); } span.finish(); }
@Override public void onAfterAnyExecute(StatementInformation info, long elapsed, SQLException e) { Span span = ThreadLocalSpan.CURRENT_TRACER.remove(); if (span == null || span.isNoop()) return; if (e != null) { span.tag("error", Integer.toString(e.getErrorCode())); } span.finish(); }
@Override public <T extends Resultset> T postProcess(Supplier<String> sql, Query interceptedQuery, T originalResultSet, ServerSession serverSession) { if (interceptingExceptions && originalResultSet == null) { // Error case, the span will be finished in TracingExceptionInterceptor. return null; } Span span = ThreadLocalSpan.CURRENT_TRACER.remove(); if (span == null || span.isNoop()) return null; span.finish(); return null; }
@Override public <T extends Resultset> T postProcess(String sql, Statement interceptedStatement, T originalResultSet, int warningCount, boolean noIndexUsed, boolean noGoodIndexUsed, Exception statementException) { Span span = ThreadLocalSpan.CURRENT_TRACER.remove(); if (span == null || span.isNoop()) return null; if (statementException instanceof SQLException) { span.tag("error", Integer.toString(((SQLException) statementException).getErrorCode())); } span.finish(); return null; }
@Override public ResultSetInternalMethods postProcess(String sql, Statement interceptedStatement, ResultSetInternalMethods originalResultSet, Connection connection, int warningCount, boolean noIndexUsed, boolean noGoodIndexUsed, SQLException statementException) { Span span = ThreadLocalSpan.CURRENT_TRACER.remove(); if (span == null || span.isNoop()) return null; if (statementException != null) { span.tag("error", Integer.toString(statementException.getErrorCode())); } span.finish(); return null; }
/** * Uses {@link ThreadLocalSpan} as there's no attribute namespace shared between callbacks, but * all callbacks happen on the same thread. The span will already have been created in * {@link TracingQueryInterceptor}. * * <p>Uses {@link ThreadLocalSpan#CURRENT_TRACER} and this interceptor initializes before * tracing. */ @Override public Exception interceptException(Exception e) { Span span = ThreadLocalSpan.CURRENT_TRACER.remove(); if (span == null || span.isNoop()) return null; if (e instanceof SQLException) { span.tag("error", Integer.toString(((SQLException) e).getErrorCode())); } span.finish(); return null; } }
void finishSpan(Throwable error) { Span span = this.threadLocalSpan.remove(); if (span == null || span.isNoop()) return; if (error != null) { // an error occurred, adding error to span String message = error.getMessage(); if (message == null) message = error.getClass().getSimpleName(); span.tag("error", message); } span.finish(); }
void finishSpan(Exception error) { Span span = this.threadLocalSpan.remove(); if (span == null || span.isNoop()) return; if (error != null) { // an error occurred, adding error to span String message = error.getMessage(); if (message == null) message = error.getClass().getSimpleName(); span.tag("error", message); } span.finish(); }
@Override public <T extends Resultset> T postProcess(Supplier<String> sql, Query interceptedQuery, T originalResultSet, ServerSession serverSession) { if (interceptingExceptions && originalResultSet == null) { // Error case, the span will be finished in TracingExceptionInterceptor. return null; } Span span = ThreadLocalSpan.CURRENT_TRACER.remove(); if (span == null || span.isNoop()) return null; span.finish(); return null; }
/** * Uses {@link ThreadLocalSpan} as there's no attribute namespace shared between callbacks, but * all callbacks happen on the same thread. The span will already have been created in * {@link TracingQueryInterceptor}. * * <p>Uses {@link ThreadLocalSpan#CURRENT_TRACER} and this interceptor initializes before * tracing. */ @Override public Exception interceptException(Exception e) { Span span = ThreadLocalSpan.CURRENT_TRACER.remove(); if (span == null || span.isNoop()) return null; if (e instanceof SQLException) { span.tag("error", Integer.toString(((SQLException) e).getErrorCode())); } span.finish(); return null; } }