|
@@ -138,32 +138,24 @@ public class CalculateAlarm {
|
|
|
}
|
|
}
|
|
|
List<CollectRep.Field> fields = metricsData.getFieldsList();
|
|
List<CollectRep.Field> fields = metricsData.getFieldsList();
|
|
|
Map<String, Object> fieldValueMap = new HashMap<>(16);
|
|
Map<String, Object> fieldValueMap = new HashMap<>(16);
|
|
|
- fieldValueMap.put("app", app);
|
|
|
|
|
- fieldValueMap.put("metrics", metrics);
|
|
|
|
|
for (CollectRep.ValueRow valueRow : metricsData.getValuesList()) {
|
|
for (CollectRep.ValueRow valueRow : metricsData.getValuesList()) {
|
|
|
if (!valueRow.getColumnsList().isEmpty()) {
|
|
if (!valueRow.getColumnsList().isEmpty()) {
|
|
|
|
|
+ fieldValueMap.clear();
|
|
|
String instance = valueRow.getInstance();
|
|
String instance = valueRow.getInstance();
|
|
|
if (!"".equals(instance)) {
|
|
if (!"".equals(instance)) {
|
|
|
fieldValueMap.put("instance", instance);
|
|
fieldValueMap.put("instance", instance);
|
|
|
- } else {
|
|
|
|
|
- fieldValueMap.remove("instance");
|
|
|
|
|
}
|
|
}
|
|
|
for (int index = 0; index < valueRow.getColumnsList().size(); index++) {
|
|
for (int index = 0; index < valueRow.getColumnsList().size(); index++) {
|
|
|
String valueStr = valueRow.getColumns(index);
|
|
String valueStr = valueRow.getColumns(index);
|
|
|
CollectRep.Field field = fields.get(index);
|
|
CollectRep.Field field = fields.get(index);
|
|
|
- fieldValueMap.put("metric", field.getName());
|
|
|
|
|
if (field.getType() == CommonConstants.TYPE_NUMBER) {
|
|
if (field.getType() == CommonConstants.TYPE_NUMBER) {
|
|
|
Double doubleValue = CommonUtil.parseDoubleStr(valueStr);
|
|
Double doubleValue = CommonUtil.parseDoubleStr(valueStr);
|
|
|
if (doubleValue != null) {
|
|
if (doubleValue != null) {
|
|
|
fieldValueMap.put(field.getName(), doubleValue);
|
|
fieldValueMap.put(field.getName(), doubleValue);
|
|
|
- } else {
|
|
|
|
|
- fieldValueMap.remove(field.getName());
|
|
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
if (!"".equals(valueStr)) {
|
|
if (!"".equals(valueStr)) {
|
|
|
fieldValueMap.put(field.getName(), valueStr);
|
|
fieldValueMap.put(field.getName(), valueStr);
|
|
|
- } else {
|
|
|
|
|
- fieldValueMap.remove(field.getName());
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -187,6 +179,9 @@ public class CalculateAlarm {
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
int times = 1;
|
|
int times = 1;
|
|
|
|
|
+ fieldValueMap.put("app", app);
|
|
|
|
|
+ fieldValueMap.put("metrics", metrics);
|
|
|
|
|
+ fieldValueMap.put("metric", define.getField());
|
|
|
Alert alert = Alert.builder()
|
|
Alert alert = Alert.builder()
|
|
|
.monitorId(monitorId)
|
|
.monitorId(monitorId)
|
|
|
.alertDefineId(define.getId())
|
|
.alertDefineId(define.getId())
|