Hi,
I am seeing the Gerrit application with terrible performance. One of the bottlenecks is this call path. Which is caused by an instrumentation project calling an unsupported method on the Connection.isWrappedFor method.
Stack Trace Count Percentage
String org.h2.message.TraceSystem.format(String, String) 194278 97.4 %
void org.h2.message.TraceSystem.write(int, String, String, Throwable) 194278 97.4 %
void org.h2.message.Trace.error(Throwable, String) 194278 97.4 %
SQLException org.h2.message.TraceObject.logAndConvert(Exception) 194278 97.4 %
SQLException org.h2.message.TraceObject.unsupported(String) 194278 97.4 %
boolean org.h2.jdbc.JdbcConnection.isWrapperFor(Class) 194278 97.4 %
Connection io.opentelemetry.javaagent.instrumentation.jdbc.JdbcUtils.connectionFromStatement(Statement) 194278 97.4 %
DbRequest io.opentelemetry.javaagent.instrumentation.jdbc.DbRequest.create(Statement, String) 194278 97.4 %
DbRequest io.opentelemetry.javaagent.instrumentation.jdbc.DbRequest.create(PreparedStatement) 194278 97.4 %
int org.h2.jdbc.JdbcPreparedStatement.executeUpdate() 102517 51.4 %
I have a proposal. That the trace message be logged with a level of Info rather than Error.
The change is best added here to the control flow
Checking for an errorcode of 50100.
Does this proposal to change the trace level pose concerns ?
Regards,
Jeremy