parent
756eb176b8
commit
42e4cce2c6
|
|
@ -88,7 +88,7 @@ public class DataSender implements IDataSender {
|
|||
return false;
|
||||
}
|
||||
|
||||
public InetSocketAddress getServerIp() {
|
||||
public InetSocketAddress getServerAddr() {
|
||||
return this.socketAddress;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue