diff --git a/collector/server/src/main/java/com/usthe/collector/dispatch/MetricsCollect.java b/collector/server/src/main/java/com/usthe/collector/dispatch/MetricsCollect.java index eced034..19f0c10 100644 --- a/collector/server/src/main/java/com/usthe/collector/dispatch/MetricsCollect.java +++ b/collector/server/src/main/java/com/usthe/collector/dispatch/MetricsCollect.java @@ -18,6 +18,7 @@ import lombok.extern.slf4j.Slf4j; import java.util.Collections; import java.util.HashMap; +import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -148,9 +149,11 @@ public class MetricsCollect implements Runnable, Comparable { * @param collectData 采集数据 */ private void calculateFields(Metrics metrics, CollectRep.MetricsData.Builder collectData) { - collectData.addAllFields(metrics.getFields().stream().map(item -> - CollectRep.Field.newBuilder().setName(item.getField()).setType(item.getType()).build() - ).collect(Collectors.toSet())); + List fieldList = new LinkedList<>(); + for (Metrics.Field field : metrics.getFields()) { + fieldList.add(CollectRep.Field.newBuilder().setName(field.getField()).setType(field.getType()).build()); + } + collectData.addAllFields(fieldList); List aliasRowList = collectData.getValuesList(); if (aliasRowList == null || aliasRowList.isEmpty()) { return; diff --git a/warehouse/src/main/java/com/usthe/warehouse/controller/MetricsDataController.java b/warehouse/src/main/java/com/usthe/warehouse/controller/MetricsDataController.java index ec4f3b0..9146d6d 100644 --- a/warehouse/src/main/java/com/usthe/warehouse/controller/MetricsDataController.java +++ b/warehouse/src/main/java/com/usthe/warehouse/controller/MetricsDataController.java @@ -53,7 +53,8 @@ public class MetricsDataController { .time(redisData.getTime()); List fields = redisData.getFieldsList().stream().map(redisField -> Field.builder().name(redisField.getName()) - .type(Integer.valueOf(redisField.getType()).byteValue()).build()) + .type(Integer.valueOf(redisField.getType()).byteValue()) + .build()) .collect(Collectors.toList()); dataBuilder.fields(fields); List valueRows = redisData.getValuesList().stream().map(redisValueRow ->