public class com.codahale.metrics.jdbi3.InstrumentedSqlLogger implements org.jdbi.v3.core.statement.SqlLogger
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.codahale.metrics.jdbi3.InstrumentedSqlLogger
  super_class: java.lang.Object
{
  private final com.codahale.metrics.MetricRegistry registry;
    descriptor: Lcom/codahale/metrics/MetricRegistry;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.codahale.metrics.jdbi3.strategies.StatementNameStrategy statementNameStrategy;
    descriptor: Lcom/codahale/metrics/jdbi3/strategies/StatementNameStrategy;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(com.codahale.metrics.MetricRegistry);
    descriptor: (Lcom/codahale/metrics/MetricRegistry;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.codahale.metrics.jdbi3.InstrumentedSqlLogger this
        start local 1 // com.codahale.metrics.MetricRegistry registry
         0: .line 22
            aload 0 /* this */
            aload 1 /* registry */
            new com.codahale.metrics.jdbi3.strategies.SmartNameStrategy
            dup
            invokespecial com.codahale.metrics.jdbi3.strategies.SmartNameStrategy.<init>:()V
            invokespecial com.codahale.metrics.jdbi3.InstrumentedSqlLogger.<init>:(Lcom/codahale/metrics/MetricRegistry;Lcom/codahale/metrics/jdbi3/strategies/StatementNameStrategy;)V
         1: .line 23
            return
        end local 1 // com.codahale.metrics.MetricRegistry registry
        end local 0 // com.codahale.metrics.jdbi3.InstrumentedSqlLogger this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/codahale/metrics/jdbi3/InstrumentedSqlLogger;
            0    2     1  registry  Lcom/codahale/metrics/MetricRegistry;
    MethodParameters:
          Name  Flags
      registry  

  public void <init>(com.codahale.metrics.MetricRegistry, com.codahale.metrics.jdbi3.strategies.StatementNameStrategy);
    descriptor: (Lcom/codahale/metrics/MetricRegistry;Lcom/codahale/metrics/jdbi3/strategies/StatementNameStrategy;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.codahale.metrics.jdbi3.InstrumentedSqlLogger this
        start local 1 // com.codahale.metrics.MetricRegistry registry
        start local 2 // com.codahale.metrics.jdbi3.strategies.StatementNameStrategy statementNameStrategy
         0: .line 25
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 27
            aload 0 /* this */
            aload 1 /* registry */
            putfield com.codahale.metrics.jdbi3.InstrumentedSqlLogger.registry:Lcom/codahale/metrics/MetricRegistry;
         2: .line 28
            aload 0 /* this */
            aload 2 /* statementNameStrategy */
            putfield com.codahale.metrics.jdbi3.InstrumentedSqlLogger.statementNameStrategy:Lcom/codahale/metrics/jdbi3/strategies/StatementNameStrategy;
         3: .line 29
            return
        end local 2 // com.codahale.metrics.jdbi3.strategies.StatementNameStrategy statementNameStrategy
        end local 1 // com.codahale.metrics.MetricRegistry registry
        end local 0 // com.codahale.metrics.jdbi3.InstrumentedSqlLogger this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    4     0                   this  Lcom/codahale/metrics/jdbi3/InstrumentedSqlLogger;
            0    4     1               registry  Lcom/codahale/metrics/MetricRegistry;
            0    4     2  statementNameStrategy  Lcom/codahale/metrics/jdbi3/strategies/StatementNameStrategy;
    MethodParameters:
                       Name  Flags
      registry               
      statementNameStrategy  

  public void logAfterExecution(org.jdbi.v3.core.statement.StatementContext);
    descriptor: (Lorg/jdbi/v3/core/statement/StatementContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.codahale.metrics.jdbi3.InstrumentedSqlLogger this
        start local 1 // org.jdbi.v3.core.statement.StatementContext context
         0: .line 33
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual com.codahale.metrics.jdbi3.InstrumentedSqlLogger.log:(Lorg/jdbi/v3/core/statement/StatementContext;)V
         1: .line 34
            return
        end local 1 // org.jdbi.v3.core.statement.StatementContext context
        end local 0 // com.codahale.metrics.jdbi3.InstrumentedSqlLogger this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/codahale/metrics/jdbi3/InstrumentedSqlLogger;
            0    2     1  context  Lorg/jdbi/v3/core/statement/StatementContext;
    MethodParameters:
         Name  Flags
      context  

  public void logException(org.jdbi.v3.core.statement.StatementContext, java.sql.SQLException);
    descriptor: (Lorg/jdbi/v3/core/statement/StatementContext;Ljava/sql/SQLException;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.codahale.metrics.jdbi3.InstrumentedSqlLogger this
        start local 1 // org.jdbi.v3.core.statement.StatementContext context
        start local 2 // java.sql.SQLException ex
         0: .line 38
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual com.codahale.metrics.jdbi3.InstrumentedSqlLogger.log:(Lorg/jdbi/v3/core/statement/StatementContext;)V
         1: .line 39
            return
        end local 2 // java.sql.SQLException ex
        end local 1 // org.jdbi.v3.core.statement.StatementContext context
        end local 0 // com.codahale.metrics.jdbi3.InstrumentedSqlLogger this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/codahale/metrics/jdbi3/InstrumentedSqlLogger;
            0    2     1  context  Lorg/jdbi/v3/core/statement/StatementContext;
            0    2     2       ex  Ljava/sql/SQLException;
    MethodParameters:
         Name  Flags
      context  
      ex       

  private void log(org.jdbi.v3.core.statement.StatementContext);
    descriptor: (Lorg/jdbi/v3/core/statement/StatementContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.codahale.metrics.jdbi3.InstrumentedSqlLogger this
        start local 1 // org.jdbi.v3.core.statement.StatementContext context
         0: .line 42
            aload 0 /* this */
            getfield com.codahale.metrics.jdbi3.InstrumentedSqlLogger.statementNameStrategy:Lcom/codahale/metrics/jdbi3/strategies/StatementNameStrategy;
            aload 1 /* context */
            invokeinterface com.codahale.metrics.jdbi3.strategies.StatementNameStrategy.getStatementName:(Lorg/jdbi/v3/core/statement/StatementContext;)Ljava/lang/String;
            astore 2 /* statementName */
        start local 2 // java.lang.String statementName
         1: .line 43
            aload 2 /* statementName */
            ifnull 4
         2: .line 44
            aload 1 /* context */
            getstatic java.time.temporal.ChronoUnit.NANOS:Ljava/time/temporal/ChronoUnit;
            invokevirtual org.jdbi.v3.core.statement.StatementContext.getElapsedTime:(Ljava/time/temporal/ChronoUnit;)J
            lstore 3 /* elapsed */
        start local 3 // long elapsed
         3: .line 45
            aload 0 /* this */
            getfield com.codahale.metrics.jdbi3.InstrumentedSqlLogger.registry:Lcom/codahale/metrics/MetricRegistry;
            aload 2 /* statementName */
            invokevirtual com.codahale.metrics.MetricRegistry.timer:(Ljava/lang/String;)Lcom/codahale/metrics/Timer;
            lload 3 /* elapsed */
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.codahale.metrics.Timer.update:(JLjava/util/concurrent/TimeUnit;)V
        end local 3 // long elapsed
         4: .line 47
      StackMap locals: java.lang.String
      StackMap stack:
            return
        end local 2 // java.lang.String statementName
        end local 1 // org.jdbi.v3.core.statement.StatementContext context
        end local 0 // com.codahale.metrics.jdbi3.InstrumentedSqlLogger this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lcom/codahale/metrics/jdbi3/InstrumentedSqlLogger;
            0    5     1        context  Lorg/jdbi/v3/core/statement/StatementContext;
            1    5     2  statementName  Ljava/lang/String;
            3    4     3        elapsed  J
    MethodParameters:
         Name  Flags
      context  
}
SourceFile: "InstrumentedSqlLogger.java"