This is an automated email from the ASF dual-hosted git repository.

gongchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hertzbeat.git


The following commit(s) were added to refs/heads/master by this push:
     new 54c163abf [refactor] code simplification, structure changes and 
translation (#1827)
54c163abf is described below

commit 54c163abfb08b5c96e90116aa62103163e22f993
Author: Hyeon Sung <[email protected]>
AuthorDate: Thu Apr 25 00:12:06 2024 +0900

    [refactor] code simplification, structure changes and translation (#1827)
    
    Co-authored-by: tomsun28 <[email protected]>
---
 .../collector/collect/icmp/IcmpCollectImpl.java    | 29 +++++++++++-----------
 .../collector/collect/jmx/JmxCollectImpl.java      | 17 ++++++-------
 2 files changed, 22 insertions(+), 24 deletions(-)

diff --git 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/icmp/IcmpCollectImpl.java
 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/icmp/IcmpCollectImpl.java
index 624e184ce..e8042679e 100644
--- 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/icmp/IcmpCollectImpl.java
+++ 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/icmp/IcmpCollectImpl.java
@@ -41,14 +41,14 @@ public class IcmpCollectImpl extends AbstractCollect {
     @Override
     public void collect(CollectRep.MetricsData.Builder builder, long 
monitorId, String app, Metrics metrics) {
         long startTime = System.currentTimeMillis();
-        // 简单校验必有参数
+        // Simple validation requires mandatory parameters
         if (metrics == null || metrics.getIcmp() == null) {
             builder.setCode(CollectRep.Code.FAIL);
             builder.setMsg("ICMP collect must has icmp params");
             return;
         }
         IcmpProtocol icmp = metrics.getIcmp();
-        // 超时时间默认6000毫秒
+        // The default timeout is 6000 milliseconds
         int timeout = 6000;
         try {
             timeout = Integer.parseInt(icmp.getTimeout());
@@ -56,26 +56,25 @@ public class IcmpCollectImpl extends AbstractCollect {
             log.warn(e.getMessage());
         }
         try {
-            // todo need root java jcm to use ICMP, else it telnet the peer 
server 7 port available
-            // todo 需要配置java虚拟机root权限从而使用ICMP,否则是判断telnet对端7号端口是否开通
+            // todo requires Java JVM with root permissions to use ICMP, 
otherwise check if telnet is available on peer server's port 7
+            // todo requires configuring Java JVM with root permissions to use 
ICMP, otherwise check if telnet is available on the peer's port 7
             // todo 
https://stackoverflow.com/questions/11506321/how-to-ping-an-ip-address
             boolean status = 
InetAddress.getByName(icmp.getHost()).isReachable(timeout);
             long responseTime = System.currentTimeMillis() - startTime;
-            if (status) {
-                CollectRep.ValueRow.Builder valueRowBuilder = 
CollectRep.ValueRow.newBuilder();
-                for (String alias : metrics.getAliasFields()) {
-                    if 
(CollectorConstants.RESPONSE_TIME.equalsIgnoreCase(alias)) {
-                        
valueRowBuilder.addColumns(Long.toString(responseTime));
-                    } else {
-                        valueRowBuilder.addColumns(CommonConstants.NULL_VALUE);
-                    }
-                }
-                builder.addValues(valueRowBuilder.build());
-            } else {
+            if (!status) {
                 builder.setCode(CollectRep.Code.UN_REACHABLE);
                 builder.setMsg("Un Reachable, Timeout " + timeout + "ms");
                 return;
             }
+            CollectRep.ValueRow.Builder valueRowBuilder = 
CollectRep.ValueRow.newBuilder();
+            for (String alias : metrics.getAliasFields()) {
+                if (CollectorConstants.RESPONSE_TIME.equalsIgnoreCase(alias)) {
+                    valueRowBuilder.addColumns(Long.toString(responseTime));
+                } else {
+                    valueRowBuilder.addColumns(CommonConstants.NULL_VALUE);
+                }
+            }
+            builder.addValues(valueRowBuilder.build());
         } catch (UnknownHostException unknownHostException) {
             String errorMsg = 
CommonUtil.getMessageFromThrowable(unknownHostException);
             builder.setCode(CollectRep.Code.UN_REACHABLE);
diff --git 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/jmx/JmxCollectImpl.java
 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/jmx/JmxCollectImpl.java
index e3ca9e3ae..73c380030 100644
--- 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/jmx/JmxCollectImpl.java
+++ 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/jmx/JmxCollectImpl.java
@@ -53,6 +53,7 @@ import org.apache.hertzbeat.common.entity.job.Metrics;
 import org.apache.hertzbeat.common.entity.job.protocol.JmxProtocol;
 import org.apache.hertzbeat.common.entity.message.CollectRep;
 import org.apache.hertzbeat.common.util.CommonUtil;
+import org.springframework.util.Assert;
 import org.springframework.util.StringUtils;
 
 /**
@@ -76,8 +77,8 @@ public class JmxCollectImpl extends AbstractCollect {
     public void collect(CollectRep.MetricsData.Builder builder, long 
monitorId, String app, Metrics metrics) {
 
         try {
-            JmxProtocol jmxProtocol = metrics.getJmx();
             validateParams(metrics);
+            JmxProtocol jmxProtocol = metrics.getJmx();
 
             // Create a jndi remote connection
             JMXConnector jmxConnector = getConnectSession(jmxProtocol);
@@ -161,14 +162,12 @@ public class JmxCollectImpl extends AbstractCollect {
         return attributeValueMap;
     }
 
-    private void validateParams(Metrics metrics) throws 
IllegalArgumentException {
-        if (metrics == null || metrics.getJmx() == null) {
-            throw new IllegalArgumentException("JMX collect must has jmx 
params");
-        }
-        if (StringUtils.hasText(metrics.getJmx().getUrl())) {
-            if (metrics.getJmx().getUrl().contains(IGNORED_STUB)) {
-                throw new IllegalArgumentException("JMX url prohibit contains 
stub, please check");
-            }
+    private void validateParams(Metrics metrics) {
+        Assert.isTrue(metrics != null && metrics.getJmx() != null, "JMX 
collect must have JMX params");
+        
+        String url = metrics.getJmx().getUrl();
+        if (StringUtils.hasText(url)) {
+            Assert.doesNotContain(url, IGNORED_STUB, "JMX url prohibit 
contains stub, please check");
         }
     }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to