|
15 | 15 | */
|
16 | 16 | package com.arpnetworking.metrics.mad.parsers;
|
17 | 17 |
|
| 18 | +import com.arpnetworking.commons.builder.ThreadLocalBuilder; |
18 | 19 | import com.arpnetworking.metrics.common.parsers.Parser;
|
19 | 20 | import com.arpnetworking.metrics.common.parsers.exceptions.ParsingException;
|
20 | 21 | import com.arpnetworking.metrics.mad.model.DefaultMetric;
|
@@ -82,23 +83,28 @@ private void processEntries(
|
82 | 83 | final List<ClientV2.MetricEntry> entries,
|
83 | 84 | final MetricType metricType) {
|
84 | 85 | for (final ClientV2.MetricEntry metricEntry : entries) {
|
85 |
| - final DefaultMetric.Builder metricBuilder = new DefaultMetric.Builder() |
86 |
| - .setType(metricType); |
87 | 86 | final List<Quantity> quantities = Lists.newArrayListWithExpectedSize(metricEntry.getSamplesCount());
|
88 | 87 | for (final ClientV2.Quantity quantity : metricEntry.getSamplesList()) {
|
89 |
| - final Quantity.Builder builder = new Quantity.Builder() |
90 |
| - .setUnit(baseUnit(quantity.getUnit())); |
91 | 88 | if (quantity.getValueCase().equals(ClientV2.Quantity.ValueCase.DOUBLEVALUE)) {
|
92 |
| - builder.setValue(quantity.getDoubleValue()); |
| 89 | + quantities.add( |
| 90 | + ThreadLocalBuilder.build( |
| 91 | + Quantity.Builder.class, |
| 92 | + b -> b.setUnit(baseUnit(quantity.getUnit())) |
| 93 | + .setValue(quantity.getDoubleValue()))); |
93 | 94 | } else if (quantity.getValueCase().equals(ClientV2.Quantity.ValueCase.LONGVALUE)) {
|
94 |
| - builder.setValue(Long.valueOf(quantity.getLongValue()).doubleValue()); |
| 95 | + quantities.add( |
| 96 | + ThreadLocalBuilder.build( |
| 97 | + Quantity.Builder.class, |
| 98 | + b -> b.setUnit(baseUnit(quantity.getUnit())) |
| 99 | + .setValue((double) quantity.getLongValue()))); |
95 | 100 | }
|
96 |
| - |
97 |
| - quantities.add(builder.build()); |
98 | 101 | }
|
99 | 102 |
|
100 |
| - metricBuilder.setValues(quantities); |
101 |
| - metrics.put(metricEntry.getName(), metricBuilder.build()); |
| 103 | + final Metric defaultMetric = ThreadLocalBuilder.build( |
| 104 | + DefaultMetric.Builder.class, |
| 105 | + b -> b.setType(metricType) |
| 106 | + .setValues(quantities)); |
| 107 | + metrics.put(metricEntry.getName(), defaultMetric); |
102 | 108 | }
|
103 | 109 | }
|
104 | 110 |
|
|
0 commit comments