public class org.terracotta.statistics.registry.StatisticRegistry
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.terracotta.statistics.registry.StatisticRegistry
super_class: java.lang.Object
{
private final java.lang.Object contextObject;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.function.LongSupplier timeSource;
descriptor: Ljava/util/function/LongSupplier;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.String, org.terracotta.statistics.ValueStatistic<? extends java.io.Serializable>> statistics;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/terracotta/statistics/ValueStatistic<+Ljava/io/Serializable;>;>;
public void <init>(java.lang.Object, java.util.function.LongSupplier);
descriptor: (Ljava/lang/Object;Ljava/util/function/LongSupplier;)V
flags: (0x0001) ACC_PUBLIC
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
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.terracotta.statistics.registry.StatisticRegistry.statistics:Ljava/util/Map;
2: aload 0
aload 1
putfield org.terracotta.statistics.registry.StatisticRegistry.contextObject:Ljava/lang/Object;
3: aload 0
aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.function.LongSupplier
putfield org.terracotta.statistics.registry.StatisticRegistry.timeSource:Ljava/util/function/LongSupplier;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/terracotta/statistics/registry/StatisticRegistry;
0 5 1 contextObject Ljava/lang/Object;
0 5 2 timeSource Ljava/util/function/LongSupplier;
MethodParameters:
Name Flags
contextObject
timeSource
protected java.util.Map<java.lang.String, org.terracotta.statistics.ValueStatistic<? extends java.io.Serializable>> getStatistics();
descriptor: ()Ljava/util/Map;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.terracotta.statistics.registry.StatisticRegistry.statistics:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/terracotta/statistics/registry/StatisticRegistry;
Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/terracotta/statistics/ValueStatistic<+Ljava/io/Serializable;>;>;
public <T extends java.io.Serializable> java.util.Optional<org.terracotta.statistics.registry.Statistic<T>> queryStatistic(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
lconst_0
invokevirtual org.terracotta.statistics.registry.StatisticRegistry.queryStatistic:(Ljava/lang/String;J)Ljava/util/Optional;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/terracotta/statistics/registry/StatisticRegistry;
0 1 1 fullStatisticName Ljava/lang/String;
Signature: <T::Ljava/io/Serializable;>(Ljava/lang/String;)Ljava/util/Optional<Lorg/terracotta/statistics/registry/Statistic<TT;>;>;
MethodParameters:
Name Flags
fullStatisticName
public <T extends java.io.Serializable> java.util.Optional<org.terracotta.statistics.registry.Statistic<T>> queryStatistic(java.lang.String, long);
descriptor: (Ljava/lang/String;J)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.terracotta.statistics.registry.StatisticRegistry.statistics:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.terracotta.statistics.ValueStatistic
astore 4
start local 4 1: aload 4
ifnonnull 3
2: invokestatic java.util.Optional.empty:()Ljava/util/Optional;
areturn
3: StackMap locals: org.terracotta.statistics.ValueStatistic
StackMap stack:
aload 4
lload 2
aload 0
getfield org.terracotta.statistics.registry.StatisticRegistry.timeSource:Ljava/util/function/LongSupplier;
invokeinterface java.util.function.LongSupplier.getAsLong:()J
invokestatic org.terracotta.statistics.registry.Statistic.extract:(Lorg/terracotta/statistics/ValueStatistic;JJ)Lorg/terracotta/statistics/registry/Statistic;
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/terracotta/statistics/registry/StatisticRegistry;
0 4 1 fullStatisticName Ljava/lang/String;
0 4 2 sinceMillis J
1 4 4 valueStatistic Lorg/terracotta/statistics/ValueStatistic<TT;>;
Signature: <T::Ljava/io/Serializable;>(Ljava/lang/String;J)Ljava/util/Optional<Lorg/terracotta/statistics/registry/Statistic<TT;>;>;
MethodParameters:
Name Flags
fullStatisticName
sinceMillis
public java.util.Map<java.lang.String, org.terracotta.statistics.registry.Statistic<? extends java.io.Serializable>> queryStatistics();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
lconst_0
invokevirtual org.terracotta.statistics.registry.StatisticRegistry.queryStatistics:(J)Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/terracotta/statistics/registry/StatisticRegistry;
Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/terracotta/statistics/registry/Statistic<+Ljava/io/Serializable;>;>;
public java.util.Map<java.lang.String, org.terracotta.statistics.registry.Statistic<? extends java.io.Serializable>> queryStatistics(long);
descriptor: (J)Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.terracotta.statistics.registry.StatisticRegistry.timeSource:Ljava/util/function/LongSupplier;
invokeinterface java.util.function.LongSupplier.getAsLong:()J
lstore 3
start local 3 1: aload 0
getfield org.terracotta.statistics.registry.StatisticRegistry.statistics:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/Map$Entry.getKey()Ljava/lang/Object; (9 itf)
(Ljava/util/Map$Entry;)Ljava/lang/String;
lload 1
lload 3
invokedynamic apply(JJ)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
org/terracotta/statistics/registry/StatisticRegistry.lambda$1(JJLjava/util/Map$Entry;)Lorg/terracotta/statistics/registry/Statistic; (6)
(Ljava/util/Map$Entry;)Lorg/terracotta/statistics/registry/Statistic;
invokestatic java.util.stream.Collectors.toMap:(Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.Map
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/terracotta/statistics/registry/StatisticRegistry;
0 2 1 sinceMillis J
1 2 3 now J
Signature: (J)Ljava/util/Map<Ljava/lang/String;Lorg/terracotta/statistics/registry/Statistic<+Ljava/io/Serializable;>;>;
MethodParameters:
Name Flags
sinceMillis
public <T extends java.io.Serializable> void registerStatistic(java.lang.String, org.terracotta.statistics.StatisticType, java.util.function.Supplier<T>);
descriptor: (Ljava/lang/String;Lorg/terracotta/statistics/StatisticType;Ljava/util/function/Supplier;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokestatic org.terracotta.statistics.ValueStatistics.supply:(Lorg/terracotta/statistics/StatisticType;Ljava/util/function/Supplier;)Lorg/terracotta/statistics/ValueStatistic;
invokevirtual org.terracotta.statistics.registry.StatisticRegistry.registerStatistic:(Ljava/lang/String;Lorg/terracotta/statistics/ValueStatistic;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/terracotta/statistics/registry/StatisticRegistry;
0 2 1 fullStatName Ljava/lang/String;
0 2 2 type Lorg/terracotta/statistics/StatisticType;
0 2 3 accessor Ljava/util/function/Supplier<TT;>;
Signature: <T::Ljava/io/Serializable;>(Ljava/lang/String;Lorg/terracotta/statistics/StatisticType;Ljava/util/function/Supplier<TT;>;)V
MethodParameters:
Name Flags
fullStatName
type
accessor
public <T extends java.io.Serializable> void registerStatistic(java.lang.String, org.terracotta.statistics.ValueStatistic<T>);
descriptor: (Ljava/lang/String;Lorg/terracotta/statistics/ValueStatistic;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.terracotta.statistics.registry.StatisticRegistry.statistics:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
ifnull 2
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Found duplicate statistic "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/terracotta/statistics/registry/StatisticRegistry;
0 3 1 fullStatName Ljava/lang/String;
0 3 2 accessor Lorg/terracotta/statistics/ValueStatistic<TT;>;
Signature: <T::Ljava/io/Serializable;>(Ljava/lang/String;Lorg/terracotta/statistics/ValueStatistic<TT;>;)V
MethodParameters:
Name Flags
fullStatName
accessor
public void registerTable(java.lang.String, java.util.function.Supplier<org.terracotta.statistics.Table>);
descriptor: (Ljava/lang/String;Ljava/util/function/Supplier;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.terracotta.statistics.ValueStatistics.table:(Ljava/util/function/Supplier;)Lorg/terracotta/statistics/ValueStatistic;
invokevirtual org.terracotta.statistics.registry.StatisticRegistry.registerStatistic:(Ljava/lang/String;Lorg/terracotta/statistics/ValueStatistic;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/terracotta/statistics/registry/StatisticRegistry;
0 2 1 fullStatName Ljava/lang/String;
0 2 2 accessor Ljava/util/function/Supplier<Lorg/terracotta/statistics/Table;>;
Signature: (Ljava/lang/String;Ljava/util/function/Supplier<Lorg/terracotta/statistics/Table;>;)V
MethodParameters:
Name Flags
fullStatName
accessor
public void registerGauge(java.lang.String, java.util.function.Supplier<java.lang.Number>);
descriptor: (Ljava/lang/String;Ljava/util/function/Supplier;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.terracotta.statistics.ValueStatistics.gauge:(Ljava/util/function/Supplier;)Lorg/terracotta/statistics/ValueStatistic;
invokevirtual org.terracotta.statistics.registry.StatisticRegistry.registerStatistic:(Ljava/lang/String;Lorg/terracotta/statistics/ValueStatistic;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/terracotta/statistics/registry/StatisticRegistry;
0 2 1 fullStatName Ljava/lang/String;
0 2 2 accessor Ljava/util/function/Supplier<Ljava/lang/Number;>;
Signature: (Ljava/lang/String;Ljava/util/function/Supplier<Ljava/lang/Number;>;)V
MethodParameters:
Name Flags
fullStatName
accessor
public void registerCounter(java.lang.String, java.util.function.Supplier<java.lang.Number>);
descriptor: (Ljava/lang/String;Ljava/util/function/Supplier;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.terracotta.statistics.ValueStatistics.counter:(Ljava/util/function/Supplier;)Lorg/terracotta/statistics/ValueStatistic;
invokevirtual org.terracotta.statistics.registry.StatisticRegistry.registerStatistic:(Ljava/lang/String;Lorg/terracotta/statistics/ValueStatistic;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/terracotta/statistics/registry/StatisticRegistry;
0 2 1 fullStatName Ljava/lang/String;
0 2 2 accessor Ljava/util/function/Supplier<Ljava/lang/Number;>;
Signature: (Ljava/lang/String;Ljava/util/function/Supplier<Ljava/lang/Number;>;)V
MethodParameters:
Name Flags
fullStatName
accessor
public <T extends java.io.Serializable> boolean registerStatistic(java.lang.String, org.terracotta.statistics.registry.ValueStatisticDescriptor);
descriptor: (Ljava/lang/String;Lorg/terracotta/statistics/registry/ValueStatisticDescriptor;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.terracotta.statistics.registry.StatisticRegistry.contextObject:Ljava/lang/Object;
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.terracotta.statistics.registry.StatisticRegistry.contextObject:Ljava/lang/Object;
invokestatic org.terracotta.context.ContextManager.nodeFor:(Ljava/lang/Object;)Lorg/terracotta/context/TreeNode;
astore 3
start local 3 3: aload 3
ifnonnull 5
4: iconst_0
ireturn
5: StackMap locals: org.terracotta.context.TreeNode
StackMap stack:
invokestatic org.terracotta.context.query.QueryBuilder.queryBuilder:()Lorg/terracotta/context/query/QueryBuilder;
6: invokevirtual org.terracotta.context.query.QueryBuilder.descendants:()Lorg/terracotta/context/query/QueryBuilder;
iconst_2
anewarray org.terracotta.context.query.Matcher
dup
iconst_0
7: ldc "name"
aload 2
invokevirtual org.terracotta.statistics.registry.ValueStatisticDescriptor.getObserverName:()Ljava/lang/String;
invokestatic org.terracotta.context.query.Matchers.hasAttribute:(Ljava/lang/String;Ljava/lang/Object;)Lorg/terracotta/context/query/Matcher;
aastore
dup
iconst_1
8: aload 0
aload 2
invokevirtual org.terracotta.statistics.registry.ValueStatisticDescriptor.getTags:()Ljava/util/Set;
invokevirtual org.terracotta.statistics.registry.StatisticRegistry.hasTags:(Ljava/util/Collection;)Lorg/terracotta/context/query/Matcher;
aastore
9: invokestatic org.terracotta.context.query.Matchers.allOf:([Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokestatic org.terracotta.context.query.Matchers.attributes:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokestatic org.terracotta.context.query.Matchers.context:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokevirtual org.terracotta.context.query.QueryBuilder.filter:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/QueryBuilder;
10: ldc Lorg/terracotta/statistics/ValueStatistic;
invokestatic org.terracotta.context.query.Matchers.subclassOf:(Ljava/lang/Class;)Lorg/terracotta/context/query/Matcher;
invokestatic org.terracotta.context.query.Matchers.identifier:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokestatic org.terracotta.context.query.Matchers.context:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokevirtual org.terracotta.context.query.QueryBuilder.filter:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/QueryBuilder;
11: invokevirtual org.terracotta.context.query.QueryBuilder.build:()Lorg/terracotta/context/query/Query;
aload 3
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
invokeinterface org.terracotta.context.query.Query.execute:(Ljava/util/Set;)Ljava/util/Set;
12: astore 4
start local 4 13: aload 4
invokeinterface java.util.Set.isEmpty:()Z
ifne 27
14: aload 4
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 25
StackMap locals: org.terracotta.statistics.registry.StatisticRegistry java.lang.String org.terracotta.statistics.registry.ValueStatisticDescriptor org.terracotta.context.TreeNode java.util.Set top java.util.Iterator
StackMap stack:
15: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.terracotta.context.TreeNode
astore 5
start local 5 16: aconst_null
astore 7
start local 7 17: aload 5
invokeinterface org.terracotta.context.TreeNode.getContext:()Lorg/terracotta/context/ContextElement;
invokeinterface org.terracotta.context.ContextElement.attributes:()Ljava/util/Map;
ldc "properties"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
astore 8
start local 8 18: aload 8
ifnull 20
aload 8
ldc "discriminator"
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 20
19: aload 8
ldc "discriminator"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 7
20: StackMap locals: org.terracotta.statistics.registry.StatisticRegistry java.lang.String org.terracotta.statistics.registry.ValueStatisticDescriptor org.terracotta.context.TreeNode java.util.Set org.terracotta.context.TreeNode java.util.Iterator java.lang.String java.util.Map
StackMap stack:
new java.lang.StringBuilder
dup
aload 7
ifnonnull 21
ldc ""
goto 22
StackMap locals: org.terracotta.statistics.registry.StatisticRegistry java.lang.String org.terracotta.statistics.registry.ValueStatisticDescriptor org.terracotta.context.TreeNode java.util.Set org.terracotta.context.TreeNode java.util.Iterator java.lang.String java.util.Map
StackMap stack: new 20 new 20
21: new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals: org.terracotta.statistics.registry.StatisticRegistry java.lang.String org.terracotta.statistics.registry.ValueStatisticDescriptor org.terracotta.context.TreeNode java.util.Set org.terracotta.context.TreeNode java.util.Iterator java.lang.String java.util.Map
StackMap stack: new 20 new 20 java.lang.String
22: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 9
start local 9 23: aload 5
invokeinterface org.terracotta.context.TreeNode.getContext:()Lorg/terracotta/context/ContextElement;
invokeinterface org.terracotta.context.ContextElement.attributes:()Ljava/util/Map;
ldc "this"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.terracotta.statistics.ValueStatistic
astore 10
start local 10 24: aload 0
aload 9
aload 10
invokevirtual org.terracotta.statistics.registry.StatisticRegistry.registerStatistic:(Ljava/lang/String;Lorg/terracotta/statistics/ValueStatistic;)V
end local 10 end local 9 end local 8 end local 7 end local 5 25: StackMap locals: org.terracotta.statistics.registry.StatisticRegistry java.lang.String org.terracotta.statistics.registry.ValueStatisticDescriptor org.terracotta.context.TreeNode java.util.Set top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
26: iconst_1
ireturn
27: StackMap locals: org.terracotta.statistics.registry.StatisticRegistry java.lang.String org.terracotta.statistics.registry.ValueStatisticDescriptor org.terracotta.context.TreeNode java.util.Set
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/terracotta/statistics/registry/StatisticRegistry;
0 28 1 statNameSuffix Ljava/lang/String;
0 28 2 descriptor Lorg/terracotta/statistics/registry/ValueStatisticDescriptor;
3 28 3 treeNode Lorg/terracotta/context/TreeNode;
13 28 4 result Ljava/util/Set<Lorg/terracotta/context/TreeNode;>;
16 25 5 node Lorg/terracotta/context/TreeNode;
17 25 7 discriminator Ljava/lang/String;
18 25 8 properties Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
23 25 9 fullStatName Ljava/lang/String;
24 25 10 statistic Lorg/terracotta/statistics/ValueStatistic<TT;>;
Signature: <T::Ljava/io/Serializable;>(Ljava/lang/String;Lorg/terracotta/statistics/registry/ValueStatisticDescriptor;)Z
MethodParameters:
Name Flags
statNameSuffix
descriptor
public <T extends java.lang.Enum<T>> boolean registerStatistic(java.lang.String, org.terracotta.statistics.registry.OperationStatisticDescriptor<T>, java.util.EnumSet<T>);
descriptor: (Ljava/lang/String;Lorg/terracotta/statistics/registry/OperationStatisticDescriptor;Ljava/util/EnumSet;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.terracotta.statistics.registry.StatisticRegistry.contextObject:Ljava/lang/Object;
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.terracotta.statistics.registry.StatisticRegistry.contextObject:Ljava/lang/Object;
invokestatic org.terracotta.context.ContextManager.nodeFor:(Ljava/lang/Object;)Lorg/terracotta/context/TreeNode;
astore 4
start local 4 3: aload 4
ifnonnull 5
4: iconst_0
ireturn
5: StackMap locals: org.terracotta.context.TreeNode
StackMap stack:
invokestatic org.terracotta.context.query.QueryBuilder.queryBuilder:()Lorg/terracotta/context/query/QueryBuilder;
6: invokevirtual org.terracotta.context.query.QueryBuilder.descendants:()Lorg/terracotta/context/query/QueryBuilder;
iconst_3
anewarray org.terracotta.context.query.Matcher
dup
iconst_0
7: ldc "type"
aload 2
invokevirtual org.terracotta.statistics.registry.OperationStatisticDescriptor.getType:()Ljava/lang/Class;
invokestatic org.terracotta.context.query.Matchers.hasAttribute:(Ljava/lang/String;Ljava/lang/Object;)Lorg/terracotta/context/query/Matcher;
aastore
dup
iconst_1
8: ldc "name"
aload 2
invokevirtual org.terracotta.statistics.registry.OperationStatisticDescriptor.getObserverName:()Ljava/lang/String;
invokestatic org.terracotta.context.query.Matchers.hasAttribute:(Ljava/lang/String;Ljava/lang/Object;)Lorg/terracotta/context/query/Matcher;
aastore
dup
iconst_2
9: aload 0
aload 2
invokevirtual org.terracotta.statistics.registry.OperationStatisticDescriptor.getTags:()Ljava/util/Set;
invokevirtual org.terracotta.statistics.registry.StatisticRegistry.hasTags:(Ljava/util/Collection;)Lorg/terracotta/context/query/Matcher;
aastore
10: invokestatic org.terracotta.context.query.Matchers.allOf:([Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokestatic org.terracotta.context.query.Matchers.attributes:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokestatic org.terracotta.context.query.Matchers.context:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokevirtual org.terracotta.context.query.QueryBuilder.filter:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/QueryBuilder;
11: ldc Lorg/terracotta/statistics/OperationStatistic;
invokestatic org.terracotta.context.query.Matchers.subclassOf:(Ljava/lang/Class;)Lorg/terracotta/context/query/Matcher;
invokestatic org.terracotta.context.query.Matchers.identifier:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokestatic org.terracotta.context.query.Matchers.context:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokevirtual org.terracotta.context.query.QueryBuilder.filter:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/QueryBuilder;
12: invokevirtual org.terracotta.context.query.QueryBuilder.build:()Lorg/terracotta/context/query/Query;
aload 4
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
invokeinterface org.terracotta.context.query.Query.execute:(Ljava/util/Set;)Ljava/util/Set;
13: astore 5
start local 5 14: aload 5
invokeinterface java.util.Set.isEmpty:()Z
ifne 28
15: aload 5
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 26
StackMap locals: org.terracotta.statistics.registry.StatisticRegistry java.lang.String org.terracotta.statistics.registry.OperationStatisticDescriptor java.util.EnumSet org.terracotta.context.TreeNode java.util.Set top java.util.Iterator
StackMap stack:
16: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.terracotta.context.TreeNode
astore 6
start local 6 17: aconst_null
astore 8
start local 8 18: aload 6
invokeinterface org.terracotta.context.TreeNode.getContext:()Lorg/terracotta/context/ContextElement;
invokeinterface org.terracotta.context.ContextElement.attributes:()Ljava/util/Map;
ldc "properties"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
astore 9
start local 9 19: aload 9
ifnull 21
aload 9
ldc "discriminator"
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 21
20: aload 9
ldc "discriminator"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 8
21: StackMap locals: org.terracotta.statistics.registry.StatisticRegistry java.lang.String org.terracotta.statistics.registry.OperationStatisticDescriptor java.util.EnumSet org.terracotta.context.TreeNode java.util.Set org.terracotta.context.TreeNode java.util.Iterator java.lang.String java.util.Map
StackMap stack:
new java.lang.StringBuilder
dup
aload 8
ifnonnull 22
ldc ""
goto 23
StackMap locals: org.terracotta.statistics.registry.StatisticRegistry java.lang.String org.terracotta.statistics.registry.OperationStatisticDescriptor java.util.EnumSet org.terracotta.context.TreeNode java.util.Set org.terracotta.context.TreeNode java.util.Iterator java.lang.String java.util.Map
StackMap stack: new 21 new 21
22: new java.lang.StringBuilder
dup
aload 8
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals: org.terracotta.statistics.registry.StatisticRegistry java.lang.String org.terracotta.statistics.registry.OperationStatisticDescriptor java.util.EnumSet org.terracotta.context.TreeNode java.util.Set org.terracotta.context.TreeNode java.util.Iterator java.lang.String java.util.Map
StackMap stack: new 21 new 21 java.lang.String
23: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
start local 10 24: aload 6
invokeinterface org.terracotta.context.TreeNode.getContext:()Lorg/terracotta/context/ContextElement;
invokeinterface org.terracotta.context.ContextElement.attributes:()Ljava/util/Map;
ldc "this"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.terracotta.statistics.OperationStatistic
astore 11
start local 11 25: aload 0
aload 10
aload 11
aload 3
invokeinterface org.terracotta.statistics.OperationStatistic.statistic:(Ljava/util/Set;)Lorg/terracotta/statistics/ValueStatistic;
invokevirtual org.terracotta.statistics.registry.StatisticRegistry.registerStatistic:(Ljava/lang/String;Lorg/terracotta/statistics/ValueStatistic;)V
end local 11 end local 10 end local 9 end local 8 end local 6 26: StackMap locals: org.terracotta.statistics.registry.StatisticRegistry java.lang.String org.terracotta.statistics.registry.OperationStatisticDescriptor java.util.EnumSet org.terracotta.context.TreeNode java.util.Set top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
27: iconst_1
ireturn
28: StackMap locals: org.terracotta.statistics.registry.StatisticRegistry java.lang.String org.terracotta.statistics.registry.OperationStatisticDescriptor java.util.EnumSet org.terracotta.context.TreeNode java.util.Set
StackMap stack:
iconst_0
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/terracotta/statistics/registry/StatisticRegistry;
0 29 1 statNameSuffix Ljava/lang/String;
0 29 2 descriptor Lorg/terracotta/statistics/registry/OperationStatisticDescriptor<TT;>;
0 29 3 outcomes Ljava/util/EnumSet<TT;>;
3 29 4 treeNode Lorg/terracotta/context/TreeNode;
14 29 5 result Ljava/util/Set<Lorg/terracotta/context/TreeNode;>;
17 26 6 node Lorg/terracotta/context/TreeNode;
18 26 8 discriminator Ljava/lang/String;
19 26 9 properties Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
24 26 10 fullStatName Ljava/lang/String;
25 26 11 statistic Lorg/terracotta/statistics/OperationStatistic<TT;>;
Signature: <T:Ljava/lang/Enum<TT;>;>(Ljava/lang/String;Lorg/terracotta/statistics/registry/OperationStatisticDescriptor<TT;>;Ljava/util/EnumSet<TT;>;)Z
MethodParameters:
Name Flags
statNameSuffix
descriptor final
outcomes final
private org.terracotta.context.query.Matcher<java.util.Map<java.lang.String, java.lang.Object>> hasTags(java.util.Collection<java.lang.String>);
descriptor: (Ljava/util/Collection;)Lorg/terracotta/context/query/Matcher;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: ldc "tags"
new org.terracotta.statistics.registry.StatisticRegistry$1
dup
aload 0
aload 1
invokespecial org.terracotta.statistics.registry.StatisticRegistry$1.<init>:(Lorg/terracotta/statistics/registry/StatisticRegistry;Ljava/util/Collection;)V
invokestatic org.terracotta.context.query.Matchers.hasAttribute:(Ljava/lang/String;Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/terracotta/statistics/registry/StatisticRegistry;
0 1 1 tags Ljava/util/Collection<Ljava/lang/String;>;
Signature: (Ljava/util/Collection<Ljava/lang/String;>;)Lorg/terracotta/context/query/Matcher<Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;
MethodParameters:
Name Flags
tags final
private static org.terracotta.statistics.registry.Statistic lambda$1(long, long, java.util.Map$Entry);
descriptor: (JJLjava/util/Map$Entry;)Lorg/terracotta/statistics/registry/Statistic;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=3
start local 4 0: aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.terracotta.statistics.ValueStatistic
lload 0
lload 2
invokestatic org.terracotta.statistics.registry.Statistic.extract:(Lorg/terracotta/statistics/ValueStatistic;JJ)Lorg/terracotta/statistics/registry/Statistic;
areturn
end local 4 LocalVariableTable:
Start End Slot Name Signature
0 1 4 e Ljava/util/Map$Entry<Ljava/lang/String;Lorg/terracotta/statistics/ValueStatistic<+Ljava/io/Serializable;>;>;
}
SourceFile: "StatisticRegistry.java"
NestMembers:
org.terracotta.statistics.registry.StatisticRegistry$1
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
org.terracotta.statistics.registry.StatisticRegistry$1