[collector] bugfix-采集器返回数据字段与值list映射问题,调度遇空job异常
This commit is contained in:
@@ -18,6 +18,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -148,9 +149,11 @@ public class MetricsCollect implements Runnable, Comparable<MetricsCollect> {
|
|||||||
* @param collectData 采集数据
|
* @param collectData 采集数据
|
||||||
*/
|
*/
|
||||||
private void calculateFields(Metrics metrics, CollectRep.MetricsData.Builder collectData) {
|
private void calculateFields(Metrics metrics, CollectRep.MetricsData.Builder collectData) {
|
||||||
collectData.addAllFields(metrics.getFields().stream().map(item ->
|
List<CollectRep.Field> fieldList = new LinkedList<>();
|
||||||
CollectRep.Field.newBuilder().setName(item.getField()).setType(item.getType()).build()
|
for (Metrics.Field field : metrics.getFields()) {
|
||||||
).collect(Collectors.toSet()));
|
fieldList.add(CollectRep.Field.newBuilder().setName(field.getField()).setType(field.getType()).build());
|
||||||
|
}
|
||||||
|
collectData.addAllFields(fieldList);
|
||||||
List<CollectRep.ValueRow> aliasRowList = collectData.getValuesList();
|
List<CollectRep.ValueRow> aliasRowList = collectData.getValuesList();
|
||||||
if (aliasRowList == null || aliasRowList.isEmpty()) {
|
if (aliasRowList == null || aliasRowList.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -53,7 +53,8 @@ public class MetricsDataController {
|
|||||||
.time(redisData.getTime());
|
.time(redisData.getTime());
|
||||||
List<Field> fields = redisData.getFieldsList().stream().map(redisField ->
|
List<Field> fields = redisData.getFieldsList().stream().map(redisField ->
|
||||||
Field.builder().name(redisField.getName())
|
Field.builder().name(redisField.getName())
|
||||||
.type(Integer.valueOf(redisField.getType()).byteValue()).build())
|
.type(Integer.valueOf(redisField.getType()).byteValue())
|
||||||
|
.build())
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
dataBuilder.fields(fields);
|
dataBuilder.fields(fields);
|
||||||
List<ValueRow> valueRows = redisData.getValuesList().stream().map(redisValueRow ->
|
List<ValueRow> valueRows = redisData.getValuesList().stream().map(redisValueRow ->
|
||||||
|
|||||||
Reference in New Issue
Block a user