public class org.slf4j.profiler.Profiler extends java.lang.Object implements org.slf4j.profiler.TimeInstrument
{
static final java.lang.String PROFILER_MARKER_NAME;
static final int MIN_SW_NAME_LENGTH;
static final int MIN_SW_ELAPSED_TIME_NUMBER_LENGTH;
final java.lang.String name;
final org.slf4j.profiler.StopWatch globalStopWatch;
java.util.List childTimeInstrumentList;
org.slf4j.profiler.ProfilerRegistry profilerRegistry;
org.slf4j.Logger logger;
static java.lang.String TOP_PROFILER_FIRST_PREFIX;
static java.lang.String NESTED_PROFILER_FIRST_PREFIX;
static java.lang.String TOTAL_ELAPSED;
static java.lang.String SUBTOTAL_ELAPSED;
static java.lang.String ELAPSED_TIME;
public void <init>(java.lang.String)
{
org.slf4j.profiler.Profiler v;
org.slf4j.profiler.StopWatch v;
java.lang.String v;
java.util.ArrayList v;
v := @this: org.slf4j.profiler.Profiler;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.slf4j.profiler.Profiler: java.util.List childTimeInstrumentList> = v;
v.<org.slf4j.profiler.Profiler: java.lang.String name> = v;
v = new org.slf4j.profiler.StopWatch;
specialinvoke v.<org.slf4j.profiler.StopWatch: void <init>(java.lang.String)>(v);
v.<org.slf4j.profiler.Profiler: org.slf4j.profiler.StopWatch globalStopWatch> = v;
return;
}
public java.lang.String getName()
{
org.slf4j.profiler.Profiler v;
java.lang.String v;
v := @this: org.slf4j.profiler.Profiler;
v = v.<org.slf4j.profiler.Profiler: java.lang.String name>;
return v;
}
public org.slf4j.profiler.ProfilerRegistry getProfilerRegistry()
{
org.slf4j.profiler.Profiler v;
org.slf4j.profiler.ProfilerRegistry v;
v := @this: org.slf4j.profiler.Profiler;
v = v.<org.slf4j.profiler.Profiler: org.slf4j.profiler.ProfilerRegistry profilerRegistry>;
return v;
}
public void registerWith(org.slf4j.profiler.ProfilerRegistry)
{
org.slf4j.profiler.Profiler v;
org.slf4j.profiler.ProfilerRegistry v;
v := @this: org.slf4j.profiler.Profiler;
v := @parameter: org.slf4j.profiler.ProfilerRegistry;
if v != null goto label;
return;
label:
v.<org.slf4j.profiler.Profiler: org.slf4j.profiler.ProfilerRegistry profilerRegistry> = v;
virtualinvoke v.<org.slf4j.profiler.ProfilerRegistry: void put(org.slf4j.profiler.Profiler)>(v);
return;
}
public org.slf4j.Logger getLogger()
{
org.slf4j.profiler.Profiler v;
org.slf4j.Logger v;
v := @this: org.slf4j.profiler.Profiler;
v = v.<org.slf4j.profiler.Profiler: org.slf4j.Logger logger>;
return v;
}
public void setLogger(org.slf4j.Logger)
{
org.slf4j.profiler.Profiler v;
org.slf4j.Logger v;
v := @this: org.slf4j.profiler.Profiler;
v := @parameter: org.slf4j.Logger;
v.<org.slf4j.profiler.Profiler: org.slf4j.Logger logger> = v;
return;
}
public void start(java.lang.String)
{
org.slf4j.profiler.Profiler v;
java.util.List v;
org.slf4j.profiler.StopWatch v;
java.lang.String v;
v := @this: org.slf4j.profiler.Profiler;
v := @parameter: java.lang.String;
virtualinvoke v.<org.slf4j.profiler.Profiler: void stopLastTimeInstrument()>();
v = new org.slf4j.profiler.StopWatch;
specialinvoke v.<org.slf4j.profiler.StopWatch: void <init>(java.lang.String)>(v);
v = v.<org.slf4j.profiler.Profiler: java.util.List childTimeInstrumentList>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return;
}
public org.slf4j.profiler.Profiler startNested(java.lang.String)
{
org.slf4j.profiler.Profiler v, v;
java.util.List v;
org.slf4j.Logger v;
org.slf4j.profiler.ProfilerRegistry v;
java.lang.String v;
v := @this: org.slf4j.profiler.Profiler;
v := @parameter: java.lang.String;
virtualinvoke v.<org.slf4j.profiler.Profiler: void stopLastTimeInstrument()>();
v = new org.slf4j.profiler.Profiler;
specialinvoke v.<org.slf4j.profiler.Profiler: void <init>(java.lang.String)>(v);
v = v.<org.slf4j.profiler.Profiler: org.slf4j.profiler.ProfilerRegistry profilerRegistry>;
virtualinvoke v.<org.slf4j.profiler.Profiler: void registerWith(org.slf4j.profiler.ProfilerRegistry)>(v);
v = v.<org.slf4j.profiler.Profiler: org.slf4j.Logger logger>;
virtualinvoke v.<org.slf4j.profiler.Profiler: void setLogger(org.slf4j.Logger)>(v);
v = v.<org.slf4j.profiler.Profiler: java.util.List childTimeInstrumentList>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return v;
}
org.slf4j.profiler.TimeInstrument getLastTimeInstrument()
{
org.slf4j.profiler.Profiler v;
java.util.List v, v, v;
int v, v, v;
java.lang.Object v;
v := @this: org.slf4j.profiler.Profiler;
v = v.<org.slf4j.profiler.Profiler: java.util.List childTimeInstrumentList>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v <= 0 goto label;
v = v.<org.slf4j.profiler.Profiler: java.util.List childTimeInstrumentList>;
v = v.<org.slf4j.profiler.Profiler: java.util.List childTimeInstrumentList>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
return v;
label:
return null;
}
void stopLastTimeInstrument()
{
org.slf4j.profiler.Profiler v;
org.slf4j.profiler.TimeInstrument v;
v := @this: org.slf4j.profiler.Profiler;
v = virtualinvoke v.<org.slf4j.profiler.Profiler: org.slf4j.profiler.TimeInstrument getLastTimeInstrument()>();
if v == null goto label;
interfaceinvoke v.<org.slf4j.profiler.TimeInstrument: org.slf4j.profiler.TimeInstrument stop()>();
label:
return;
}
public long elapsedTime()
{
org.slf4j.profiler.Profiler v;
long v;
org.slf4j.profiler.StopWatch v;
v := @this: org.slf4j.profiler.Profiler;
v = v.<org.slf4j.profiler.Profiler: org.slf4j.profiler.StopWatch globalStopWatch>;
v = virtualinvoke v.<org.slf4j.profiler.StopWatch: long elapsedTime()>();
return v;
}
public org.slf4j.profiler.TimeInstrument stop()
{
org.slf4j.profiler.Profiler v;
org.slf4j.profiler.StopWatch v;
v := @this: org.slf4j.profiler.Profiler;
virtualinvoke v.<org.slf4j.profiler.Profiler: void stopLastTimeInstrument()>();
v = v.<org.slf4j.profiler.Profiler: org.slf4j.profiler.StopWatch globalStopWatch>;
virtualinvoke v.<org.slf4j.profiler.StopWatch: org.slf4j.profiler.TimeInstrument stop()>();
return v;
}
public org.slf4j.profiler.TimeInstrumentStatus getStatus()
{
org.slf4j.profiler.Profiler v;
org.slf4j.profiler.TimeInstrumentStatus v;
org.slf4j.profiler.StopWatch v;
v := @this: org.slf4j.profiler.Profiler;
v = v.<org.slf4j.profiler.Profiler: org.slf4j.profiler.StopWatch globalStopWatch>;
v = v.<org.slf4j.profiler.StopWatch: org.slf4j.profiler.TimeInstrumentStatus status>;
return v;
}
void sanityCheck() throws java.lang.IllegalStateException
{
java.lang.IllegalStateException v, v, v;
org.slf4j.profiler.TimeInstrument v;
long v, v, v;
byte v;
org.slf4j.profiler.TimeInstrumentStatus v, v, v, v;
java.lang.String v, v, v, v;
boolean v, v;
org.slf4j.profiler.Profiler v;
java.util.Iterator v;
org.slf4j.profiler.StopWatch v;
java.util.List v;
java.lang.Object v;
v := @this: org.slf4j.profiler.Profiler;
v = virtualinvoke v.<org.slf4j.profiler.Profiler: org.slf4j.profiler.TimeInstrumentStatus getStatus()>();
v = <org.slf4j.profiler.TimeInstrumentStatus: org.slf4j.profiler.TimeInstrumentStatus STOPPED>;
if v == v goto label;
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<org.slf4j.profiler.Profiler: java.lang.String getName()>();
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[])>("time instrument [\u is not stopped");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.slf4j.profiler.Profiler: org.slf4j.profiler.StopWatch globalStopWatch>;
v = virtualinvoke v.<org.slf4j.profiler.StopWatch: long elapsedTime()>();
v = 0L;
v = v.<org.slf4j.profiler.Profiler: java.util.List childTimeInstrumentList>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.slf4j.profiler.TimeInstrument: long elapsedTime()>();
v = v + v;
v = interfaceinvoke v.<org.slf4j.profiler.TimeInstrument: org.slf4j.profiler.TimeInstrumentStatus getStatus()>();
v = <org.slf4j.profiler.TimeInstrumentStatus: org.slf4j.profiler.TimeInstrumentStatus STOPPED>;
if v == v goto label;
v = new java.lang.IllegalStateException;
v = interfaceinvoke v.<org.slf4j.profiler.TimeInstrument: java.lang.String getName()>();
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[])>("time instrument [\u is not stopped");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v instanceof org.slf4j.profiler.Profiler;
if v == 0 goto label;
virtualinvoke v.<org.slf4j.profiler.Profiler: void sanityCheck()>();
goto label;
label:
v = v cmp v;
if v >= 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("children have a higher accumulated elapsed time");
throw v;
label:
return;
}
public void print()
{
java.io.PrintStream v;
org.slf4j.profiler.Profiler v;
java.lang.String v;
v := @this: org.slf4j.profiler.Profiler;
v = <java.lang.System: java.io.PrintStream out>;
v = virtualinvoke v.<org.slf4j.profiler.Profiler: java.lang.String toString()>();
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
return;
}
public java.lang.String toString()
{
org.slf4j.profiler.Profiler v;
org.slf4j.profiler.StopWatch v;
java.lang.String v, v, v;
org.slf4j.profiler.DurationUnit v;
v := @this: org.slf4j.profiler.Profiler;
v = v.<org.slf4j.profiler.Profiler: org.slf4j.profiler.StopWatch globalStopWatch>;
v = staticinvoke <org.slf4j.profiler.Util: org.slf4j.profiler.DurationUnit selectDurationUnitForDisplay(org.slf4j.profiler.StopWatch)>(v);
v = <org.slf4j.profiler.Profiler: java.lang.String TOP_PROFILER_FIRST_PREFIX>;
v = <org.slf4j.profiler.Profiler: java.lang.String TOTAL_ELAPSED>;
v = specialinvoke v.<org.slf4j.profiler.Profiler: java.lang.String buildProfilerString(org.slf4j.profiler.DurationUnit,java.lang.String,java.lang.String,java.lang.String)>(v, v, v, "");
return v;
}
public void log()
{
org.slf4j.profiler.Profiler v;
org.slf4j.Logger v, v, v;
org.slf4j.profiler.StopWatch v;
org.slf4j.profiler.DurationUnit v;
java.lang.NullPointerException v;
org.slf4j.Marker v;
java.lang.String v, v, v, v, v;
boolean v;
v := @this: org.slf4j.profiler.Profiler;
v = staticinvoke <org.slf4j.MarkerFactory: org.slf4j.Marker getMarker(java.lang.String)>("PROFILER");
v = v.<org.slf4j.profiler.Profiler: org.slf4j.Logger logger>;
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("If you invoke the log() method, then you must associate a logger with this profiler.");
throw v;
label:
v = v.<org.slf4j.profiler.Profiler: org.slf4j.Logger logger>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled(org.slf4j.Marker)>(v);
if v == 0 goto label;
v = v.<org.slf4j.profiler.Profiler: org.slf4j.profiler.StopWatch globalStopWatch>;
v = staticinvoke <org.slf4j.profiler.Util: org.slf4j.profiler.DurationUnit selectDurationUnitForDisplay(org.slf4j.profiler.StopWatch)>(v);
v = <org.slf4j.profiler.Profiler: java.lang.String TOP_PROFILER_FIRST_PREFIX>;
v = <org.slf4j.profiler.Profiler: java.lang.String TOTAL_ELAPSED>;
v = specialinvoke v.<org.slf4j.profiler.Profiler: java.lang.String buildProfilerString(org.slf4j.profiler.DurationUnit,java.lang.String,java.lang.String,java.lang.String)>(v, v, v, "");
v = v.<org.slf4j.profiler.Profiler: org.slf4j.Logger logger>;
v = <org.slf4j.profiler.SpacePadder: java.lang.String LINE_SEP>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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");
interfaceinvoke v.<org.slf4j.Logger: void debug(org.slf4j.Marker,java.lang.String)>(v, v);
label:
return;
}
public java.util.List getCopyOfChildTimeInstruments()
{
org.slf4j.profiler.Profiler v;
java.util.List v;
java.util.ArrayList v;
v := @this: org.slf4j.profiler.Profiler;
v = new java.util.ArrayList;
v = v.<org.slf4j.profiler.Profiler: java.util.List childTimeInstrumentList>;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
return v;
}
public org.slf4j.profiler.StopWatch getCopyOfGlobalStopWatch()
{
org.slf4j.profiler.Profiler v;
org.slf4j.profiler.StopWatch v, v;
v := @this: org.slf4j.profiler.Profiler;
v = new org.slf4j.profiler.StopWatch;
v = v.<org.slf4j.profiler.Profiler: org.slf4j.profiler.StopWatch globalStopWatch>;
specialinvoke v.<org.slf4j.profiler.StopWatch: void <init>(org.slf4j.profiler.StopWatch)>(v);
return v;
}
private java.lang.String buildProfilerString(org.slf4j.profiler.DurationUnit, java.lang.String, java.lang.String, java.lang.String)
{
org.slf4j.profiler.TimeInstrument v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v;
org.slf4j.profiler.Profiler v;
java.util.Iterator v;
org.slf4j.profiler.StopWatch v, v;
org.slf4j.profiler.DurationUnit v;
java.util.List v;
java.lang.Object v;
java.lang.StringBuilder v;
v := @this: org.slf4j.profiler.Profiler;
v := @parameter: org.slf4j.profiler.DurationUnit;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" Profiler [");
v = v.<org.slf4j.profiler.Profiler: java.lang.String name>;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("]");
v = <org.slf4j.profiler.SpacePadder: java.lang.String LINE_SEP>;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v.<org.slf4j.profiler.Profiler: java.util.List childTimeInstrumentList>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v instanceof org.slf4j.profiler.StopWatch;
if v == 0 goto label;
v = <org.slf4j.profiler.Profiler: java.lang.String ELAPSED_TIME>;
staticinvoke <org.slf4j.profiler.Profiler: void buildStopWatchString(java.lang.StringBuilder,org.slf4j.profiler.DurationUnit,java.lang.String,java.lang.String,org.slf4j.profiler.StopWatch)>(v, v, v, v, v);
goto label;
label:
v = v instanceof org.slf4j.profiler.Profiler;
if v == 0 goto label;
v = <org.slf4j.profiler.Profiler: java.lang.String NESTED_PROFILER_FIRST_PREFIX>;
v = <org.slf4j.profiler.Profiler: java.lang.String SUBTOTAL_ELAPSED>;
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[])>("\u    ");
v = specialinvoke v.<org.slf4j.profiler.Profiler: java.lang.String buildProfilerString(org.slf4j.profiler.DurationUnit,java.lang.String,java.lang.String,java.lang.String)>(v, v, v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = <org.slf4j.profiler.Profiler: java.lang.String ELAPSED_TIME>;
v = v.<org.slf4j.profiler.Profiler: org.slf4j.profiler.StopWatch globalStopWatch>;
staticinvoke <org.slf4j.profiler.Profiler: void buildStopWatchString(java.lang.StringBuilder,org.slf4j.profiler.DurationUnit,java.lang.String,java.lang.String,org.slf4j.profiler.StopWatch)>(v, v, v, v, v);
goto label;
label:
v = v.<org.slf4j.profiler.Profiler: org.slf4j.profiler.StopWatch globalStopWatch>;
staticinvoke <org.slf4j.profiler.Profiler: void buildStopWatchString(java.lang.StringBuilder,org.slf4j.profiler.DurationUnit,java.lang.String,java.lang.String,org.slf4j.profiler.StopWatch)>(v, v, v, v, v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
private static void buildStopWatchString(java.lang.StringBuilder, org.slf4j.profiler.DurationUnit, java.lang.String, java.lang.String, org.slf4j.profiler.StopWatch)
{
org.slf4j.profiler.StopWatch v;
long v;
org.slf4j.profiler.DurationUnit v;
java.lang.StringBuilder v;
java.lang.String v, v, v, v, v, v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: org.slf4j.profiler.DurationUnit;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: org.slf4j.profiler.StopWatch;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("|--");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<org.slf4j.profiler.StopWatch: java.lang.String getName()>();
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[])>("[\u]");
staticinvoke <org.slf4j.profiler.SpacePadder: void leftPad(java.lang.StringBuilder,java.lang.String,int)>(v, v, 24);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" ");
v = virtualinvoke v.<org.slf4j.profiler.StopWatch: long elapsedTime()>();
v = staticinvoke <org.slf4j.profiler.Util: java.lang.String durationInDurationUnitsAsStr(long,org.slf4j.profiler.DurationUnit)>(v, v);
staticinvoke <org.slf4j.profiler.SpacePadder: void leftPad(java.lang.StringBuilder,java.lang.String,int)>(v, v, 9);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" ");
staticinvoke <org.slf4j.profiler.Util: void appendDurationUnitAsStr(java.lang.StringBuilder,org.slf4j.profiler.DurationUnit)>(v, v);
v = <org.slf4j.profiler.SpacePadder: java.lang.String LINE_SEP>;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
return;
}
static void <clinit>()
{
<org.slf4j.profiler.Profiler: java.lang.String TOP_PROFILER_FIRST_PREFIX> = "+";
<org.slf4j.profiler.Profiler: java.lang.String NESTED_PROFILER_FIRST_PREFIX> = "|---+";
<org.slf4j.profiler.Profiler: java.lang.String TOTAL_ELAPSED> = " Total        ";
<org.slf4j.profiler.Profiler: java.lang.String SUBTOTAL_ELAPSED> = " Subtotal     ";
<org.slf4j.profiler.Profiler: java.lang.String ELAPSED_TIME> = " elapsed time ";
return;
}
}