public final class io.ebeaninternal.server.query.CQueryPlanStats
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.ebeaninternal.server.query.CQueryPlanStats
super_class: java.lang.Object
{
private final io.ebeaninternal.server.query.CQueryPlan queryPlan;
descriptor: Lio/ebeaninternal/server/query/CQueryPlan;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.ebean.metric.TimedMetric timedMetric;
descriptor: Lio/ebean/metric/TimedMetric;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long lastQueryTime;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private final java.util.concurrent.ConcurrentHashMap<io.ebean.bean.ObjectGraphNode, java.util.concurrent.atomic.LongAdder> origins;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentHashMap<Lio/ebean/bean/ObjectGraphNode;Ljava/util/concurrent/atomic/LongAdder;>;
void <init>(io.ebeaninternal.server.query.CQueryPlan, boolean);
descriptor: (Lio/ebeaninternal/server/query/CQueryPlan;Z)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.ebeaninternal.server.query.CQueryPlanStats.queryPlan:Lio/ebeaninternal/server/query/CQueryPlan;
2: aload 0
iload 2
ifne 3
aconst_null
goto 4
StackMap locals: io.ebeaninternal.server.query.CQueryPlanStats io.ebeaninternal.server.query.CQueryPlan int
StackMap stack: io.ebeaninternal.server.query.CQueryPlanStats
3: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
StackMap locals: io.ebeaninternal.server.query.CQueryPlanStats io.ebeaninternal.server.query.CQueryPlan int
StackMap stack: io.ebeaninternal.server.query.CQueryPlanStats java.util.concurrent.ConcurrentHashMap
4: putfield io.ebeaninternal.server.query.CQueryPlanStats.origins:Ljava/util/concurrent/ConcurrentHashMap;
5: aload 0
aload 1
invokevirtual io.ebeaninternal.server.query.CQueryPlan.createTimedMetric:()Lio/ebean/metric/TimedMetric;
putfield io.ebeaninternal.server.query.CQueryPlanStats.timedMetric:Lio/ebean/metric/TimedMetric;
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/ebeaninternal/server/query/CQueryPlanStats;
0 7 1 queryPlan Lio/ebeaninternal/server/query/CQueryPlan;
0 7 2 collectQueryOrigins Z
MethodParameters:
Name Flags
queryPlan
collectQueryOrigins
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.query.CQueryPlanStats.timedMetric:Lio/ebean/metric/TimedMetric;
invokeinterface io.ebean.metric.TimedMetric.isEmpty:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/ebeaninternal/server/query/CQueryPlanStats;
public void add(long, long, io.ebean.bean.ObjectGraphNode);
descriptor: (JJLio/ebean/bean/ObjectGraphNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 0
getfield io.ebeaninternal.server.query.CQueryPlanStats.timedMetric:Lio/ebean/metric/TimedMetric;
lload 3
lload 1
invokeinterface io.ebean.metric.TimedMetric.add:(JJ)V
1: aload 0
invokestatic java.lang.System.currentTimeMillis:()J
putfield io.ebeaninternal.server.query.CQueryPlanStats.lastQueryTime:J
2: aload 0
getfield io.ebeaninternal.server.query.CQueryPlanStats.origins:Ljava/util/concurrent/ConcurrentHashMap;
ifnull 8
aload 5
ifnull 8
3: aload 0
getfield io.ebeaninternal.server.query.CQueryPlanStats.origins:Ljava/util/concurrent/ConcurrentHashMap;
aload 5
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.concurrent.atomic.LongAdder
astore 6
start local 6 4: aload 6
ifnonnull 7
5: new java.util.concurrent.atomic.LongAdder
dup
invokespecial java.util.concurrent.atomic.LongAdder.<init>:()V
astore 6
6: aload 0
getfield io.ebeaninternal.server.query.CQueryPlanStats.origins:Ljava/util/concurrent/ConcurrentHashMap;
aload 5
aload 6
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: StackMap locals: java.util.concurrent.atomic.LongAdder
StackMap stack:
aload 6
invokevirtual java.util.concurrent.atomic.LongAdder.increment:()V
end local 6 8: StackMap locals:
StackMap stack:
return
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/ebeaninternal/server/query/CQueryPlanStats;
0 9 1 loadedBeanCount J
0 9 3 timeMicros J
0 9 5 objectGraphNode Lio/ebean/bean/ObjectGraphNode;
4 8 6 counter Ljava/util/concurrent/atomic/LongAdder;
MethodParameters:
Name Flags
loadedBeanCount
timeMicros
objectGraphNode
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.query.CQueryPlanStats.timedMetric:Lio/ebean/metric/TimedMetric;
invokeinterface io.ebean.metric.TimedMetric.reset:()V
1: aload 0
getfield io.ebeaninternal.server.query.CQueryPlanStats.origins:Ljava/util/concurrent/ConcurrentHashMap;
ifnull 6
2: aload 0
getfield io.ebeaninternal.server.query.CQueryPlanStats.origins:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 5
StackMap locals: io.ebeaninternal.server.query.CQueryPlanStats top java.util.Iterator
StackMap stack:
3: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.concurrent.atomic.LongAdder
astore 1
start local 1 4: aload 1
invokevirtual java.util.concurrent.atomic.LongAdder.reset:()V
end local 1 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: StackMap locals: io.ebeaninternal.server.query.CQueryPlanStats
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/ebeaninternal/server/query/CQueryPlanStats;
4 5 1 counter Ljava/util/concurrent/atomic/LongAdder;
long getLastQueryTime();
descriptor: ()J
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.query.CQueryPlanStats.lastQueryTime:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/ebeaninternal/server/query/CQueryPlanStats;
io.ebeaninternal.server.query.CQueryPlanStats$Snapshot getSnapshot(boolean);
descriptor: (Z)Lio/ebeaninternal/server/query/CQueryPlanStats$Snapshot;
flags: (0x0000)
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield io.ebeaninternal.server.query.CQueryPlanStats.timedMetric:Lio/ebean/metric/TimedMetric;
iload 1
invokeinterface io.ebean.metric.TimedMetric.collect:(Z)Lio/ebean/metric/TimedMetricStats;
astore 2
start local 2 1: aload 0
iload 1
invokevirtual io.ebeaninternal.server.query.CQueryPlanStats.getOrigins:(Z)Ljava/util/List;
astore 3
start local 3 2: new io.ebeaninternal.server.query.CQueryPlanStats$Snapshot
dup
aload 0
getfield io.ebeaninternal.server.query.CQueryPlanStats.queryPlan:Lio/ebeaninternal/server/query/CQueryPlan;
aload 2
aload 0
getfield io.ebeaninternal.server.query.CQueryPlanStats.lastQueryTime:J
aload 3
invokespecial io.ebeaninternal.server.query.CQueryPlanStats$Snapshot.<init>:(Lio/ebeaninternal/server/query/CQueryPlan;Lio/ebean/metric/TimedMetricStats;JLjava/util/List;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/ebeaninternal/server/query/CQueryPlanStats;
0 3 1 reset Z
1 3 2 collect Lio/ebean/metric/TimedMetricStats;
2 3 3 origins Ljava/util/List<Lio/ebean/meta/MetaOrmQueryOrigin;>;
MethodParameters:
Name Flags
reset
private java.util.List<io.ebean.meta.MetaOrmQueryOrigin> getOrigins(boolean);
descriptor: (Z)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield io.ebeaninternal.server.query.CQueryPlanStats.origins:Ljava/util/concurrent/ConcurrentHashMap;
ifnonnull 2
1: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
2: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 0
getfield io.ebeaninternal.server.query.CQueryPlanStats.origins:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 3: aload 0
getfield io.ebeaninternal.server.query.CQueryPlanStats.origins:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: io.ebeaninternal.server.query.CQueryPlanStats int java.util.List top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 5: iload 1
ifeq 8
6: aload 2
new io.ebeaninternal.server.query.CQueryPlanStats$OriginSnapshot
dup
aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast io.ebean.bean.ObjectGraphNode
aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.concurrent.atomic.LongAdder
invokevirtual java.util.concurrent.atomic.LongAdder.sumThenReset:()J
invokespecial io.ebeaninternal.server.query.CQueryPlanStats$OriginSnapshot.<init>:(Lio/ebean/bean/ObjectGraphNode;J)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: goto 9
8: StackMap locals: io.ebeaninternal.server.query.CQueryPlanStats int java.util.List java.util.Map$Entry java.util.Iterator
StackMap stack:
aload 2
new io.ebeaninternal.server.query.CQueryPlanStats$OriginSnapshot
dup
aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast io.ebean.bean.ObjectGraphNode
aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.concurrent.atomic.LongAdder
invokevirtual java.util.concurrent.atomic.LongAdder.sum:()J
invokespecial io.ebeaninternal.server.query.CQueryPlanStats$OriginSnapshot.<init>:(Lio/ebean/bean/ObjectGraphNode;J)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 9: StackMap locals: io.ebeaninternal.server.query.CQueryPlanStats int java.util.List top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
10: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/ebeaninternal/server/query/CQueryPlanStats;
0 11 1 reset Z
3 11 2 list Ljava/util/List<Lio/ebean/meta/MetaOrmQueryOrigin;>;
5 9 3 entry Ljava/util/Map$Entry<Lio/ebean/bean/ObjectGraphNode;Ljava/util/concurrent/atomic/LongAdder;>;
Signature: (Z)Ljava/util/List<Lio/ebean/meta/MetaOrmQueryOrigin;>;
MethodParameters:
Name Flags
reset
}
SourceFile: "CQueryPlanStats.java"
NestMembers:
io.ebeaninternal.server.query.CQueryPlanStats$OriginSnapshot io.ebeaninternal.server.query.CQueryPlanStats$Snapshot
InnerClasses:
private OriginSnapshot = io.ebeaninternal.server.query.CQueryPlanStats$OriginSnapshot of io.ebeaninternal.server.query.CQueryPlanStats
Snapshot = io.ebeaninternal.server.query.CQueryPlanStats$Snapshot of io.ebeaninternal.server.query.CQueryPlanStats
public abstract Entry = java.util.Map$Entry of java.util.Map