class org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder
super_class: java.lang.Object
{
private volatile long lastStartTime;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.util.Map<java.lang.Long, org.glassfish.jersey.server.internal.monitoring.TimeWindowStatisticsImpl$Builder> intervalStatistics;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Long;Lorg/glassfish/jersey/server/internal/monitoring/TimeWindowStatisticsImpl$Builder;>;
private final java.util.Collection<org.glassfish.jersey.server.internal.monitoring.TimeWindowStatisticsImpl$Builder<java.lang.Long>> updatableIntervalStatistics;
descriptor: Ljava/util/Collection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Collection<Lorg/glassfish/jersey/server/internal/monitoring/TimeWindowStatisticsImpl$Builder<Ljava/lang/Long;>;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=7, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: invokestatic java.lang.System.currentTimeMillis:()J
lstore 1
start local 1 2: new org.glassfish.jersey.server.internal.monitoring.AggregatingTrimmer
dup
lload 1
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
lconst_1
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokespecial org.glassfish.jersey.server.internal.monitoring.AggregatingTrimmer.<init>:(JLjava/util/concurrent/TimeUnit;JLjava/util/concurrent/TimeUnit;)V
astore 3
start local 3 3: new org.glassfish.jersey.server.internal.monitoring.TimeWindowStatisticsImpl$Builder
dup
4: new org.glassfish.jersey.server.internal.monitoring.SlidingWindowTimeReservoir
dup
lconst_1
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
lload 1
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
aload 3
invokespecial org.glassfish.jersey.server.internal.monitoring.SlidingWindowTimeReservoir.<init>:(JLjava/util/concurrent/TimeUnit;JLjava/util/concurrent/TimeUnit;Lorg/glassfish/jersey/server/internal/monitoring/core/SlidingWindowTrimmer;)V
5: invokespecial org.glassfish.jersey.server.internal.monitoring.TimeWindowStatisticsImpl$Builder.<init>:(Lorg/glassfish/jersey/server/internal/monitoring/core/TimeReservoir;)V
6: astore 4
start local 4 7: new org.glassfish.jersey.server.internal.monitoring.TimeWindowStatisticsImpl$Builder
dup
new org.glassfish.jersey.server.internal.monitoring.core.UniformTimeReservoir
dup
lload 1
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokespecial org.glassfish.jersey.server.internal.monitoring.core.UniformTimeReservoir.<init>:(JLjava/util/concurrent/TimeUnit;)V
invokespecial org.glassfish.jersey.server.internal.monitoring.TimeWindowStatisticsImpl$Builder.<init>:(Lorg/glassfish/jersey/server/internal/monitoring/core/TimeReservoir;)V
8: astore 5
start local 5 9: aload 0
iconst_2
anewarray org.glassfish.jersey.server.internal.monitoring.TimeWindowStatisticsImpl$Builder
dup
iconst_0
10: aload 5
aastore
dup
iconst_1
aload 4
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
11: putfield org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder.updatableIntervalStatistics:Ljava/util/Collection;
12: new java.util.HashMap
dup
bipush 6
invokespecial java.util.HashMap.<init>:(I)V
astore 6
start local 6 13: aload 6
lconst_0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 5
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: aload 6
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
lconst_1
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 4
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: aload 6
lload 1
ldc 15
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
aload 3
invokestatic org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder.addAggregatedInterval:(Ljava/util/Map;JJLjava/util/concurrent/TimeUnit;Lorg/glassfish/jersey/server/internal/monitoring/AggregatingTrimmer;)V
16: aload 6
lload 1
lconst_1
getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
aload 3
invokestatic org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder.addAggregatedInterval:(Ljava/util/Map;JJLjava/util/concurrent/TimeUnit;Lorg/glassfish/jersey/server/internal/monitoring/AggregatingTrimmer;)V
17: aload 6
lload 1
ldc 15
getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
aload 3
invokestatic org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder.addAggregatedInterval:(Ljava/util/Map;JJLjava/util/concurrent/TimeUnit;Lorg/glassfish/jersey/server/internal/monitoring/AggregatingTrimmer;)V
18: aload 6
lload 1
lconst_1
getstatic java.util.concurrent.TimeUnit.HOURS:Ljava/util/concurrent/TimeUnit;
aload 3
invokestatic org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder.addAggregatedInterval:(Ljava/util/Map;JJLjava/util/concurrent/TimeUnit;Lorg/glassfish/jersey/server/internal/monitoring/AggregatingTrimmer;)V
19: aload 0
aload 6
invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
putfield org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder.intervalStatistics:Ljava/util/Map;
20: return
end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/glassfish/jersey/server/internal/monitoring/ExecutionStatisticsImpl$Builder;
2 21 1 nowMillis J
3 21 3 trimmer Lorg/glassfish/jersey/server/internal/monitoring/AggregatingTrimmer;
7 21 4 oneSecondIntervalWindowBuilder Lorg/glassfish/jersey/server/internal/monitoring/TimeWindowStatisticsImpl$Builder<Ljava/lang/Long;>;
9 21 5 infiniteIntervalWindowBuilder Lorg/glassfish/jersey/server/internal/monitoring/TimeWindowStatisticsImpl$Builder<Ljava/lang/Long;>;
13 21 6 tmpIntervalStatistics Ljava/util/HashMap<Ljava/lang/Long;Lorg/glassfish/jersey/server/internal/monitoring/TimeWindowStatisticsImpl$Builder;>;
private static void addAggregatedInterval(java.util.Map<java.lang.Long, org.glassfish.jersey.server.internal.monitoring.TimeWindowStatisticsImpl$Builder>, long, long, java.util.concurrent.TimeUnit, org.glassfish.jersey.server.internal.monitoring.AggregatingTrimmer);
descriptor: (Ljava/util/Map;JJLjava/util/concurrent/TimeUnit;Lorg/glassfish/jersey/server/internal/monitoring/AggregatingTrimmer;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=13, locals=9, args_size=5
start local 0 start local 1 start local 3 start local 5 start local 6 0: aload 5
lload 3
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
lstore 7
start local 7 1: aload 0
lload 7
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
new org.glassfish.jersey.server.internal.monitoring.TimeWindowStatisticsImpl$Builder
dup
2: new org.glassfish.jersey.server.internal.monitoring.AggregatedSlidingWindowTimeReservoir
dup
lload 7
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
lload 1
3: getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
aload 6
4: invokespecial org.glassfish.jersey.server.internal.monitoring.AggregatedSlidingWindowTimeReservoir.<init>:(JLjava/util/concurrent/TimeUnit;JLjava/util/concurrent/TimeUnit;Lorg/glassfish/jersey/server/internal/monitoring/AggregatingTrimmer;)V
invokespecial org.glassfish.jersey.server.internal.monitoring.TimeWindowStatisticsImpl$Builder.<init>:(Lorg/glassfish/jersey/server/internal/monitoring/core/TimeReservoir;)V
5: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: return
end local 7 end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 intervalStatisticsMap Ljava/util/Map<Ljava/lang/Long;Lorg/glassfish/jersey/server/internal/monitoring/TimeWindowStatisticsImpl$Builder;>;
0 7 1 nowMillis J
0 7 3 interval J
0 7 5 timeUnit Ljava/util/concurrent/TimeUnit;
0 7 6 notifier Lorg/glassfish/jersey/server/internal/monitoring/AggregatingTrimmer;
1 7 7 intervalInMillis J
Signature: (Ljava/util/Map<Ljava/lang/Long;Lorg/glassfish/jersey/server/internal/monitoring/TimeWindowStatisticsImpl$Builder;>;JJLjava/util/concurrent/TimeUnit;Lorg/glassfish/jersey/server/internal/monitoring/AggregatingTrimmer;)V
MethodParameters:
Name Flags
intervalStatisticsMap final
nowMillis final
interval final
timeUnit final
notifier final
void addExecution(long, long);
descriptor: (JJ)V
flags: (0x0000)
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder.updatableIntervalStatistics:Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 3
StackMap locals: org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder long long top java.util.Iterator
StackMap stack:
1: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.glassfish.jersey.server.internal.monitoring.TimeWindowStatisticsImpl$Builder
astore 5
start local 5 2: aload 5
lload 1
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual org.glassfish.jersey.server.internal.monitoring.TimeWindowStatisticsImpl$Builder.addRequest:(JLjava/lang/Object;)V
end local 5 3: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: aload 0
lload 1
putfield org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder.lastStartTime:J
5: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/glassfish/jersey/server/internal/monitoring/ExecutionStatisticsImpl$Builder;
0 6 1 startTime J
0 6 3 duration J
2 3 5 statBuilder Lorg/glassfish/jersey/server/internal/monitoring/TimeWindowStatisticsImpl$Builder<Ljava/lang/Long;>;
MethodParameters:
Name Flags
startTime final
duration final
public org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl build();
descriptor: ()Lorg/glassfish/jersey/server/internal/monitoring/ExecutionStatisticsImpl;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 0
getfield org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder.intervalStatistics:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder java.util.Map top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 3: aload 1
aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Long
aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.glassfish.jersey.server.internal.monitoring.TimeWindowStatisticsImpl$Builder
invokevirtual org.glassfish.jersey.server.internal.monitoring.TimeWindowStatisticsImpl$Builder.build:()Lorg/glassfish/jersey/server/internal/monitoring/TimeWindowStatisticsImpl;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: new org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl
dup
aload 0
getfield org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder.lastStartTime:J
aload 1
invokespecial org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl.<init>:(JLjava/util/Map;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/glassfish/jersey/server/internal/monitoring/ExecutionStatisticsImpl$Builder;
1 6 1 newIntervalStatistics Ljava/util/Map<Ljava/lang/Long;Lorg/glassfish/jersey/server/monitoring/TimeWindowStatistics;>;
3 4 2 builderEntry Ljava/util/Map$Entry<Ljava/lang/Long;Lorg/glassfish/jersey/server/internal/monitoring/TimeWindowStatisticsImpl$Builder;>;
}
SourceFile: "ExecutionStatisticsImpl.java"
NestHost: org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
Builder = org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder of org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl
Builder = org.glassfish.jersey.server.internal.monitoring.TimeWindowStatisticsImpl$Builder of org.glassfish.jersey.server.internal.monitoring.TimeWindowStatisticsImpl