From c71865f6238d146c80e389a962d8c1dd9833419c Mon Sep 17 00:00:00 2001 From: ZQKC Date: Fri, 17 Mar 2023 20:15:05 +0800 Subject: [PATCH] =?UTF-8?q?[Bugfix]=E4=BF=AE=E5=A4=8DZK=E5=9B=9B=E5=AD=97?= =?UTF-8?q?=E5=91=BD=E4=BB=A4=E8=A7=A3=E6=9E=90=E9=94=99=E8=AF=AF=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1、四字命令结果为Float类型的字符串时,使用Long.valueOf()会抛出格式转换失败异常。因此为了方便处理,将使用ConvertUtil.string2Float()方法进行转换。 2、规范调整过程中,涉及到的代码。 --- .../bean/entity/metrics/BaseMetrics.java | 4 +++ .../fourletterword/MonitorCmdData.java | 20 ++++++------ .../fourletterword/ServerCmdData.java | 10 +++--- .../parser/MonitorCmdDataParser.java | 22 ++++++------- .../parser/ServerCmdDataParser.java | 12 +++---- .../impl/ZookeeperMetricServiceImpl.java | 32 +++++++++---------- 6 files changed, 52 insertions(+), 48 deletions(-) diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/bean/entity/metrics/BaseMetrics.java b/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/bean/entity/metrics/BaseMetrics.java index c6ce6351..890a539d 100644 --- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/bean/entity/metrics/BaseMetrics.java +++ b/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/bean/entity/metrics/BaseMetrics.java @@ -27,6 +27,10 @@ public abstract class BaseMetrics implements Serializable { protected Map metrics = new ConcurrentHashMap<>(); public void putMetric(String key, Float value){ + if (value == null || key == null) { + return; + } + metrics.put(key, value); } diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/bean/entity/zookeeper/fourletterword/MonitorCmdData.java b/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/bean/entity/zookeeper/fourletterword/MonitorCmdData.java index 7e2a10f4..3c862cec 100644 --- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/bean/entity/zookeeper/fourletterword/MonitorCmdData.java +++ b/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/bean/entity/zookeeper/fourletterword/MonitorCmdData.java @@ -25,15 +25,15 @@ public class MonitorCmdData extends BaseFourLetterWordCmdData { private Float zkAvgLatency; private Float zkMaxLatency; private Float zkMinLatency; - private Long zkPacketsReceived; - private Long zkPacketsSent; - private Long zkNumAliveConnections; - private Long zkOutstandingRequests; + private Float zkPacketsReceived; + private Float zkPacketsSent; + private Float zkNumAliveConnections; + private Float zkOutstandingRequests; private String zkServerState; - private Long zkZnodeCount; - private Long zkWatchCount; - private Long zkEphemeralsCount; - private Long zkApproximateDataSize; - private Long zkOpenFileDescriptorCount; - private Long zkMaxFileDescriptorCount; + private Float zkZnodeCount; + private Float zkWatchCount; + private Float zkEphemeralsCount; + private Float zkApproximateDataSize; + private Float zkOpenFileDescriptorCount; + private Float zkMaxFileDescriptorCount; } diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/bean/entity/zookeeper/fourletterword/ServerCmdData.java b/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/bean/entity/zookeeper/fourletterword/ServerCmdData.java index 0bd9e0a4..350885d3 100644 --- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/bean/entity/zookeeper/fourletterword/ServerCmdData.java +++ b/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/bean/entity/zookeeper/fourletterword/ServerCmdData.java @@ -20,11 +20,11 @@ public class ServerCmdData extends BaseFourLetterWordCmdData { private Float zkAvgLatency; private Float zkMaxLatency; private Float zkMinLatency; - private Long zkPacketsReceived; - private Long zkPacketsSent; - private Long zkNumAliveConnections; - private Long zkOutstandingRequests; + private Float zkPacketsReceived; + private Float zkPacketsSent; + private Float zkNumAliveConnections; + private Float zkOutstandingRequests; private String zkServerState; - private Long zkZnodeCount; + private Float zkZnodeCount; private Long zkZxid; } diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/bean/entity/zookeeper/fourletterword/parser/MonitorCmdDataParser.java b/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/bean/entity/zookeeper/fourletterword/parser/MonitorCmdDataParser.java index 8c3e6958..888f0bea 100644 --- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/bean/entity/zookeeper/fourletterword/parser/MonitorCmdDataParser.java +++ b/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/bean/entity/zookeeper/fourletterword/parser/MonitorCmdDataParser.java @@ -51,7 +51,7 @@ public class MonitorCmdDataParser implements FourLetterWordDataParser { + dataMap.entrySet().forEach(elem -> { try { switch (elem.getKey()) { case "zk_version": @@ -67,37 +67,37 @@ public class MonitorCmdDataParser implements FourLetterWordDataParser { + dataMap.entrySet().forEach(elem -> { try { switch (elem.getKey()) { case "Zookeeper version": @@ -59,22 +59,22 @@ public class ServerCmdDataParser implements FourLetterWordDataParser voList = new ArrayList<>(); - pointVOMap.entrySet().stream().forEach(entry -> + pointVOMap.entrySet().forEach(entry -> voList.add(new MetricLineVO(String.valueOf(clusterPhyId), entry.getKey(), entry.getValue())) ); return Result.buildSuc(voList); @@ -208,11 +208,11 @@ public class ZookeeperMetricServiceImpl extends BaseMetricService implements Zoo metrics.putMetric(ZOOKEEPER_METRIC_AVG_REQUEST_LATENCY, cmdData.getZkAvgLatency()); metrics.putMetric(ZOOKEEPER_METRIC_MIN_REQUEST_LATENCY, cmdData.getZkMinLatency()); metrics.putMetric(ZOOKEEPER_METRIC_MAX_REQUEST_LATENCY, cmdData.getZkMaxLatency()); - metrics.putMetric(ZOOKEEPER_METRIC_OUTSTANDING_REQUESTS, cmdData.getZkOutstandingRequests().floatValue()); - metrics.putMetric(ZOOKEEPER_METRIC_NODE_COUNT, cmdData.getZkZnodeCount().floatValue()); - metrics.putMetric(ZOOKEEPER_METRIC_NUM_ALIVE_CONNECTIONS, cmdData.getZkNumAliveConnections().floatValue()); - metrics.putMetric(ZOOKEEPER_METRIC_PACKETS_RECEIVED, cmdData.getZkPacketsReceived().floatValue()); - metrics.putMetric(ZOOKEEPER_METRIC_PACKETS_SENT, cmdData.getZkPacketsSent().floatValue()); + metrics.putMetric(ZOOKEEPER_METRIC_OUTSTANDING_REQUESTS, cmdData.getZkOutstandingRequests()); + metrics.putMetric(ZOOKEEPER_METRIC_NODE_COUNT, cmdData.getZkZnodeCount()); + metrics.putMetric(ZOOKEEPER_METRIC_NUM_ALIVE_CONNECTIONS, cmdData.getZkNumAliveConnections()); + metrics.putMetric(ZOOKEEPER_METRIC_PACKETS_RECEIVED, cmdData.getZkPacketsReceived()); + metrics.putMetric(ZOOKEEPER_METRIC_PACKETS_SENT, cmdData.getZkPacketsSent()); return Result.buildSuc(metrics); } @@ -257,16 +257,16 @@ public class ZookeeperMetricServiceImpl extends BaseMetricService implements Zoo metrics.putMetric(ZOOKEEPER_METRIC_AVG_REQUEST_LATENCY, cmdData.getZkAvgLatency()); metrics.putMetric(ZOOKEEPER_METRIC_MIN_REQUEST_LATENCY, cmdData.getZkMinLatency()); metrics.putMetric(ZOOKEEPER_METRIC_MAX_REQUEST_LATENCY, cmdData.getZkMaxLatency()); - metrics.putMetric(ZOOKEEPER_METRIC_OUTSTANDING_REQUESTS, cmdData.getZkOutstandingRequests().floatValue()); - metrics.putMetric(ZOOKEEPER_METRIC_NODE_COUNT, cmdData.getZkZnodeCount().floatValue()); - metrics.putMetric(ZOOKEEPER_METRIC_WATCH_COUNT, cmdData.getZkWatchCount().floatValue()); - metrics.putMetric(ZOOKEEPER_METRIC_NUM_ALIVE_CONNECTIONS, cmdData.getZkNumAliveConnections().floatValue()); - metrics.putMetric(ZOOKEEPER_METRIC_PACKETS_RECEIVED, cmdData.getZkPacketsReceived().floatValue()); - metrics.putMetric(ZOOKEEPER_METRIC_PACKETS_SENT, cmdData.getZkPacketsSent().floatValue()); - metrics.putMetric(ZOOKEEPER_METRIC_EPHEMERALS_COUNT, cmdData.getZkEphemeralsCount().floatValue()); - metrics.putMetric(ZOOKEEPER_METRIC_APPROXIMATE_DATA_SIZE, cmdData.getZkApproximateDataSize().floatValue()); - metrics.putMetric(ZOOKEEPER_METRIC_OPEN_FILE_DESCRIPTOR_COUNT, cmdData.getZkOpenFileDescriptorCount().floatValue()); - metrics.putMetric(ZOOKEEPER_METRIC_MAX_FILE_DESCRIPTOR_COUNT, cmdData.getZkMaxFileDescriptorCount().floatValue()); + metrics.putMetric(ZOOKEEPER_METRIC_OUTSTANDING_REQUESTS, cmdData.getZkOutstandingRequests()); + metrics.putMetric(ZOOKEEPER_METRIC_NODE_COUNT, cmdData.getZkZnodeCount()); + metrics.putMetric(ZOOKEEPER_METRIC_WATCH_COUNT, cmdData.getZkWatchCount()); + metrics.putMetric(ZOOKEEPER_METRIC_NUM_ALIVE_CONNECTIONS, cmdData.getZkNumAliveConnections()); + metrics.putMetric(ZOOKEEPER_METRIC_PACKETS_RECEIVED, cmdData.getZkPacketsReceived()); + metrics.putMetric(ZOOKEEPER_METRIC_PACKETS_SENT, cmdData.getZkPacketsSent()); + metrics.putMetric(ZOOKEEPER_METRIC_EPHEMERALS_COUNT, cmdData.getZkEphemeralsCount()); + metrics.putMetric(ZOOKEEPER_METRIC_APPROXIMATE_DATA_SIZE, cmdData.getZkApproximateDataSize()); + metrics.putMetric(ZOOKEEPER_METRIC_OPEN_FILE_DESCRIPTOR_COUNT, cmdData.getZkOpenFileDescriptorCount()); + metrics.putMetric(ZOOKEEPER_METRIC_MAX_FILE_DESCRIPTOR_COUNT, cmdData.getZkMaxFileDescriptorCount()); return Result.buildSuc(metrics); }