From 42e4cce2c65a99a7188f0513748ab10262d484c3 Mon Sep 17 00:00:00 2001 From: wusheng Date: Mon, 29 Feb 2016 16:12:15 +0800 Subject: [PATCH] =?UTF-8?q?1.=E7=94=B1=E4=BA=8Enetty=E7=9A=84=E5=BC=95?= =?UTF-8?q?=E5=85=A5=EF=BC=8C=E7=A7=BB=E9=99=A4=E6=97=A0=E7=94=A8=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E3=80=82=202.=E5=9C=A8=E8=87=AA=E6=A3=80=E4=B8=AD?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=8F=AF=E7=94=A8=E7=9A=84=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E6=B1=A0=E6=98=8E=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud/skywalking/sender/DataSender.java | 2 +- .../sender/DataSenderFactoryWithBalance.java | 23 +++++++++++---- .../sender/protocol/ProtocolBuilder.java | 29 ------------------- 3 files changed, 19 insertions(+), 35 deletions(-) delete mode 100644 skywalking-api/src/main/java/com/ai/cloud/skywalking/sender/protocol/ProtocolBuilder.java 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; - } -}