class org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor extends java.lang.Object implements java.lang.Runnable
{
final org.apache.zookeeper.server.util.JvmPauseMonitor this$0;
private void <init>(org.apache.zookeeper.server.util.JvmPauseMonitor)
{
org.apache.zookeeper.server.util.JvmPauseMonitor v;
org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor v;
v := @this: org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor;
v := @parameter: org.apache.zookeeper.server.util.JvmPauseMonitor;
v.<org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor: org.apache.zookeeper.server.util.JvmPauseMonitor this$0> = v;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public void run()
{
org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor v;
org.apache.zookeeper.metrics.Summary v;
byte v, v, v;
java.lang.Long v, v, v;
java.util.Map v, v;
org.apache.zookeeper.server.util.JvmPauseMonitor v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v;
java.time.Instant v, v;
java.lang.Object[] v;
long v, v, v, v, v, v, v, v, v, v, v;
org.apache.zookeeper.server.ServerMetrics v;
java.lang.String v, v;
org.slf4j.Logger v, v, v;
java.lang.InterruptedException v;
v := @this: org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor;
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor: org.apache.zookeeper.server.util.JvmPauseMonitor this$0>;
v = specialinvoke v.<org.apache.zookeeper.server.util.JvmPauseMonitor: java.util.Map getGcTimes()>();
v = <org.apache.zookeeper.server.util.JvmPauseMonitor: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor: org.apache.zookeeper.server.util.JvmPauseMonitor this$0>;
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor: long infoThresholdMs>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor: org.apache.zookeeper.server.util.JvmPauseMonitor this$0>;
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor: long warnThresholdMs>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor: org.apache.zookeeper.server.util.JvmPauseMonitor this$0>;
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor: long sleepTimeMs>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object[])>("Starting JVM Pause Monitor with infoThresholdMs:{} warnThresholdMs:{} and sleepTimeMs:{}", v);
label:
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor: org.apache.zookeeper.server.util.JvmPauseMonitor this$0>;
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor: boolean shouldRun>;
if v == 0 goto label;
v = staticinvoke <java.time.Instant: java.time.Instant now()>();
v = virtualinvoke v.<java.time.Instant: long toEpochMilli()>();
label:
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor: org.apache.zookeeper.server.util.JvmPauseMonitor this$0>;
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor: long sleepTimeMs>;
staticinvoke <java.lang.Thread: void sleep(long)>(v);
label:
goto label;
label:
v := @caughtexception;
return;
label:
v = staticinvoke <java.time.Instant: java.time.Instant now()>();
v = virtualinvoke v.<java.time.Instant: long toEpochMilli()>();
v = v - v;
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor: org.apache.zookeeper.server.util.JvmPauseMonitor this$0>;
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor: long sleepTimeMs>;
v = v - v;
v = v cmp 0L;
if v < 0 goto label;
v = staticinvoke <org.apache.zookeeper.server.ServerMetrics: org.apache.zookeeper.server.ServerMetrics getMetrics()>();
v = v.<org.apache.zookeeper.server.ServerMetrics: org.apache.zookeeper.metrics.Summary JVM_PAUSE_TIME>;
interfaceinvoke v.<org.apache.zookeeper.metrics.Summary: void add(long)>(v);
label:
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor: org.apache.zookeeper.server.util.JvmPauseMonitor this$0>;
v = specialinvoke v.<org.apache.zookeeper.server.util.JvmPauseMonitor: java.util.Map getGcTimes()>();
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor: org.apache.zookeeper.server.util.JvmPauseMonitor this$0>;
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor: long warnThresholdMs>;
v = v cmp v;
if v <= 0 goto label;
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor: org.apache.zookeeper.server.util.JvmPauseMonitor this$0>;
staticinvoke <org.apache.zookeeper.server.util.JvmPauseMonitor: long access$704(org.apache.zookeeper.server.util.JvmPauseMonitor)>(v);
v = <org.apache.zookeeper.server.util.JvmPauseMonitor: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor: org.apache.zookeeper.server.util.JvmPauseMonitor this$0>;
v = specialinvoke v.<org.apache.zookeeper.server.util.JvmPauseMonitor: java.lang.String formatMessage(long,java.util.Map,java.util.Map)>(v, v, v);
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>(v);
goto label;
label:
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor: org.apache.zookeeper.server.util.JvmPauseMonitor this$0>;
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor: long infoThresholdMs>;
v = v cmp v;
if v <= 0 goto label;
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor: org.apache.zookeeper.server.util.JvmPauseMonitor this$0>;
staticinvoke <org.apache.zookeeper.server.util.JvmPauseMonitor: long access$904(org.apache.zookeeper.server.util.JvmPauseMonitor)>(v);
v = <org.apache.zookeeper.server.util.JvmPauseMonitor: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor: org.apache.zookeeper.server.util.JvmPauseMonitor this$0>;
v = specialinvoke v.<org.apache.zookeeper.server.util.JvmPauseMonitor: java.lang.String formatMessage(long,java.util.Map,java.util.Map)>(v, v, v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
label:
v = v.<org.apache.zookeeper.server.util.JvmPauseMonitor$JVMMonitor: org.apache.zookeeper.server.util.JvmPauseMonitor this$0>;
v.<org.apache.zookeeper.server.util.JvmPauseMonitor: long totalGcExtraSleepTime> = v;
v = v;
goto label;
label:
return;
catch java.lang.InterruptedException from label to label with label;
}
}