public final class org.apache.camel.impl.health.RoutePerformanceCounterEvaluators$MaxProcessingTime extends java.lang.Object implements org.apache.camel.impl.health.PerformanceCounterEvaluator
{
private final long timeThreshold;
private final int failuresThreshold;
private volatile int failureCount;
public void <init>(long, int)
{
int v;
long v;
org.apache.camel.impl.health.RoutePerformanceCounterEvaluators$MaxProcessingTime v;
v := @this: org.apache.camel.impl.health.RoutePerformanceCounterEvaluators$MaxProcessingTime;
v := @parameter: long;
v := @parameter: int;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.camel.impl.health.RoutePerformanceCounterEvaluators$MaxProcessingTime: long timeThreshold> = v;
v.<org.apache.camel.impl.health.RoutePerformanceCounterEvaluators$MaxProcessingTime: int failuresThreshold> = v;
return;
}
public void test(org.apache.camel.api.management.mbean.ManagedRouteMBean, org.apache.camel.health.HealthCheckResultBuilder, java.util.Map)
{
long v, v, v;
org.apache.camel.api.management.mbean.ManagedRouteMBean v;
java.lang.Integer v;
byte v;
java.lang.Long v, v;
java.util.Map v;
int v, v, v, v, v;
org.apache.camel.impl.health.RoutePerformanceCounterEvaluators$MaxProcessingTime v;
org.apache.camel.health.HealthCheckResultBuilder v;
java.lang.Exception v;
v := @this: org.apache.camel.impl.health.RoutePerformanceCounterEvaluators$MaxProcessingTime;
v := @parameter: org.apache.camel.api.management.mbean.ManagedRouteMBean;
v := @parameter: org.apache.camel.health.HealthCheckResultBuilder;
v := @parameter: java.util.Map;
label:
v = interfaceinvoke v.<org.apache.camel.api.management.mbean.ManagedRouteMBean: long getMaxProcessingTime()>();
v = v.<org.apache.camel.impl.health.RoutePerformanceCounterEvaluators$MaxProcessingTime: long timeThreshold>;
v = v cmp v;
if v <= 0 goto label;
v = v.<org.apache.camel.impl.health.RoutePerformanceCounterEvaluators$MaxProcessingTime: int failureCount>;
v = v + 1;
v.<org.apache.camel.impl.health.RoutePerformanceCounterEvaluators$MaxProcessingTime: int failureCount> = v;
v = v.<org.apache.camel.impl.health.RoutePerformanceCounterEvaluators$MaxProcessingTime: int failureCount>;
v = v.<org.apache.camel.impl.health.RoutePerformanceCounterEvaluators$MaxProcessingTime: int failuresThreshold>;
if v <= v goto label;
virtualinvoke v.<org.apache.camel.health.HealthCheckResultBuilder: org.apache.camel.health.HealthCheckResultBuilder down()>();
goto label;
label:
v.<org.apache.camel.impl.health.RoutePerformanceCounterEvaluators$MaxProcessingTime: int failureCount> = 0;
label:
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<org.apache.camel.health.HealthCheckResultBuilder: org.apache.camel.health.HealthCheckResultBuilder detail(java.lang.String,java.lang.Object)>("exchanges.max-processing-time", v);
v = v.<org.apache.camel.impl.health.RoutePerformanceCounterEvaluators$MaxProcessingTime: long timeThreshold>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<org.apache.camel.health.HealthCheckResultBuilder: org.apache.camel.health.HealthCheckResultBuilder detail(java.lang.String,java.lang.Object)>("exchanges.max-processing-time.threshold.time", v);
v = v.<org.apache.camel.impl.health.RoutePerformanceCounterEvaluators$MaxProcessingTime: int failuresThreshold>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<org.apache.camel.health.HealthCheckResultBuilder: org.apache.camel.health.HealthCheckResultBuilder detail(java.lang.String,java.lang.Object)>("exchanges.max-processing-time.threshold.failures", v);
label:
goto label;
label:
v := @caughtexception;
label:
return;
catch java.lang.Exception from label to label with label;
}
}