class com.codahale.metrics.json.MetricsModule$TimerSerializer extends com.fasterxml.jackson.databind.ser.std.StdSerializer<com.codahale.metrics.Timer>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.codahale.metrics.json.MetricsModule$TimerSerializer
super_class: com.fasterxml.jackson.databind.ser.std.StdSerializer
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private final java.lang.String rateUnit;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double rateFactor;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String durationUnit;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double durationFactor;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean showSamples;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private void <init>(java.util.concurrent.TimeUnit, java.util.concurrent.TimeUnit, boolean);
descriptor: (Ljava/util/concurrent/TimeUnit;Ljava/util/concurrent/TimeUnit;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc Lcom/codahale/metrics/Timer;
invokespecial com.fasterxml.jackson.databind.ser.std.StdSerializer.<init>:(Ljava/lang/Class;)V
1: aload 0
aload 1
ldc "calls"
invokestatic com.codahale.metrics.json.MetricsModule.calculateRateUnit:(Ljava/util/concurrent/TimeUnit;Ljava/lang/String;)Ljava/lang/String;
putfield com.codahale.metrics.json.MetricsModule$TimerSerializer.rateUnit:Ljava/lang/String;
2: aload 0
aload 1
lconst_1
invokevirtual java.util.concurrent.TimeUnit.toSeconds:(J)J
l2d
putfield com.codahale.metrics.json.MetricsModule$TimerSerializer.rateFactor:D
3: aload 0
aload 2
invokevirtual java.util.concurrent.TimeUnit.toString:()Ljava/lang/String;
getstatic java.util.Locale.US:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
putfield com.codahale.metrics.json.MetricsModule$TimerSerializer.durationUnit:Ljava/lang/String;
4: aload 0
dconst_1
aload 2
lconst_1
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
l2d
ddiv
putfield com.codahale.metrics.json.MetricsModule$TimerSerializer.durationFactor:D
5: aload 0
iload 3
putfield com.codahale.metrics.json.MetricsModule$TimerSerializer.showSamples:Z
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/codahale/metrics/json/MetricsModule$TimerSerializer;
0 7 1 rateUnit Ljava/util/concurrent/TimeUnit;
0 7 2 durationUnit Ljava/util/concurrent/TimeUnit;
0 7 3 showSamples Z
MethodParameters:
Name Flags
rateUnit
durationUnit
showSamples
public void serialize(com.codahale.metrics.Timer, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider);
descriptor: (Lcom/codahale/metrics/Timer;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeStartObject:()V
1: aload 1
invokevirtual com.codahale.metrics.Timer.getSnapshot:()Lcom/codahale/metrics/Snapshot;
astore 4
start local 4 2: aload 2
ldc "count"
aload 1
invokevirtual com.codahale.metrics.Timer.getCount:()J
invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeNumberField:(Ljava/lang/String;J)V
3: aload 2
ldc "max"
aload 4
invokevirtual com.codahale.metrics.Snapshot.getMax:()J
l2d
aload 0
getfield com.codahale.metrics.json.MetricsModule$TimerSerializer.durationFactor:D
dmul
invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeNumberField:(Ljava/lang/String;D)V
4: aload 2
ldc "mean"
aload 4
invokevirtual com.codahale.metrics.Snapshot.getMean:()D
aload 0
getfield com.codahale.metrics.json.MetricsModule$TimerSerializer.durationFactor:D
dmul
invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeNumberField:(Ljava/lang/String;D)V
5: aload 2
ldc "min"
aload 4
invokevirtual com.codahale.metrics.Snapshot.getMin:()J
l2d
aload 0
getfield com.codahale.metrics.json.MetricsModule$TimerSerializer.durationFactor:D
dmul
invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeNumberField:(Ljava/lang/String;D)V
6: aload 2
ldc "p50"
aload 4
invokevirtual com.codahale.metrics.Snapshot.getMedian:()D
aload 0
getfield com.codahale.metrics.json.MetricsModule$TimerSerializer.durationFactor:D
dmul
invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeNumberField:(Ljava/lang/String;D)V
7: aload 2
ldc "p75"
aload 4
invokevirtual com.codahale.metrics.Snapshot.get75thPercentile:()D
aload 0
getfield com.codahale.metrics.json.MetricsModule$TimerSerializer.durationFactor:D
dmul
invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeNumberField:(Ljava/lang/String;D)V
8: aload 2
ldc "p95"
aload 4
invokevirtual com.codahale.metrics.Snapshot.get95thPercentile:()D
aload 0
getfield com.codahale.metrics.json.MetricsModule$TimerSerializer.durationFactor:D
dmul
invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeNumberField:(Ljava/lang/String;D)V
9: aload 2
ldc "p98"
aload 4
invokevirtual com.codahale.metrics.Snapshot.get98thPercentile:()D
aload 0
getfield com.codahale.metrics.json.MetricsModule$TimerSerializer.durationFactor:D
dmul
invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeNumberField:(Ljava/lang/String;D)V
10: aload 2
ldc "p99"
aload 4
invokevirtual com.codahale.metrics.Snapshot.get99thPercentile:()D
aload 0
getfield com.codahale.metrics.json.MetricsModule$TimerSerializer.durationFactor:D
dmul
invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeNumberField:(Ljava/lang/String;D)V
11: aload 2
ldc "p999"
aload 4
invokevirtual com.codahale.metrics.Snapshot.get999thPercentile:()D
aload 0
getfield com.codahale.metrics.json.MetricsModule$TimerSerializer.durationFactor:D
dmul
invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeNumberField:(Ljava/lang/String;D)V
12: aload 0
getfield com.codahale.metrics.json.MetricsModule$TimerSerializer.showSamples:Z
ifeq 21
13: aload 4
invokevirtual com.codahale.metrics.Snapshot.getValues:()[J
astore 5
start local 5 14: aload 5
arraylength
newarray 7
astore 6
start local 6 15: iconst_0
istore 7
start local 7 16: goto 19
17: StackMap locals: com.codahale.metrics.json.MetricsModule$TimerSerializer com.codahale.metrics.Timer com.fasterxml.jackson.core.JsonGenerator com.fasterxml.jackson.databind.SerializerProvider com.codahale.metrics.Snapshot long[] double[] int
StackMap stack:
aload 6
iload 7
aload 5
iload 7
laload
l2d
aload 0
getfield com.codahale.metrics.json.MetricsModule$TimerSerializer.durationFactor:D
dmul
dastore
18: iinc 7 1
StackMap locals:
StackMap stack:
19: iload 7
aload 5
arraylength
if_icmplt 17
end local 7 20: aload 2
ldc "values"
aload 6
invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeObjectField:(Ljava/lang/String;Ljava/lang/Object;)V
end local 6 end local 5 21: StackMap locals:
StackMap stack:
aload 2
ldc "stddev"
aload 4
invokevirtual com.codahale.metrics.Snapshot.getStdDev:()D
aload 0
getfield com.codahale.metrics.json.MetricsModule$TimerSerializer.durationFactor:D
dmul
invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeNumberField:(Ljava/lang/String;D)V
22: aload 2
ldc "m15_rate"
aload 1
invokevirtual com.codahale.metrics.Timer.getFifteenMinuteRate:()D
aload 0
getfield com.codahale.metrics.json.MetricsModule$TimerSerializer.rateFactor:D
dmul
invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeNumberField:(Ljava/lang/String;D)V
23: aload 2
ldc "m1_rate"
aload 1
invokevirtual com.codahale.metrics.Timer.getOneMinuteRate:()D
aload 0
getfield com.codahale.metrics.json.MetricsModule$TimerSerializer.rateFactor:D
dmul
invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeNumberField:(Ljava/lang/String;D)V
24: aload 2
ldc "m5_rate"
aload 1
invokevirtual com.codahale.metrics.Timer.getFiveMinuteRate:()D
aload 0
getfield com.codahale.metrics.json.MetricsModule$TimerSerializer.rateFactor:D
dmul
invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeNumberField:(Ljava/lang/String;D)V
25: aload 2
ldc "mean_rate"
aload 1
invokevirtual com.codahale.metrics.Timer.getMeanRate:()D
aload 0
getfield com.codahale.metrics.json.MetricsModule$TimerSerializer.rateFactor:D
dmul
invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeNumberField:(Ljava/lang/String;D)V
26: aload 2
ldc "duration_units"
aload 0
getfield com.codahale.metrics.json.MetricsModule$TimerSerializer.durationUnit:Ljava/lang/String;
invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeStringField:(Ljava/lang/String;Ljava/lang/String;)V
27: aload 2
ldc "rate_units"
aload 0
getfield com.codahale.metrics.json.MetricsModule$TimerSerializer.rateUnit:Ljava/lang/String;
invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeStringField:(Ljava/lang/String;Ljava/lang/String;)V
28: aload 2
invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeEndObject:()V
29: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/codahale/metrics/json/MetricsModule$TimerSerializer;
0 30 1 timer Lcom/codahale/metrics/Timer;
0 30 2 json Lcom/fasterxml/jackson/core/JsonGenerator;
0 30 3 provider Lcom/fasterxml/jackson/databind/SerializerProvider;
2 30 4 snapshot Lcom/codahale/metrics/Snapshot;
14 21 5 values [J
15 21 6 scaledValues [D
16 20 7 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
timer
json
provider
public void serialize(java.lang.Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider);
descriptor: (Ljava/lang/Object;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
checkcast com.codahale.metrics.Timer
aload 2
aload 3
invokevirtual com.codahale.metrics.json.MetricsModule$TimerSerializer.serialize:(Lcom/codahale/metrics/Timer;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
}
Signature: Lcom/fasterxml/jackson/databind/ser/std/StdSerializer<Lcom/codahale/metrics/Timer;>;
SourceFile: "MetricsModule.java"
NestHost: com.codahale.metrics.json.MetricsModule
InnerClasses:
private TimerSerializer = com.codahale.metrics.json.MetricsModule$TimerSerializer of com.codahale.metrics.json.MetricsModule