1 package com.atlassian.vcache.internal.core.metrics;
2
3 import com.atlassian.vcache.internal.LongMetric;
4
5
6
7
8
9
10 public class DefaultLongMetric implements LongMetric {
11 private long sampleCount;
12 private long samplesTotal;
13 private long minSample = Long.MAX_VALUE;
14 private long maxSample = Long.MIN_VALUE;
15
16
17
18
19
20
21 public void record(long sample) {
22 sampleCount++;
23 samplesTotal += sample;
24 minSample = Math.min(sample, minSample);
25 maxSample = Math.max(sample, maxSample);
26 }
27
28 @Override
29 public long getSampleCount() {
30 return sampleCount;
31 }
32
33 @Override
34 public long getSamplesTotal() {
35 return samplesTotal;
36 }
37
38 @Override
39 public long getMinSample() {
40 return minSample;
41 }
42
43 @Override
44 public long getMaxSample() {
45 return maxSample;
46 }
47
48 @Override
49 public String toString() {
50 return "DefaultLongMetric{" +
51 "sampleCount=" + sampleCount +
52 ", samplesTotal=" + samplesTotal +
53 ", minSample=" + minSample +
54 ", maxSample=" + maxSample +
55 '}';
56 }
57 }