This is an automated email from the ASF dual-hosted git repository.
zhaoqingran pushed a commit to branch bulletin
in repository https://gitbox.apache.org/repos/asf/hertzbeat.git
The following commit(s) were added to refs/heads/bulletin by this push:
new 15e3a0194 refactor(manager): improve metric fields structure in
BulletinController
15e3a0194 is described below
commit 15e3a01940334a5f737497d68e17bb50f58dd1bb
Author: zqr10159 <[email protected]>
AuthorDate: Wed Jul 17 14:54:55 2024 +0800
refactor(manager): improve metric fields structure in BulletinController
Change the BulletinController to use a nested list structure for metric
fields, which enhances the flexibility of handling metric data. This adjustment
helps in organizing the bulletin metrics data more effectively and paves the
way for future enhancements.
BREAKING CHANGE: The modification in the metric fields representation might
affect consumers of the BulletinController's output who rely on the previous
flat list structure.
---
.../manager/bulletin/BulletinMetricsData.java | 2 +-
.../manager/controller/BulletinController.java | 23 ++++++++++------------
2 files changed, 11 insertions(+), 14 deletions(-)
diff --git
a/common/src/main/java/org/apache/hertzbeat/common/entity/manager/bulletin/BulletinMetricsData.java
b/common/src/main/java/org/apache/hertzbeat/common/entity/manager/bulletin/BulletinMetricsData.java
index f9903ae7a..f74663a7d 100644
---
a/common/src/main/java/org/apache/hertzbeat/common/entity/manager/bulletin/BulletinMetricsData.java
+++
b/common/src/main/java/org/apache/hertzbeat/common/entity/manager/bulletin/BulletinMetricsData.java
@@ -75,7 +75,7 @@ public class BulletinMetricsData {
private String name;
@Schema(title = "Metric fields")
- private List<Field> fields;
+ private List<List<Field>> fields;
}
@Data
diff --git
a/manager/src/main/java/org/apache/hertzbeat/manager/controller/BulletinController.java
b/manager/src/main/java/org/apache/hertzbeat/manager/controller/BulletinController.java
index c4719c571..076867e5a 100644
---
a/manager/src/main/java/org/apache/hertzbeat/manager/controller/BulletinController.java
+++
b/manager/src/main/java/org/apache/hertzbeat/manager/controller/BulletinController.java
@@ -197,7 +197,7 @@ public class BulletinController {
return ResponseEntity.ok(Message.fail(FAIL_CODE, "real time store
not available"));
}
List<Bulletin> bulletinList = bulletinService.listBulletin();
- List<BulletinMetricsData> da = new ArrayList<>();
+ List<BulletinMetricsData> dataList = new ArrayList<>();
for (Bulletin bulletin : bulletinList) {
BulletinMetricsData.BulletinMetricsDataBuilder dataBuilder =
BulletinMetricsData.builder();
dataBuilder.id(bulletin.getId()).name(bulletin.getName()).app(bulletin.getApp());
@@ -209,32 +209,29 @@ public class BulletinController {
List<BulletinMetricsData.Metric> metrics = new ArrayList<>();
for (String metric : bulletin.getMetrics()) {
metricBuilder.name(metric.split("-")[0]);
- List<BulletinMetricsData.Field> fields = new ArrayList<>();
CollectRep.MetricsData currentMetricsData =
realTimeDataReader.getCurrentMetricsData(bulletin.getMonitorId(),
metric.split("-")[0]);
-
- for (CollectRep.Field field :
currentMetricsData.getFieldsList()) {
-
fields.add(BulletinMetricsData.Field.builder().key(field.getName()).unit(field.getUnit()).build());
- }
-
+ List<List<BulletinMetricsData.Field>> fieldsList = new
ArrayList<>();
List<CollectRep.ValueRow> valuesList =
currentMetricsData.getValuesList();
for (CollectRep.ValueRow valueRow : valuesList) {
+ List<BulletinMetricsData.Field> fields = new ArrayList<>();
+ for (CollectRep.Field field :
currentMetricsData.getFieldsList()) {
+
fields.add(BulletinMetricsData.Field.builder().key(field.getName()).unit(field.getUnit()).build());
+ }
for (int i = 0; i < fields.size(); i++) {
String origin = valueRow.getColumns(i);
fields.get(i).setValue(origin);
}
- metricBuilder.fields(fields);
+ fieldsList.add(fields);
}
+ metricBuilder.fields(fieldsList);
metrics.add(metricBuilder.build());
}
contentBuilder.metrics(metrics);
dataBuilder.content(contentBuilder.build());
- da.add(dataBuilder.build());
+ dataList.add(dataBuilder.build());
}
- return ResponseEntity.ok(Message.success(da));
+ return ResponseEntity.ok(Message.success(dataList));
}
-
-
-
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]