Commit 42e4cce2 authored by 吴晟's avatar 吴晟
Browse files

1.由于netty的引入,移除无用代码。

2.在自检中显示可用的连接池明细
parent 756eb176
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -88,7 +88,7 @@ public class DataSender implements IDataSender {
        return false;
    }

    public InetSocketAddress getServerIp() {
    public InetSocketAddress getServerAddr() {
        return this.socketAddress;
    }

+18 −5
Original line number Diff line number Diff line
@@ -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();
    }
}
+0 −29
Original line number Diff line number Diff line
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;
    }
}