public abstract class com.codahale.metrics.ScheduledReporter extends java.lang.Object implements java.io.Closeable, com.codahale.metrics.Reporter
{
private static final org.slf4j.Logger LOG;
private static final java.util.concurrent.atomic.AtomicInteger FACTORY_ID;
private final com.codahale.metrics.MetricRegistry registry;
private final java.util.concurrent.ScheduledExecutorService executor;
private final boolean shutdownExecutorOnStop;
private final java.util.Set disabledMetricAttributes;
private java.util.concurrent.ScheduledFuture scheduledFuture;
private final com.codahale.metrics.MetricFilter filter;
private final long durationFactor;
private final java.lang.String durationUnit;
private final long rateFactor;
private final java.lang.String rateUnit;
protected void <init>(com.codahale.metrics.MetricRegistry, java.lang.String, com.codahale.metrics.MetricFilter, java.util.concurrent.TimeUnit, java.util.concurrent.TimeUnit)
{
java.util.concurrent.TimeUnit v, v;
com.codahale.metrics.MetricRegistry v;
com.codahale.metrics.ScheduledReporter v;
java.util.concurrent.ScheduledExecutorService v;
com.codahale.metrics.MetricFilter v;
java.lang.String v;
v := @this: com.codahale.metrics.ScheduledReporter;
v := @parameter: com.codahale.metrics.MetricRegistry;
v := @parameter: java.lang.String;
v := @parameter: com.codahale.metrics.MetricFilter;
v := @parameter: java.util.concurrent.TimeUnit;
v := @parameter: java.util.concurrent.TimeUnit;
v = staticinvoke <com.codahale.metrics.ScheduledReporter: java.util.concurrent.ScheduledExecutorService createDefaultExecutor(java.lang.String)>(v);
specialinvoke v.<com.codahale.metrics.ScheduledReporter: void <init>(com.codahale.metrics.MetricRegistry,java.lang.String,com.codahale.metrics.MetricFilter,java.util.concurrent.TimeUnit,java.util.concurrent.TimeUnit,java.util.concurrent.ScheduledExecutorService)>(v, v, v, v, v, v);
return;
}
protected void <init>(com.codahale.metrics.MetricRegistry, java.lang.String, com.codahale.metrics.MetricFilter, java.util.concurrent.TimeUnit, java.util.concurrent.TimeUnit, java.util.concurrent.ScheduledExecutorService)
{
java.util.concurrent.TimeUnit v, v;
com.codahale.metrics.MetricRegistry v;
com.codahale.metrics.ScheduledReporter v;
java.util.concurrent.ScheduledExecutorService v;
com.codahale.metrics.MetricFilter v;
java.lang.String v;
v := @this: com.codahale.metrics.ScheduledReporter;
v := @parameter: com.codahale.metrics.MetricRegistry;
v := @parameter: java.lang.String;
v := @parameter: com.codahale.metrics.MetricFilter;
v := @parameter: java.util.concurrent.TimeUnit;
v := @parameter: java.util.concurrent.TimeUnit;
v := @parameter: java.util.concurrent.ScheduledExecutorService;
specialinvoke v.<com.codahale.metrics.ScheduledReporter: void <init>(com.codahale.metrics.MetricRegistry,java.lang.String,com.codahale.metrics.MetricFilter,java.util.concurrent.TimeUnit,java.util.concurrent.TimeUnit,java.util.concurrent.ScheduledExecutorService,boolean)>(v, v, v, v, v, v, 1);
return;
}
protected void <init>(com.codahale.metrics.MetricRegistry, java.lang.String, com.codahale.metrics.MetricFilter, java.util.concurrent.TimeUnit, java.util.concurrent.TimeUnit, java.util.concurrent.ScheduledExecutorService, boolean)
{
com.codahale.metrics.MetricRegistry v;
com.codahale.metrics.ScheduledReporter v;
java.util.Set v;
java.util.concurrent.TimeUnit v, v;
java.util.concurrent.ScheduledExecutorService v;
com.codahale.metrics.MetricFilter v;
java.lang.String v;
boolean v;
v := @this: com.codahale.metrics.ScheduledReporter;
v := @parameter: com.codahale.metrics.MetricRegistry;
v := @parameter: java.lang.String;
v := @parameter: com.codahale.metrics.MetricFilter;
v := @parameter: java.util.concurrent.TimeUnit;
v := @parameter: java.util.concurrent.TimeUnit;
v := @parameter: java.util.concurrent.ScheduledExecutorService;
v := @parameter: boolean;
v = staticinvoke <java.util.Collections: java.util.Set emptySet()>();
specialinvoke v.<com.codahale.metrics.ScheduledReporter: void <init>(com.codahale.metrics.MetricRegistry,java.lang.String,com.codahale.metrics.MetricFilter,java.util.concurrent.TimeUnit,java.util.concurrent.TimeUnit,java.util.concurrent.ScheduledExecutorService,boolean,java.util.Set)>(v, v, v, v, v, v, v, v);
return;
}
protected void <init>(com.codahale.metrics.MetricRegistry, java.lang.String, com.codahale.metrics.MetricFilter, java.util.concurrent.TimeUnit, java.util.concurrent.TimeUnit, java.util.concurrent.ScheduledExecutorService, boolean, java.util.Set)
{
long v, v;
java.lang.NullPointerException v;
java.util.Locale v;
java.util.concurrent.ScheduledExecutorService v, v;
com.codahale.metrics.MetricFilter v;
java.lang.String v, v, v, v;
boolean v;
com.codahale.metrics.MetricRegistry v;
com.codahale.metrics.ScheduledReporter v;
java.util.Set v, v;
java.util.concurrent.TimeUnit v, v;
v := @this: com.codahale.metrics.ScheduledReporter;
v := @parameter: com.codahale.metrics.MetricRegistry;
v := @parameter: java.lang.String;
v := @parameter: com.codahale.metrics.MetricFilter;
v := @parameter: java.util.concurrent.TimeUnit;
v := @parameter: java.util.concurrent.TimeUnit;
v := @parameter: java.util.concurrent.ScheduledExecutorService;
v := @parameter: boolean;
v := @parameter: java.util.Set;
specialinvoke v.<java.lang.Object: void <init>()>();
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("registry == null");
throw v;
label:
v.<com.codahale.metrics.ScheduledReporter: com.codahale.metrics.MetricRegistry registry> = v;
v.<com.codahale.metrics.ScheduledReporter: com.codahale.metrics.MetricFilter filter> = v;
if v != null goto label;
v = staticinvoke <com.codahale.metrics.ScheduledReporter: java.util.concurrent.ScheduledExecutorService createDefaultExecutor(java.lang.String)>(v);
goto label;
label:
v = v;
label:
v.<com.codahale.metrics.ScheduledReporter: java.util.concurrent.ScheduledExecutorService executor> = v;
v.<com.codahale.metrics.ScheduledReporter: boolean shutdownExecutorOnStop> = v;
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toSeconds(long)>(1L);
v.<com.codahale.metrics.ScheduledReporter: long rateFactor> = v;
v = specialinvoke v.<com.codahale.metrics.ScheduledReporter: java.lang.String calculateRateUnit(java.util.concurrent.TimeUnit)>(v);
v.<com.codahale.metrics.ScheduledReporter: java.lang.String rateUnit> = v;
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toNanos(long)>(1L);
v.<com.codahale.metrics.ScheduledReporter: long durationFactor> = v;
v = virtualinvoke v.<java.util.concurrent.TimeUnit: java.lang.String toString()>();
v = <java.util.Locale: java.util.Locale US>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v.<com.codahale.metrics.ScheduledReporter: java.lang.String durationUnit> = v;
if v == null goto label;
v = v;
goto label;
label:
v = staticinvoke <java.util.Collections: java.util.Set emptySet()>();
label:
v.<com.codahale.metrics.ScheduledReporter: java.util.Set disabledMetricAttributes> = v;
return;
}
public void start(long, java.util.concurrent.TimeUnit)
{
com.codahale.metrics.ScheduledReporter v;
java.util.concurrent.TimeUnit v;
long v;
v := @this: com.codahale.metrics.ScheduledReporter;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
virtualinvoke v.<com.codahale.metrics.ScheduledReporter: void start(long,long,java.util.concurrent.TimeUnit)>(v, v, v);
return;
}
synchronized void start(long, long, java.util.concurrent.TimeUnit, java.lang.Runnable)
{
java.util.concurrent.ScheduledFuture v, v;
com.codahale.metrics.ScheduledReporter v;
long v, v;
java.lang.IllegalArgumentException v;
java.lang.Runnable v;
java.util.concurrent.TimeUnit v;
java.util.concurrent.ScheduledExecutorService v;
v := @this: com.codahale.metrics.ScheduledReporter;
v := @parameter: long;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v := @parameter: java.lang.Runnable;
v = v.<com.codahale.metrics.ScheduledReporter: java.util.concurrent.ScheduledFuture scheduledFuture>;
if v == null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Reporter already started");
throw v;
label:
v = v.<com.codahale.metrics.ScheduledReporter: java.util.concurrent.ScheduledExecutorService executor>;
v = interfaceinvoke v.<java.util.concurrent.ScheduledExecutorService: java.util.concurrent.ScheduledFuture scheduleAtFixedRate(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit)>(v, v, v, v);
v.<com.codahale.metrics.ScheduledReporter: java.util.concurrent.ScheduledFuture scheduledFuture> = v;
return;
}
public synchronized void start(long, long, java.util.concurrent.TimeUnit)
{
java.util.concurrent.TimeUnit v;
com.codahale.metrics.ScheduledReporter v;
long v, v;
java.lang.Runnable v;
v := @this: com.codahale.metrics.ScheduledReporter;
v := @parameter: long;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v = staticinvoke <com.codahale.metrics.ScheduledReporter$lambda_start_0__5: java.lang.Runnable bootstrap$(com.codahale.metrics.ScheduledReporter)>(v);
virtualinvoke v.<com.codahale.metrics.ScheduledReporter: void start(long,long,java.util.concurrent.TimeUnit,java.lang.Runnable)>(v, v, v, v);
return;
}
public void stop()
{
java.lang.Thread v;
java.util.concurrent.ScheduledExecutorService v, v, v, v, v;
boolean v, v, v, v;
org.slf4j.Logger v, v;
com.codahale.metrics.ScheduledReporter v;
java.lang.Exception v;
java.util.concurrent.TimeUnit v, v;
java.lang.InterruptedException v;
v := @this: com.codahale.metrics.ScheduledReporter;
v = v.<com.codahale.metrics.ScheduledReporter: boolean shutdownExecutorOnStop>;
if v == 0 goto label;
v = v.<com.codahale.metrics.ScheduledReporter: java.util.concurrent.ScheduledExecutorService executor>;
interfaceinvoke v.<java.util.concurrent.ScheduledExecutorService: void shutdown()>();
label:
virtualinvoke v.<com.codahale.metrics.ScheduledReporter: void report()>();
label:
goto label;
label:
v := @caughtexception;
v = <com.codahale.metrics.ScheduledReporter: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Final reporting of metrics failed.", v);
label:
v = v.<com.codahale.metrics.ScheduledReporter: boolean shutdownExecutorOnStop>;
if v == 0 goto label;
label:
v = v.<com.codahale.metrics.ScheduledReporter: java.util.concurrent.ScheduledExecutorService executor>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
v = interfaceinvoke v.<java.util.concurrent.ScheduledExecutorService: boolean awaitTermination(long,java.util.concurrent.TimeUnit)>(1L, v);
if v != 0 goto label;
v = v.<com.codahale.metrics.ScheduledReporter: java.util.concurrent.ScheduledExecutorService executor>;
interfaceinvoke v.<java.util.concurrent.ScheduledExecutorService: java.util.List shutdownNow()>();
v = v.<com.codahale.metrics.ScheduledReporter: java.util.concurrent.ScheduledExecutorService executor>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
v = interfaceinvoke v.<java.util.concurrent.ScheduledExecutorService: boolean awaitTermination(long,java.util.concurrent.TimeUnit)>(1L, v);
if v != 0 goto label;
v = <com.codahale.metrics.ScheduledReporter: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>("ScheduledExecutorService did not terminate.");
label:
goto label;
label:
v := @caughtexception;
v = v.<com.codahale.metrics.ScheduledReporter: java.util.concurrent.ScheduledExecutorService executor>;
interfaceinvoke v.<java.util.concurrent.ScheduledExecutorService: java.util.List shutdownNow()>();
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void interrupt()>();
goto label;
label:
specialinvoke v.<com.codahale.metrics.ScheduledReporter: void cancelScheduledFuture()>();
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.InterruptedException from label to label with label;
}
private synchronized void cancelScheduledFuture()
{
java.util.concurrent.ScheduledFuture v, v, v;
com.codahale.metrics.ScheduledReporter v;
boolean v;
v := @this: com.codahale.metrics.ScheduledReporter;
v = v.<com.codahale.metrics.ScheduledReporter: java.util.concurrent.ScheduledFuture scheduledFuture>;
if v != null goto label;
return;
label:
v = v.<com.codahale.metrics.ScheduledReporter: java.util.concurrent.ScheduledFuture scheduledFuture>;
v = interfaceinvoke v.<java.util.concurrent.ScheduledFuture: boolean isCancelled()>();
if v == 0 goto label;
return;
label:
v = v.<com.codahale.metrics.ScheduledReporter: java.util.concurrent.ScheduledFuture scheduledFuture>;
interfaceinvoke v.<java.util.concurrent.ScheduledFuture: boolean cancel(boolean)>(0);
return;
}
public void close()
{
com.codahale.metrics.ScheduledReporter v;
v := @this: com.codahale.metrics.ScheduledReporter;
virtualinvoke v.<com.codahale.metrics.ScheduledReporter: void stop()>();
return;
}
public void report()
{
java.lang.Throwable v;
com.codahale.metrics.MetricFilter v, v, v, v, v;
com.codahale.metrics.MetricRegistry v, v, v, v, v;
com.codahale.metrics.ScheduledReporter v;
java.util.SortedMap v, v, v, v, v;
v := @this: com.codahale.metrics.ScheduledReporter;
entermonitor v;
label:
v = v.<com.codahale.metrics.ScheduledReporter: com.codahale.metrics.MetricRegistry registry>;
v = v.<com.codahale.metrics.ScheduledReporter: com.codahale.metrics.MetricFilter filter>;
v = virtualinvoke v.<com.codahale.metrics.MetricRegistry: java.util.SortedMap getGauges(com.codahale.metrics.MetricFilter)>(v);
v = v.<com.codahale.metrics.ScheduledReporter: com.codahale.metrics.MetricRegistry registry>;
v = v.<com.codahale.metrics.ScheduledReporter: com.codahale.metrics.MetricFilter filter>;
v = virtualinvoke v.<com.codahale.metrics.MetricRegistry: java.util.SortedMap getCounters(com.codahale.metrics.MetricFilter)>(v);
v = v.<com.codahale.metrics.ScheduledReporter: com.codahale.metrics.MetricRegistry registry>;
v = v.<com.codahale.metrics.ScheduledReporter: com.codahale.metrics.MetricFilter filter>;
v = virtualinvoke v.<com.codahale.metrics.MetricRegistry: java.util.SortedMap getHistograms(com.codahale.metrics.MetricFilter)>(v);
v = v.<com.codahale.metrics.ScheduledReporter: com.codahale.metrics.MetricRegistry registry>;
v = v.<com.codahale.metrics.ScheduledReporter: com.codahale.metrics.MetricFilter filter>;
v = virtualinvoke v.<com.codahale.metrics.MetricRegistry: java.util.SortedMap getMeters(com.codahale.metrics.MetricFilter)>(v);
v = v.<com.codahale.metrics.ScheduledReporter: com.codahale.metrics.MetricRegistry registry>;
v = v.<com.codahale.metrics.ScheduledReporter: com.codahale.metrics.MetricFilter filter>;
v = virtualinvoke v.<com.codahale.metrics.MetricRegistry: java.util.SortedMap getTimers(com.codahale.metrics.MetricFilter)>(v);
virtualinvoke v.<com.codahale.metrics.ScheduledReporter: void report(java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap)>(v, v, v, v, v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public abstract void report(java.util.SortedMap, java.util.SortedMap, java.util.SortedMap, java.util.SortedMap, java.util.SortedMap);
protected java.lang.String getRateUnit()
{
com.codahale.metrics.ScheduledReporter v;
java.lang.String v;
v := @this: com.codahale.metrics.ScheduledReporter;
v = v.<com.codahale.metrics.ScheduledReporter: java.lang.String rateUnit>;
return v;
}
protected java.lang.String getDurationUnit()
{
com.codahale.metrics.ScheduledReporter v;
java.lang.String v;
v := @this: com.codahale.metrics.ScheduledReporter;
v = v.<com.codahale.metrics.ScheduledReporter: java.lang.String durationUnit>;
return v;
}
protected double convertDuration(double)
{
com.codahale.metrics.ScheduledReporter v;
long v;
double v, v;
v := @this: com.codahale.metrics.ScheduledReporter;
v := @parameter: double;
v = v.<com.codahale.metrics.ScheduledReporter: long durationFactor>;
v = v / v;
return v;
}
protected double convertRate(double)
{
com.codahale.metrics.ScheduledReporter v;
long v;
double v, v;
v := @this: com.codahale.metrics.ScheduledReporter;
v := @parameter: double;
v = v.<com.codahale.metrics.ScheduledReporter: long rateFactor>;
v = v * v;
return v;
}
protected boolean isShutdownExecutorOnStop()
{
com.codahale.metrics.ScheduledReporter v;
boolean v;
v := @this: com.codahale.metrics.ScheduledReporter;
v = v.<com.codahale.metrics.ScheduledReporter: boolean shutdownExecutorOnStop>;
return v;
}
protected java.util.Set getDisabledMetricAttributes()
{
com.codahale.metrics.ScheduledReporter v;
java.util.Set v;
v := @this: com.codahale.metrics.ScheduledReporter;
v = v.<com.codahale.metrics.ScheduledReporter: java.util.Set disabledMetricAttributes>;
return v;
}
private java.lang.String calculateRateUnit(java.util.concurrent.TimeUnit)
{
com.codahale.metrics.ScheduledReporter v;
java.util.concurrent.TimeUnit v;
java.util.Locale v;
int v, v;
java.lang.String v, v, v;
v := @this: com.codahale.metrics.ScheduledReporter;
v := @parameter: java.util.concurrent.TimeUnit;
v = virtualinvoke v.<java.util.concurrent.TimeUnit: java.lang.String toString()>();
v = <java.util.Locale: java.util.Locale US>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
return v;
}
private static java.util.concurrent.ScheduledExecutorService createDefaultExecutor(java.lang.String)
{
java.util.concurrent.atomic.AtomicInteger v;
com.codahale.metrics.ScheduledReporter$NamedThreadFactory v;
int v;
java.util.concurrent.ScheduledExecutorService v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v = new com.codahale.metrics.ScheduledReporter$NamedThreadFactory;
v = <com.codahale.metrics.ScheduledReporter: java.util.concurrent.atomic.AtomicInteger FACTORY_ID>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int incrementAndGet()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001-\u0001");
specialinvoke v.<com.codahale.metrics.ScheduledReporter$NamedThreadFactory: void <init>(java.lang.String)>(v);
v = staticinvoke <java.util.concurrent.Executors: java.util.concurrent.ScheduledExecutorService newSingleThreadScheduledExecutor(java.util.concurrent.ThreadFactory)>(v);
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
java.util.concurrent.atomic.AtomicInteger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lcom/codahale/metrics/ScheduledReporter;");
<com.codahale.metrics.ScheduledReporter: org.slf4j.Logger LOG> = v;
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>()>();
<com.codahale.metrics.ScheduledReporter: java.util.concurrent.atomic.AtomicInteger FACTORY_ID> = v;
return;
}
}