From 5a0963d15af50446ac8598bf311b94ad793e9ad8 Mon Sep 17 00:00:00 2001 From: tomsun28 Date: Tue, 21 Feb 2023 15:14:30 +0800 Subject: [PATCH] refactor getMetricHistoryData endpoint --- .../open/common/entity/dto/MetricsHistoryData.java | 6 +++--- .../warehouse/controller/MetricsDataController.java | 10 +++++++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/common/src/main/java/com/zmops/open/common/entity/dto/MetricsHistoryData.java b/common/src/main/java/com/zmops/open/common/entity/dto/MetricsHistoryData.java index 34b6215..ffd7586 100644 --- a/common/src/main/java/com/zmops/open/common/entity/dto/MetricsHistoryData.java +++ b/common/src/main/java/com/zmops/open/common/entity/dto/MetricsHistoryData.java @@ -24,7 +24,6 @@ import lombok.NoArgsConstructor; import java.util.List; -import java.util.Map; /** * 历史单指标数据 @@ -50,6 +49,7 @@ public class MetricsHistoryData { @Schema(title = "监控指标") private Field field; - @Schema(description = "监控指标历史值 instance<==>values") - private Map> values; + @Schema(description = "监控指标历史值") + private List values; + } diff --git a/warehouse/src/main/java/com/zmops/open/warehouse/controller/MetricsDataController.java b/warehouse/src/main/java/com/zmops/open/warehouse/controller/MetricsDataController.java index f11b700..10b4c88 100644 --- a/warehouse/src/main/java/com/zmops/open/warehouse/controller/MetricsDataController.java +++ b/warehouse/src/main/java/com/zmops/open/warehouse/controller/MetricsDataController.java @@ -38,6 +38,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -142,8 +143,15 @@ public ResponseEntity> getMetricHistoryData( } else { instanceValuesMap = historyDataStorage.getHistoryIntervalMetricData(monitorId, app, metrics, metric, instance, history); } + List valueRows = new LinkedList<>(); + if (instanceValuesMap != null) { + valueRows = instanceValuesMap.entrySet().stream().map(item -> ValueRow.builder() + .instance(item.getKey()) + .values(item.getValue()) + .build()).collect(Collectors.toList()); + } MetricsHistoryData historyData = MetricsHistoryData.builder() - .id(monitorId).metric(metrics).values(instanceValuesMap) + .id(monitorId).metric(metrics).values(valueRows) .field(Field.builder().name(metric).type(CommonConstants.TYPE_NUMBER).build()) .build(); return ResponseEntity.ok().body(new Message<>(historyData));