Skip to content

Commit e1da55d

Browse files
vjkoskelaBrandonArp
authored andcommitted
Apply thread local builder to the application v2 parser. (#78)
1 parent 9baacf6 commit e1da55d

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

src/main/java/com/arpnetworking/metrics/mad/parsers/ProtobufV2ToRecordParser.java

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package com.arpnetworking.metrics.mad.parsers;
1717

18+
import com.arpnetworking.commons.builder.ThreadLocalBuilder;
1819
import com.arpnetworking.metrics.common.parsers.Parser;
1920
import com.arpnetworking.metrics.common.parsers.exceptions.ParsingException;
2021
import com.arpnetworking.metrics.mad.model.DefaultMetric;
@@ -82,23 +83,28 @@ private void processEntries(
8283
final List<ClientV2.MetricEntry> entries,
8384
final MetricType metricType) {
8485
for (final ClientV2.MetricEntry metricEntry : entries) {
85-
final DefaultMetric.Builder metricBuilder = new DefaultMetric.Builder()
86-
.setType(metricType);
8786
final List<Quantity> quantities = Lists.newArrayListWithExpectedSize(metricEntry.getSamplesCount());
8887
for (final ClientV2.Quantity quantity : metricEntry.getSamplesList()) {
89-
final Quantity.Builder builder = new Quantity.Builder()
90-
.setUnit(baseUnit(quantity.getUnit()));
9188
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())));
9394
} 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())));
95100
}
96-
97-
quantities.add(builder.build());
98101
}
99102

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);
102108
}
103109
}
104110

0 commit comments

Comments
 (0)