public class org.apache.camel.management.InstrumentationProcessor extends org.apache.camel.processor.DelegateAsyncProcessor implements org.apache.camel.processor.CamelInternalProcessorAdvice, org.apache.camel.Ordered
{
private static final org.slf4j.Logger LOG;
private org.apache.camel.api.management.PerformanceCounter counter;
private java.lang.String type;
public void <init>(java.lang.String, org.apache.camel.Processor)
{
org.apache.camel.Processor v;
java.lang.String v;
org.apache.camel.management.InstrumentationProcessor v;
v := @this: org.apache.camel.management.InstrumentationProcessor;
v := @parameter: java.lang.String;
v := @parameter: org.apache.camel.Processor;
specialinvoke v.<org.apache.camel.processor.DelegateAsyncProcessor: void <init>(org.apache.camel.Processor)>(v);
v.<org.apache.camel.management.InstrumentationProcessor: java.lang.String type> = v;
return;
}
public void setCounter(java.lang.Object)
{
org.apache.camel.management.InstrumentationProcessor v;
org.apache.camel.api.management.PerformanceCounter v, v;
java.lang.Object v;
boolean v, v, v;
v := @this: org.apache.camel.management.InstrumentationProcessor;
v := @parameter: java.lang.Object;
v = v.<org.apache.camel.management.InstrumentationProcessor: org.apache.camel.api.management.PerformanceCounter counter>;
v = v instanceof org.apache.camel.management.DelegatePerformanceCounter;
if v == 0 goto label;
v = v.<org.apache.camel.management.InstrumentationProcessor: org.apache.camel.api.management.PerformanceCounter counter>;
virtualinvoke v.<org.apache.camel.management.DelegatePerformanceCounter: void setCounter(org.apache.camel.api.management.PerformanceCounter)>(v);
goto label;
label:
if v == null goto label;
v.<org.apache.camel.management.InstrumentationProcessor: org.apache.camel.api.management.PerformanceCounter counter> = v;
goto label;
label:
v = v instanceof org.apache.camel.api.management.PerformanceCounter;
if v == 0 goto label;
v.<org.apache.camel.management.InstrumentationProcessor: org.apache.camel.api.management.PerformanceCounter counter> = v;
label:
return;
}
public boolean process(org.apache.camel.Exchange, org.apache.camel.AsyncCallback)
{
org.apache.camel.AsyncCallback v;
org.apache.camel.util.StopWatch v, v, v;
org.apache.camel.Exchange v;
org.apache.camel.management.InstrumentationProcessor v;
org.apache.camel.api.management.PerformanceCounter v, v;
org.apache.camel.AsyncProcessor v;
org.apache.camel.management.InstrumentationProcessor$1 v;
boolean v, v;
v := @this: org.apache.camel.management.InstrumentationProcessor;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: org.apache.camel.AsyncCallback;
v = v.<org.apache.camel.management.InstrumentationProcessor: org.apache.camel.api.management.PerformanceCounter counter>;
if v == null goto label;
v = v.<org.apache.camel.management.InstrumentationProcessor: org.apache.camel.api.management.PerformanceCounter counter>;
v = interfaceinvoke v.<org.apache.camel.api.management.PerformanceCounter: boolean isStatisticsEnabled()>();
if v == 0 goto label;
v = new org.apache.camel.util.StopWatch;
v = v;
specialinvoke v.<org.apache.camel.util.StopWatch: void <init>()>();
goto label;
label:
v = null;
label:
v = v;
if v == null goto label;
virtualinvoke v.<org.apache.camel.management.InstrumentationProcessor: void beginTime(org.apache.camel.Exchange)>(v);
label:
v = v.<org.apache.camel.management.InstrumentationProcessor: org.apache.camel.AsyncProcessor processor>;
v = new org.apache.camel.management.InstrumentationProcessor$1;
specialinvoke v.<org.apache.camel.management.InstrumentationProcessor$1: void <init>(org.apache.camel.management.InstrumentationProcessor,org.apache.camel.util.StopWatch,org.apache.camel.Exchange,org.apache.camel.AsyncCallback)>(v, v, v, v);
v = interfaceinvoke v.<org.apache.camel.AsyncProcessor: boolean process(org.apache.camel.Exchange,org.apache.camel.AsyncCallback)>(v, v);
return v;
}
protected void beginTime(org.apache.camel.Exchange)
{
org.apache.camel.api.management.PerformanceCounter v;
org.apache.camel.Exchange v;
org.apache.camel.management.InstrumentationProcessor v;
v := @this: org.apache.camel.management.InstrumentationProcessor;
v := @parameter: org.apache.camel.Exchange;
v = v.<org.apache.camel.management.InstrumentationProcessor: org.apache.camel.api.management.PerformanceCounter counter>;
interfaceinvoke v.<org.apache.camel.api.management.PerformanceCounter: void processExchange(org.apache.camel.Exchange)>(v);
return;
}
protected void recordTime(org.apache.camel.Exchange, long)
{
java.lang.Object[] v;
org.slf4j.Logger v, v;
long v;
org.apache.camel.Exchange v;
java.lang.Exception v;
org.apache.camel.management.InstrumentationProcessor v;
java.lang.Long v;
org.apache.camel.api.management.PerformanceCounter v, v;
java.lang.String v, v, v;
boolean v, v;
v := @this: org.apache.camel.management.InstrumentationProcessor;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: long;
v = <org.apache.camel.management.InstrumentationProcessor: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.camel.management.InstrumentationProcessor: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v = v.<org.apache.camel.management.InstrumentationProcessor: java.lang.String type>;
if v == null goto label;
v = v.<org.apache.camel.management.InstrumentationProcessor: java.lang.String type>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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: ");
goto label;
label:
v = "";
label:
v[0] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object[])>("{}Recording duration: {} millis for exchange: {}", v);
label:
v = interfaceinvoke v.<org.apache.camel.Exchange: boolean isFailed()>();
if v != 0 goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.Exception getException()>();
if v != null goto label;
v = v.<org.apache.camel.management.InstrumentationProcessor: org.apache.camel.api.management.PerformanceCounter counter>;
interfaceinvoke v.<org.apache.camel.api.management.PerformanceCounter: void completedExchange(org.apache.camel.Exchange,long)>(v, v);
goto label;
label:
v = v.<org.apache.camel.management.InstrumentationProcessor: org.apache.camel.api.management.PerformanceCounter counter>;
interfaceinvoke v.<org.apache.camel.api.management.PerformanceCounter: void failedExchange(org.apache.camel.Exchange)>(v);
label:
return;
}
public java.lang.String getType()
{
java.lang.String v;
org.apache.camel.management.InstrumentationProcessor v;
v := @this: org.apache.camel.management.InstrumentationProcessor;
v = v.<org.apache.camel.management.InstrumentationProcessor: java.lang.String type>;
return v;
}
public void setType(java.lang.String)
{
java.lang.String v;
org.apache.camel.management.InstrumentationProcessor v;
v := @this: org.apache.camel.management.InstrumentationProcessor;
v := @parameter: java.lang.String;
v.<org.apache.camel.management.InstrumentationProcessor: java.lang.String type> = v;
return;
}
public org.apache.camel.util.StopWatch before(org.apache.camel.Exchange) throws java.lang.Exception
{
org.apache.camel.util.StopWatch v, v, v;
org.apache.camel.Exchange v;
org.apache.camel.management.InstrumentationProcessor v;
org.apache.camel.api.management.PerformanceCounter v, v;
boolean v;
v := @this: org.apache.camel.management.InstrumentationProcessor;
v := @parameter: org.apache.camel.Exchange;
v = v.<org.apache.camel.management.InstrumentationProcessor: org.apache.camel.api.management.PerformanceCounter counter>;
if v == null goto label;
v = v.<org.apache.camel.management.InstrumentationProcessor: org.apache.camel.api.management.PerformanceCounter counter>;
v = interfaceinvoke v.<org.apache.camel.api.management.PerformanceCounter: boolean isStatisticsEnabled()>();
if v == 0 goto label;
v = new org.apache.camel.util.StopWatch;
v = v;
specialinvoke v.<org.apache.camel.util.StopWatch: void <init>()>();
goto label;
label:
v = null;
label:
v = v;
if v == null goto label;
virtualinvoke v.<org.apache.camel.management.InstrumentationProcessor: void beginTime(org.apache.camel.Exchange)>(v);
label:
return v;
}
public void after(org.apache.camel.Exchange, org.apache.camel.util.StopWatch) throws java.lang.Exception
{
org.apache.camel.management.InstrumentationProcessor v;
org.apache.camel.util.StopWatch v;
long v;
org.apache.camel.Exchange v;
v := @this: org.apache.camel.management.InstrumentationProcessor;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: org.apache.camel.util.StopWatch;
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.util.StopWatch: long taken()>();
virtualinvoke v.<org.apache.camel.management.InstrumentationProcessor: void recordTime(org.apache.camel.Exchange,long)>(v, v);
label:
return;
}
public java.lang.String toString()
{
org.apache.camel.management.InstrumentationProcessor v;
v := @this: org.apache.camel.management.InstrumentationProcessor;
return "InstrumentProcessorAdvice";
}
public int getOrder()
{
org.apache.camel.management.InstrumentationProcessor v;
v := @this: org.apache.camel.management.InstrumentationProcessor;
return 2147483645;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/camel/management/InstrumentationProcessor;");
<org.apache.camel.management.InstrumentationProcessor: org.slf4j.Logger LOG> = v;
return;
}
}