class org.apache.cassandra.db.monitoring.MonitoringTask
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.cassandra.db.monitoring.MonitoringTask
  super_class: java.lang.Object
{
  private static final java.lang.String LINE_SEPARATOR;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.apache.cassandra.utils.NoSpamLogger noSpamLogger;
    descriptor: Lorg/apache/cassandra/utils/NoSpamLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int REPORT_INTERVAL_MS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int MAX_OPERATIONS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static org.apache.cassandra.db.monitoring.MonitoringTask instance;
    descriptor: Lorg/apache/cassandra/db/monitoring/MonitoringTask;
    flags: (0x0008) ACC_STATIC
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()

  private final java.util.concurrent.ScheduledFuture<?> reportingTask;
    descriptor: Ljava/util/concurrent/ScheduledFuture;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ScheduledFuture<*>;

  private final org.apache.cassandra.db.monitoring.MonitoringTask$OperationsQueue failedOperationsQueue;
    descriptor: Lorg/apache/cassandra/db/monitoring/MonitoringTask$OperationsQueue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.cassandra.db.monitoring.MonitoringTask$OperationsQueue slowOperationsQueue;
    descriptor: Lorg/apache/cassandra/db/monitoring/MonitoringTask$OperationsQueue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private long lastLogTime;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 50
            ldc "line.separator"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            putstatic org.apache.cassandra.db.monitoring.MonitoringTask.LINE_SEPARATOR:Ljava/lang/String;
         1: .line 51
            ldc Lorg/apache/cassandra/db/monitoring/MonitoringTask;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.db.monitoring.MonitoringTask.logger:Lorg/slf4j/Logger;
         2: .line 52
            getstatic org.apache.cassandra.db.monitoring.MonitoringTask.logger:Lorg/slf4j/Logger;
            ldc 5
            getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
            invokestatic org.apache.cassandra.utils.NoSpamLogger.getLogger:(Lorg/slf4j/Logger;JLjava/util/concurrent/TimeUnit;)Lorg/apache/cassandra/utils/NoSpamLogger;
            putstatic org.apache.cassandra.db.monitoring.MonitoringTask.noSpamLogger:Lorg/apache/cassandra/utils/NoSpamLogger;
         3: .line 57
            iconst_0
            ldc "cassandra.monitoring_report_interval_ms"
            ldc "5000"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            invokestatic java.lang.Math.max:(II)I
            putstatic org.apache.cassandra.db.monitoring.MonitoringTask.REPORT_INTERVAL_MS:I
         4: .line 63
            ldc "cassandra.monitoring_max_operations"
            ldc "50"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putstatic org.apache.cassandra.db.monitoring.MonitoringTask.MAX_OPERATIONS:I
         5: .line 66
            getstatic org.apache.cassandra.db.monitoring.MonitoringTask.REPORT_INTERVAL_MS:I
            getstatic org.apache.cassandra.db.monitoring.MonitoringTask.MAX_OPERATIONS:I
            invokestatic org.apache.cassandra.db.monitoring.MonitoringTask.make:(II)Lorg/apache/cassandra/db/monitoring/MonitoringTask;
            putstatic org.apache.cassandra.db.monitoring.MonitoringTask.instance:Lorg/apache/cassandra/db/monitoring/MonitoringTask;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static org.apache.cassandra.db.monitoring.MonitoringTask make(int, int);
    descriptor: (II)Lorg/apache/cassandra/db/monitoring/MonitoringTask;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // int reportIntervalMillis
        start local 1 // int maxTimedoutOperations
         0: .line 77
            getstatic org.apache.cassandra.db.monitoring.MonitoringTask.instance:Lorg/apache/cassandra/db/monitoring/MonitoringTask;
            ifnull 3
         1: .line 79
            getstatic org.apache.cassandra.db.monitoring.MonitoringTask.instance:Lorg/apache/cassandra/db/monitoring/MonitoringTask;
            invokevirtual org.apache.cassandra.db.monitoring.MonitoringTask.cancel:()V
         2: .line 80
            aconst_null
            putstatic org.apache.cassandra.db.monitoring.MonitoringTask.instance:Lorg/apache/cassandra/db/monitoring/MonitoringTask;
         3: .line 83
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.db.monitoring.MonitoringTask
            dup
            iload 0 /* reportIntervalMillis */
            iload 1 /* maxTimedoutOperations */
            invokespecial org.apache.cassandra.db.monitoring.MonitoringTask.<init>:(II)V
            areturn
        end local 1 // int maxTimedoutOperations
        end local 0 // int reportIntervalMillis
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    4     0   reportIntervalMillis  I
            0    4     1  maxTimedoutOperations  I
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.google.common.annotations.VisibleForTesting()
    MethodParameters:
                       Name  Flags
      reportIntervalMillis   
      maxTimedoutOperations  

  private void <init>(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.monitoring.MonitoringTask this
        start local 1 // int reportIntervalMillis
        start local 2 // int maxOperations
         0: .line 86
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 88
            aload 0 /* this */
            new org.apache.cassandra.db.monitoring.MonitoringTask$OperationsQueue
            dup
            iload 2 /* maxOperations */
            invokespecial org.apache.cassandra.db.monitoring.MonitoringTask$OperationsQueue.<init>:(I)V
            putfield org.apache.cassandra.db.monitoring.MonitoringTask.failedOperationsQueue:Lorg/apache/cassandra/db/monitoring/MonitoringTask$OperationsQueue;
         2: .line 89
            aload 0 /* this */
            new org.apache.cassandra.db.monitoring.MonitoringTask$OperationsQueue
            dup
            iload 2 /* maxOperations */
            invokespecial org.apache.cassandra.db.monitoring.MonitoringTask$OperationsQueue.<init>:(I)V
            putfield org.apache.cassandra.db.monitoring.MonitoringTask.slowOperationsQueue:Lorg/apache/cassandra/db/monitoring/MonitoringTask$OperationsQueue;
         3: .line 91
            aload 0 /* this */
            invokestatic org.apache.cassandra.db.monitoring.ApproximateTime.currentTimeMillis:()J
            putfield org.apache.cassandra.db.monitoring.MonitoringTask.lastLogTime:J
         4: .line 93
            getstatic org.apache.cassandra.db.monitoring.MonitoringTask.logger:Lorg/slf4j/Logger;
            ldc "Scheduling monitoring task with report interval of {} ms, max operations {}"
            iload 1 /* reportIntervalMillis */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 2 /* maxOperations */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 94
            aload 0 /* this */
            getstatic org.apache.cassandra.concurrent.ScheduledExecutors.scheduledTasks:Lorg/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor;
            aload 0 /* this */
            invokedynamic run(Lorg/apache/cassandra/db/monitoring/MonitoringTask;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  org/apache/cassandra/db/monitoring/MonitoringTask.lambda$0()V (7)
                  ()V
         6: .line 95
            iload 1 /* reportIntervalMillis */
            i2l
         7: .line 96
            iload 1 /* reportIntervalMillis */
            i2l
         8: .line 97
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
         9: .line 94
            invokevirtual org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor.scheduleWithFixedDelay:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            putfield org.apache.cassandra.db.monitoring.MonitoringTask.reportingTask:Ljava/util/concurrent/ScheduledFuture;
        10: .line 98
            return
        end local 2 // int maxOperations
        end local 1 // int reportIntervalMillis
        end local 0 // org.apache.cassandra.db.monitoring.MonitoringTask this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   11     0                  this  Lorg/apache/cassandra/db/monitoring/MonitoringTask;
            0   11     1  reportIntervalMillis  I
            0   11     2         maxOperations  I
    MethodParameters:
                      Name  Flags
      reportIntervalMillis  
      maxOperations         

  public void cancel();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.monitoring.MonitoringTask this
         0: .line 102
            aload 0 /* this */
            getfield org.apache.cassandra.db.monitoring.MonitoringTask.reportingTask:Ljava/util/concurrent/ScheduledFuture;
            iconst_0
            invokeinterface java.util.concurrent.ScheduledFuture.cancel:(Z)Z
            pop
         1: .line 103
            return
        end local 0 // org.apache.cassandra.db.monitoring.MonitoringTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/db/monitoring/MonitoringTask;

  static void addFailedOperation(org.apache.cassandra.db.monitoring.Monitorable, long);
    descriptor: (Lorg/apache/cassandra/db/monitoring/Monitorable;J)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.apache.cassandra.db.monitoring.Monitorable operation
        start local 1 // long now
         0: .line 107
            getstatic org.apache.cassandra.db.monitoring.MonitoringTask.instance:Lorg/apache/cassandra/db/monitoring/MonitoringTask;
            getfield org.apache.cassandra.db.monitoring.MonitoringTask.failedOperationsQueue:Lorg/apache/cassandra/db/monitoring/MonitoringTask$OperationsQueue;
            new org.apache.cassandra.db.monitoring.MonitoringTask$FailedOperation
            dup
            aload 0 /* operation */
            lload 1 /* now */
            invokespecial org.apache.cassandra.db.monitoring.MonitoringTask$FailedOperation.<init>:(Lorg/apache/cassandra/db/monitoring/Monitorable;J)V
            invokevirtual org.apache.cassandra.db.monitoring.MonitoringTask$OperationsQueue.offer:(Lorg/apache/cassandra/db/monitoring/MonitoringTask$Operation;)V
         1: .line 108
            return
        end local 1 // long now
        end local 0 // org.apache.cassandra.db.monitoring.Monitorable operation
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  operation  Lorg/apache/cassandra/db/monitoring/Monitorable;
            0    2     1        now  J
    MethodParameters:
           Name  Flags
      operation  
      now        

  static void addSlowOperation(org.apache.cassandra.db.monitoring.Monitorable, long);
    descriptor: (Lorg/apache/cassandra/db/monitoring/Monitorable;J)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.apache.cassandra.db.monitoring.Monitorable operation
        start local 1 // long now
         0: .line 112
            getstatic org.apache.cassandra.db.monitoring.MonitoringTask.instance:Lorg/apache/cassandra/db/monitoring/MonitoringTask;
            getfield org.apache.cassandra.db.monitoring.MonitoringTask.slowOperationsQueue:Lorg/apache/cassandra/db/monitoring/MonitoringTask$OperationsQueue;
            new org.apache.cassandra.db.monitoring.MonitoringTask$SlowOperation
            dup
            aload 0 /* operation */
            lload 1 /* now */
            invokespecial org.apache.cassandra.db.monitoring.MonitoringTask$SlowOperation.<init>:(Lorg/apache/cassandra/db/monitoring/Monitorable;J)V
            invokevirtual org.apache.cassandra.db.monitoring.MonitoringTask$OperationsQueue.offer:(Lorg/apache/cassandra/db/monitoring/MonitoringTask$Operation;)V
         1: .line 113
            return
        end local 1 // long now
        end local 0 // org.apache.cassandra.db.monitoring.Monitorable operation
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  operation  Lorg/apache/cassandra/db/monitoring/Monitorable;
            0    2     1        now  J
    MethodParameters:
           Name  Flags
      operation  
      now        

  java.util.List<java.lang.String> getFailedOperations();
    descriptor: ()Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.monitoring.MonitoringTask this
         0: .line 118
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.db.monitoring.MonitoringTask.failedOperationsQueue:Lorg/apache/cassandra/db/monitoring/MonitoringTask$OperationsQueue;
            invokevirtual org.apache.cassandra.db.monitoring.MonitoringTask$OperationsQueue.popOperations:()Lorg/apache/cassandra/db/monitoring/MonitoringTask$AggregatedOperations;
            invokevirtual org.apache.cassandra.db.monitoring.MonitoringTask.getLogMessages:(Lorg/apache/cassandra/db/monitoring/MonitoringTask$AggregatedOperations;)Ljava/util/List;
            areturn
        end local 0 // org.apache.cassandra.db.monitoring.MonitoringTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/monitoring/MonitoringTask;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.google.common.annotations.VisibleForTesting()

  java.util.List<java.lang.String> getSlowOperations();
    descriptor: ()Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.monitoring.MonitoringTask this
         0: .line 124
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.db.monitoring.MonitoringTask.slowOperationsQueue:Lorg/apache/cassandra/db/monitoring/MonitoringTask$OperationsQueue;
            invokevirtual org.apache.cassandra.db.monitoring.MonitoringTask$OperationsQueue.popOperations:()Lorg/apache/cassandra/db/monitoring/MonitoringTask$AggregatedOperations;
            invokevirtual org.apache.cassandra.db.monitoring.MonitoringTask.getLogMessages:(Lorg/apache/cassandra/db/monitoring/MonitoringTask$AggregatedOperations;)Ljava/util/List;
            areturn
        end local 0 // org.apache.cassandra.db.monitoring.MonitoringTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/monitoring/MonitoringTask;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.google.common.annotations.VisibleForTesting()

  private java.util.List<java.lang.String> getLogMessages(org.apache.cassandra.db.monitoring.MonitoringTask$AggregatedOperations);
    descriptor: (Lorg/apache/cassandra/db/monitoring/MonitoringTask$AggregatedOperations;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.cassandra.db.monitoring.MonitoringTask this
        start local 1 // org.apache.cassandra.db.monitoring.MonitoringTask$AggregatedOperations operations
         0: .line 129
            aload 1 /* operations */
            invokevirtual org.apache.cassandra.db.monitoring.MonitoringTask$AggregatedOperations.getLogMessage:()Ljava/lang/String;
            astore 2 /* ret */
        start local 2 // java.lang.String ret
         1: .line 130
            aload 2 /* ret */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 2 /* ret */
            ldc "\n"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
      StackMap locals:
      StackMap stack: java.util.List
         3: areturn
        end local 2 // java.lang.String ret
        end local 1 // org.apache.cassandra.db.monitoring.MonitoringTask$AggregatedOperations operations
        end local 0 // org.apache.cassandra.db.monitoring.MonitoringTask this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/apache/cassandra/db/monitoring/MonitoringTask;
            0    4     1  operations  Lorg/apache/cassandra/db/monitoring/MonitoringTask$AggregatedOperations;
            1    4     2         ret  Ljava/lang/String;
    Signature: (Lorg/apache/cassandra/db/monitoring/MonitoringTask$AggregatedOperations;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
            Name  Flags
      operations  

  private void logOperations(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.cassandra.db.monitoring.MonitoringTask this
        start local 1 // long now
         0: .line 136
            aload 0 /* this */
            lload 1 /* now */
            invokevirtual org.apache.cassandra.db.monitoring.MonitoringTask.logSlowOperations:(J)Z
            pop
         1: .line 137
            aload 0 /* this */
            lload 1 /* now */
            invokevirtual org.apache.cassandra.db.monitoring.MonitoringTask.logFailedOperations:(J)Z
            pop
         2: .line 139
            aload 0 /* this */
            lload 1 /* now */
            putfield org.apache.cassandra.db.monitoring.MonitoringTask.lastLogTime:J
         3: .line 140
            return
        end local 1 // long now
        end local 0 // org.apache.cassandra.db.monitoring.MonitoringTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/cassandra/db/monitoring/MonitoringTask;
            0    4     1   now  J
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()
    MethodParameters:
      Name  Flags
      now   

  boolean logFailedOperations(long);
    descriptor: (J)Z
    flags: (0x0000) 
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // org.apache.cassandra.db.monitoring.MonitoringTask this
        start local 1 // long now
         0: .line 145
            aload 0 /* this */
            getfield org.apache.cassandra.db.monitoring.MonitoringTask.failedOperationsQueue:Lorg/apache/cassandra/db/monitoring/MonitoringTask$OperationsQueue;
            invokevirtual org.apache.cassandra.db.monitoring.MonitoringTask$OperationsQueue.popOperations:()Lorg/apache/cassandra/db/monitoring/MonitoringTask$AggregatedOperations;
            astore 3 /* failedOperations */
        start local 3 // org.apache.cassandra.db.monitoring.MonitoringTask$AggregatedOperations failedOperations
         1: .line 146
            aload 3 /* failedOperations */
            invokevirtual org.apache.cassandra.db.monitoring.MonitoringTask$AggregatedOperations.isEmpty:()Z
            ifne 12
         2: .line 148
            lload 1 /* now */
            aload 0 /* this */
            getfield org.apache.cassandra.db.monitoring.MonitoringTask.lastLogTime:J
            lsub
            lstore 4 /* elapsed */
        start local 4 // long elapsed
         3: .line 149
            getstatic org.apache.cassandra.db.monitoring.MonitoringTask.noSpamLogger:Lorg/apache/cassandra/utils/NoSpamLogger;
            ldc "Some operations timed out, details available at debug level (debug.log)"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.apache.cassandra.utils.NoSpamLogger.warn:(Ljava/lang/String;[Ljava/lang/Object;)Z
            pop
         4: .line 151
            getstatic org.apache.cassandra.db.monitoring.MonitoringTask.logger:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 11
         5: .line 152
            getstatic org.apache.cassandra.db.monitoring.MonitoringTask.logger:Lorg/slf4j/Logger;
            ldc "{} operations timed out in the last {} msecs:{}{}"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 153
            aload 3 /* failedOperations */
            invokevirtual org.apache.cassandra.db.monitoring.MonitoringTask$AggregatedOperations.num:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
         7: .line 154
            lload 4 /* elapsed */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
         8: .line 155
            getstatic org.apache.cassandra.db.monitoring.MonitoringTask.LINE_SEPARATOR:Ljava/lang/String;
            aastore
            dup
            iconst_3
         9: .line 156
            aload 3 /* failedOperations */
            invokevirtual org.apache.cassandra.db.monitoring.MonitoringTask$AggregatedOperations.getLogMessage:()Ljava/lang/String;
            aastore
        10: .line 152
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        11: .line 157
      StackMap locals: org.apache.cassandra.db.monitoring.MonitoringTask$AggregatedOperations long
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // long elapsed
        12: .line 160
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.apache.cassandra.db.monitoring.MonitoringTask$AggregatedOperations failedOperations
        end local 1 // long now
        end local 0 // org.apache.cassandra.db.monitoring.MonitoringTask this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0              this  Lorg/apache/cassandra/db/monitoring/MonitoringTask;
            0   13     1               now  J
            1   13     3  failedOperations  Lorg/apache/cassandra/db/monitoring/MonitoringTask$AggregatedOperations;
            3   12     4           elapsed  J
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.google.common.annotations.VisibleForTesting()
    MethodParameters:
      Name  Flags
      now   

  boolean logSlowOperations(long);
    descriptor: (J)Z
    flags: (0x0000) 
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // org.apache.cassandra.db.monitoring.MonitoringTask this
        start local 1 // long now
         0: .line 166
            aload 0 /* this */
            getfield org.apache.cassandra.db.monitoring.MonitoringTask.slowOperationsQueue:Lorg/apache/cassandra/db/monitoring/MonitoringTask$OperationsQueue;
            invokevirtual org.apache.cassandra.db.monitoring.MonitoringTask$OperationsQueue.popOperations:()Lorg/apache/cassandra/db/monitoring/MonitoringTask$AggregatedOperations;
            astore 3 /* slowOperations */
        start local 3 // org.apache.cassandra.db.monitoring.MonitoringTask$AggregatedOperations slowOperations
         1: .line 167
            aload 3 /* slowOperations */
            invokevirtual org.apache.cassandra.db.monitoring.MonitoringTask$AggregatedOperations.isEmpty:()Z
            ifne 12
         2: .line 169
            lload 1 /* now */
            aload 0 /* this */
            getfield org.apache.cassandra.db.monitoring.MonitoringTask.lastLogTime:J
            lsub
            lstore 4 /* elapsed */
        start local 4 // long elapsed
         3: .line 170
            getstatic org.apache.cassandra.db.monitoring.MonitoringTask.noSpamLogger:Lorg/apache/cassandra/utils/NoSpamLogger;
            ldc "Some operations were slow, details available at debug level (debug.log)"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.apache.cassandra.utils.NoSpamLogger.info:(Ljava/lang/String;[Ljava/lang/Object;)Z
            pop
         4: .line 172
            getstatic org.apache.cassandra.db.monitoring.MonitoringTask.logger:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 11
         5: .line 173
            getstatic org.apache.cassandra.db.monitoring.MonitoringTask.logger:Lorg/slf4j/Logger;
            ldc "{} operations were slow in the last {} msecs:{}{}"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 174
            aload 3 /* slowOperations */
            invokevirtual org.apache.cassandra.db.monitoring.MonitoringTask$AggregatedOperations.num:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
         7: .line 175
            lload 4 /* elapsed */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
         8: .line 176
            getstatic org.apache.cassandra.db.monitoring.MonitoringTask.LINE_SEPARATOR:Ljava/lang/String;
            aastore
            dup
            iconst_3
         9: .line 177
            aload 3 /* slowOperations */
            invokevirtual org.apache.cassandra.db.monitoring.MonitoringTask$AggregatedOperations.getLogMessage:()Ljava/lang/String;
            aastore
        10: .line 173
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        11: .line 178
      StackMap locals: org.apache.cassandra.db.monitoring.MonitoringTask$AggregatedOperations long
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // long elapsed
        12: .line 180
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.apache.cassandra.db.monitoring.MonitoringTask$AggregatedOperations slowOperations
        end local 1 // long now
        end local 0 // org.apache.cassandra.db.monitoring.MonitoringTask this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lorg/apache/cassandra/db/monitoring/MonitoringTask;
            0   13     1             now  J
            1   13     3  slowOperations  Lorg/apache/cassandra/db/monitoring/MonitoringTask$AggregatedOperations;
            3   12     4         elapsed  J
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.google.common.annotations.VisibleForTesting()
    MethodParameters:
      Name  Flags
      now   

  private void lambda$0();
    descriptor: ()V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.monitoring.MonitoringTask this
         0: .line 94
            aload 0 /* this */
            invokestatic org.apache.cassandra.db.monitoring.ApproximateTime.currentTimeMillis:()J
            invokevirtual org.apache.cassandra.db.monitoring.MonitoringTask.logOperations:(J)V
            return
        end local 0 // org.apache.cassandra.db.monitoring.MonitoringTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/monitoring/MonitoringTask;
}
SourceFile: "MonitoringTask.java"
NestMembers:
  org.apache.cassandra.db.monitoring.MonitoringTask$AggregatedOperations  org.apache.cassandra.db.monitoring.MonitoringTask$FailedOperation  org.apache.cassandra.db.monitoring.MonitoringTask$Operation  org.apache.cassandra.db.monitoring.MonitoringTask$OperationsQueue  org.apache.cassandra.db.monitoring.MonitoringTask$SlowOperation
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private final AggregatedOperations = org.apache.cassandra.db.monitoring.MonitoringTask$AggregatedOperations of org.apache.cassandra.db.monitoring.MonitoringTask
  private final FailedOperation = org.apache.cassandra.db.monitoring.MonitoringTask$FailedOperation of org.apache.cassandra.db.monitoring.MonitoringTask
  protected abstract Operation = org.apache.cassandra.db.monitoring.MonitoringTask$Operation of org.apache.cassandra.db.monitoring.MonitoringTask
  private final OperationsQueue = org.apache.cassandra.db.monitoring.MonitoringTask$OperationsQueue of org.apache.cassandra.db.monitoring.MonitoringTask
  private final SlowOperation = org.apache.cassandra.db.monitoring.MonitoringTask$SlowOperation of org.apache.cassandra.db.monitoring.MonitoringTask