[ISSUE #677] 重启会导致部分信息采集抛出空指针

This commit is contained in:
_haoqi
2022-10-20 14:39:44 +08:00
committed by EricZeng
parent 79864955e1
commit 4510c62ebd
7 changed files with 123 additions and 28 deletions

View File

@@ -207,11 +207,12 @@ public class BrokerMetricESDAO extends BaseMetricESDAO {
}
for(String metric : metrics){
String value = esAggrMap.get(metric).getUnusedMap().get(VALUE).toString();
Object value = esAggrMap.get(metric).getUnusedMap().get(VALUE);
if(null == value){continue;}
MetricPointVO metricPoint = new MetricPointVO();
metricPoint.setAggType(aggType);
metricPoint.setValue(value);
metricPoint.setValue(value.toString());
metricPoint.setName(metric);
metricMap.put(metric, metricPoint);
@@ -243,12 +244,13 @@ public class BrokerMetricESDAO extends BaseMetricESDAO {
try {
if (null != esBucket.getUnusedMap().get(KEY)) {
Long timestamp = Long.valueOf(esBucket.getUnusedMap().get(KEY).toString());
String value = esBucket.getAggrMap().get(metric).getUnusedMap().get(VALUE).toString();
Object value = esBucket.getAggrMap().get(metric).getUnusedMap().get(VALUE);
if(null == value){return;}
MetricPointVO metricPoint = new MetricPointVO();
metricPoint.setAggType(aggType);
metricPoint.setTimeStamp(timestamp);
metricPoint.setValue(value);
metricPoint.setValue(value.toString());
metricPoint.setName(metric);
metricPoints.add(metricPoint);
@@ -290,13 +292,14 @@ public class BrokerMetricESDAO extends BaseMetricESDAO {
try {
if (null != esBucket.getUnusedMap().get(KEY)) {
Long brokerId = Long.valueOf(esBucket.getUnusedMap().get(KEY).toString());
Double value = Double.valueOf(esBucket.getAggrMap().get(HIST).getBucketList().get(0).getAggrMap()
.get(metric).getUnusedMap().get(VALUE).toString());
Object value = esBucket.getAggrMap().get(HIST).getBucketList().get(0).getAggrMap()
.get(metric).getUnusedMap().get(VALUE);
if(null == value){return;}
List<Tuple<Long, Double>> brokerValue = (null == metricBrokerValueMap.get(metric)) ?
new ArrayList<>() : metricBrokerValueMap.get(metric);
brokerValue.add(new Tuple<>(brokerId, value));
brokerValue.add(new Tuple<>(brokerId, Double.valueOf(value.toString())));
metricBrokerValueMap.put(metric, brokerValue);
}
}catch (Exception e){

View File

@@ -169,11 +169,12 @@ public class ClusterMetricESDAO extends BaseMetricESDAO {
}
for(String metric : metrics){
String value = esAggrMap.get(metric).getUnusedMap().get(VALUE).toString();
Object value = esAggrMap.get(metric).getUnusedMap().get(VALUE);
if(null == value){continue;}
MetricPointVO metricPoint = new MetricPointVO();
metricPoint.setAggType(aggType);
metricPoint.setValue(value);
metricPoint.setValue(value.toString());
metricPoint.setName(metric);
metricMap.put(metric, metricPoint);
@@ -194,12 +195,13 @@ public class ClusterMetricESDAO extends BaseMetricESDAO {
try {
if (null != esBucket.getUnusedMap().get(KEY)) {
Long timestamp = Long.valueOf(esBucket.getUnusedMap().get(KEY).toString());
String value = esBucket.getAggrMap().get(metric).getUnusedMap().get(VALUE).toString();
Object value = esBucket.getAggrMap().get(metric).getUnusedMap().get(VALUE);
if(null == value){return;}
MetricPointVO metricPoint = new MetricPointVO();
metricPoint.setAggType(aggType);
metricPoint.setTimeStamp(timestamp);
metricPoint.setValue(value);
metricPoint.setValue(value.toString());
metricPoint.setName(metric);
metricPoints.add(metricPoint);

View File

@@ -173,8 +173,9 @@ public class GroupMetricESDAO extends BaseMetricESDAO {
}
for(String metric : metrics){
String value = esAggrMap.get(metric).getUnusedMap().get(VALUE).toString();
groupMetricPO.getMetrics().put(metric, Float.valueOf(value));
Object value = esAggrMap.get(metric).getUnusedMap().get(VALUE);
if(value == null){continue;}
groupMetricPO.getMetrics().put(metric, Float.parseFloat(value.toString()));
}
return groupMetricPO;
@@ -192,12 +193,13 @@ public class GroupMetricESDAO extends BaseMetricESDAO {
try {
if (null != esBucket.getUnusedMap().get(KEY)) {
Long timestamp = Long.valueOf(esBucket.getUnusedMap().get(KEY).toString());
String value = esBucket.getAggrMap().get(metric).getUnusedMap().get(VALUE).toString();
Object value = esBucket.getAggrMap().get(metric).getUnusedMap().get(VALUE);
if(value == null){return;}
MetricPointVO metricPoint = new MetricPointVO();
metricPoint.setAggType(aggType);
metricPoint.setTimeStamp(timestamp);
metricPoint.setValue(value);
metricPoint.setValue(value.toString());
metricPoint.setName(metric);
metricPoints.add(metricPoint);

View File

@@ -337,12 +337,13 @@ public class TopicMetricESDAO extends BaseMetricESDAO {
try {
if (null != esBucket.getUnusedMap().get(KEY)) {
Long timestamp = Long.valueOf(esBucket.getUnusedMap().get(KEY).toString());
String value = esBucket.getAggrMap().get(metric).getUnusedMap().get(VALUE).toString();
Object value = esBucket.getAggrMap().get(metric).getUnusedMap().get(VALUE);
if(value == null){return;}
MetricPointVO metricPoint = new MetricPointVO();
metricPoint.setAggType(aggType);
metricPoint.setTimeStamp(timestamp);
metricPoint.setValue(value);
metricPoint.setValue(value.toString());
metricPoint.setName(metric);
metricPoints.add(metricPoint);