diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/sender/DataSender.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/sender/DataSender.java index e0a3a455d..0d90345af 100644 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/sender/DataSender.java +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/sender/DataSender.java @@ -88,7 +88,7 @@ public class DataSender implements IDataSender { return false; } - public InetSocketAddress getServerIp() { + public InetSocketAddress getServerAddr() { return this.socketAddress; } diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/sender/DataSenderFactoryWithBalance.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/sender/DataSenderFactoryWithBalance.java index be4e11071..31c6d876d 100644 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/sender/DataSenderFactoryWithBalance.java +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/sender/DataSenderFactoryWithBalance.java @@ -131,7 +131,7 @@ public class DataSenderFactoryWithBalance { if (tmpDataSender.getStatus() == DataSender.SenderStatus.FAILED) { tmpDataSender.close(); unusedServerAddresses.add(tmpDataSender - .getServerIp()); + .getServerAddr()); senderIterator.remove(); SDKHealthCollector.getCurrentHeathReading("remove").updateData(HeathReading.INFO, "remove disconnected sender."); } @@ -175,19 +175,19 @@ public class DataSenderFactoryWithBalance { } toBeSwitchSender.close(); unusedServerAddresses.remove(tmpSender - .getServerIp()); + .getServerAddr()); unusedServerAddresses.add(toBeSwitchSender - .getServerIp()); + .getServerAddr()); SDKHealthCollector.getCurrentHeathReading("switch").updateData(HeathReading.INFO, "switch existed sender."); } } sleepTime = 0; } - - SDKHealthCollector.getCurrentHeathReading(null).updateData(HeathReading.INFO, "using available DataSender size:" + usingDataSender); } catch (Throwable e) { SDKHealthCollector.getCurrentHeathReading(null).updateData(HeathReading.ERROR, "DataSenderChecker running failed:" + e.getMessage()); logger.error("DataSenderChecker running failed", e); + } finally{ + SDKHealthCollector.getCurrentHeathReading(null).updateData(HeathReading.INFO, "using available DataSender connect to: " + listUsingServers()); } sleepTime += CHECKER_THREAD_WAIT_INTERVAL; @@ -240,4 +240,17 @@ public class DataSenderFactoryWithBalance { .setStatus(DataSender.SenderStatus.FAILED); } } + + private static String listUsingServers(){ + StringBuilder usingAddrDesc = new StringBuilder(); + if(usingDataSender.size() > 0){ + for(DataSender sender : usingDataSender){ + if(usingAddrDesc.length() > 0){ + usingAddrDesc.append(","); + } + usingAddrDesc.append(sender.getServerAddr().toString()); + } + } + return usingAddrDesc.toString(); + } } diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/sender/protocol/ProtocolBuilder.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/sender/protocol/ProtocolBuilder.java deleted file mode 100644 index 35ecb78cc..000000000 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/sender/protocol/ProtocolBuilder.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.ai.cloud.skywalking.sender.protocol; - -import com.ai.cloud.skywalking.conf.Config; - -import java.nio.charset.Charset; - -public class ProtocolBuilder { - - //协议格式: - // xx xx xx xx | xx xx xx xx xxx xxx xxx - // header(4) | content - public static byte[] builder(String data) { - byte[] content = data.getBytes(Charset.forName(Config.SkyWalking.CHARSET)); - byte[] header = intToByteArray(content.length); - byte[] des = new byte[header.length + content.length]; - System.arraycopy(header, 0, des, 0, header.length); - System.arraycopy(content, 0, des, header.length, content.length); - return des; - } - - private static byte[] intToByteArray(final int value) { - byte[] src = new byte[4]; - src[0] = (byte) ((value >> 24) & 0xFF); - src[1] = (byte) ((value >> 16) & 0xFF); - src[2] = (byte) ((value >> 8) & 0xFF); - src[3] = (byte) (value & 0xFF); - return src; - } -}