From fdac20dbb0dcbb217fe95c19798463766113b47e Mon Sep 17 00:00:00 2001 From: wusheng Date: Wed, 17 Feb 2016 11:06:00 +0800 Subject: [PATCH] =?UTF-8?q?1.API=E5=B7=A5=E7=A8=8B=E7=9A=84idk.logging?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=BAlog4j2=E7=9B=B8=E5=85=B3=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E3=80=82=E9=9C=80=E8=A6=81=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E5=BC=95=E7=94=A8=E7=9B=B8=E5=85=B3=E5=8C=85=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud/skywalking/buffer/BufferGroup.java | 19 +++++---- .../buriedpoint/LocalBuriedPointSender.java | 10 ++--- .../buriedpoint/RPCBuriedPointReceiver.java | 8 ++-- .../buriedpoint/ThreadBuriedPointSender.java | 10 ++--- .../ThreadFactoryBuriedPointSender.java | 11 +++-- .../cloud/skywalking/sender/DataSender.java | 16 +++++--- .../sender/DataSenderFactoryWithBalance.java | 41 +++++++++++-------- 7 files changed, 65 insertions(+), 50 deletions(-) diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/buffer/BufferGroup.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/buffer/BufferGroup.java index 6f2a8e546..aa7e35311 100644 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/buffer/BufferGroup.java +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/buffer/BufferGroup.java @@ -6,8 +6,9 @@ import static com.ai.cloud.skywalking.conf.Config.Consumer.MAX_CONSUMER; import static com.ai.cloud.skywalking.conf.Config.Consumer.MAX_WAIT_TIME; import java.util.concurrent.atomic.AtomicInteger; -import java.util.logging.Level; -import java.util.logging.Logger; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import com.ai.cloud.skywalking.conf.Config; import com.ai.cloud.skywalking.conf.Constants; @@ -17,8 +18,7 @@ import com.ai.cloud.skywalking.selfexamination.HeathReading; import com.ai.cloud.skywalking.sender.DataSenderFactoryWithBalance; public class BufferGroup { - private static Logger logger = Logger - .getLogger(BufferGroup.class.getName()); + private static Logger logger = LogManager.getLogger(BufferGroup.class); private String groupName; private Span[] dataBuffer = new Span[BUFFER_MAX_SIZE]; AtomicInteger index = new AtomicInteger(0); @@ -42,6 +42,9 @@ public class BufferGroup { public void save(Span span) { int i = Math.abs(index.getAndIncrement() % BUFFER_MAX_SIZE); if (dataBuffer[i] != null) { + logger.warn( + "Group[{}] index[{}] data collision, discard old data.", + groupName, i); HealthCollector.getCurrentHeathReading(null).updateData( HeathReading.WARNING, "Group[" + groupName + "] index[" + i @@ -77,7 +80,7 @@ public class BufferGroup { try { Thread.sleep(CONSUMER_FAIL_RETRY_WAIT_INTERVAL); } catch (InterruptedException e) { - logger.log(Level.ALL, "Sleep Failure"); + logger.error("Sleep Failure"); } } HealthCollector.getCurrentHeathReading(null) @@ -96,20 +99,20 @@ public class BufferGroup { try { Thread.sleep(CONSUMER_FAIL_RETRY_WAIT_INTERVAL); } catch (InterruptedException e) { - logger.log(Level.ALL, "Sleep Failure"); + logger.error("Sleep Failure"); } } data = new StringBuilder(); } } catch (Throwable e) { - logger.log(Level.ALL, "buffer group running failed", e); + logger.error("buffer group running failed", e); } if (!bool) { try { Thread.sleep(MAX_WAIT_TIME); } catch (InterruptedException e) { - logger.log(Level.ALL, "Sleep Failure"); + logger.error("Sleep Failure"); } } } diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/LocalBuriedPointSender.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/LocalBuriedPointSender.java index 8e5c0b528..ba193c12c 100644 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/LocalBuriedPointSender.java +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/LocalBuriedPointSender.java @@ -1,5 +1,8 @@ package com.ai.cloud.skywalking.buriedpoint; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + import com.ai.cloud.skywalking.api.IBuriedPointSender; import com.ai.cloud.skywalking.buffer.ContextBuffer; import com.ai.cloud.skywalking.conf.AuthDesc; @@ -11,12 +14,9 @@ import com.ai.cloud.skywalking.model.Identification; import com.ai.cloud.skywalking.protocol.Span; import com.ai.cloud.skywalking.util.ContextGenerator; -import java.util.logging.Level; -import java.util.logging.Logger; - public class LocalBuriedPointSender extends ApplicationExceptionHandler implements IBuriedPointSender { - private static Logger logger = Logger.getLogger(IBuriedPointSender.class.getName()); + private static Logger logger = LogManager.getLogger(LocalBuriedPointSender.class); public ContextData beforeSend(Identification id) { if (!AuthDesc.isAuth()) @@ -43,7 +43,7 @@ public class LocalBuriedPointSender extends ApplicationExceptionHandler implemen spanData.setCost(System.currentTimeMillis() - spanData.getStartDate()); if (Config.BuriedPoint.PRINTF) { - logger.log(Level.INFO, "TraceId:" + spanData.getTraceId() + "\tviewpointId:" + spanData.getViewPointId() + "\tParentLevelId:" + spanData. + logger.debug("TraceId:" + spanData.getTraceId() + "\tviewpointId:" + spanData.getViewPointId() + "\tParentLevelId:" + spanData. getParentLevel() + "\tLevelId:" + spanData.getLevelId()); } diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/RPCBuriedPointReceiver.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/RPCBuriedPointReceiver.java index 70510b7de..0358b1202 100644 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/RPCBuriedPointReceiver.java +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/RPCBuriedPointReceiver.java @@ -1,7 +1,7 @@ package com.ai.cloud.skywalking.buriedpoint; -import java.util.logging.Level; -import java.util.logging.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import com.ai.cloud.skywalking.api.IBuriedPointReceiver; import com.ai.cloud.skywalking.buffer.ContextBuffer; @@ -15,7 +15,7 @@ import com.ai.cloud.skywalking.util.ContextGenerator; public class RPCBuriedPointReceiver extends ApplicationExceptionHandler implements IBuriedPointReceiver { - private static Logger logger = Logger.getLogger(LocalBuriedPointSender.class.getName()); + private static Logger logger = LogManager.getLogger(RPCBuriedPointReceiver.class); public void afterReceived() { if (!AuthDesc.isAuth()) @@ -38,7 +38,7 @@ public class RPCBuriedPointReceiver extends ApplicationExceptionHandler implemen spanData.setReceiver(true); if (Config.BuriedPoint.PRINTF) { - logger.log(Level.INFO, "TraceId:" + spanData.getTraceId() + "\tviewpointId:" + spanData.getViewPointId() + "\tParentLevelId:" + spanData. + logger.debug("TraceId:" + spanData.getTraceId() + "\tviewpointId:" + spanData.getViewPointId() + "\tParentLevelId:" + spanData. getParentLevel() + "\tLevelId:" + spanData.getLevelId()); } diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/ThreadBuriedPointSender.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/ThreadBuriedPointSender.java index 2dda3ec1a..2c8195d65 100644 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/ThreadBuriedPointSender.java +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/ThreadBuriedPointSender.java @@ -1,5 +1,8 @@ package com.ai.cloud.skywalking.buriedpoint; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + import com.ai.cloud.skywalking.api.IBuriedPointSender; import com.ai.cloud.skywalking.buffer.ContextBuffer; import com.ai.cloud.skywalking.conf.AuthDesc; @@ -12,12 +15,9 @@ import com.ai.cloud.skywalking.protocol.Span; import com.ai.cloud.skywalking.util.BuriedPointMachineUtil; import com.ai.cloud.skywalking.util.TraceIdGenerator; -import java.util.logging.Level; -import java.util.logging.Logger; public class ThreadBuriedPointSender extends ApplicationExceptionHandler implements IBuriedPointSender { - - private static Logger logger = Logger.getLogger(ThreadBuriedPointSender.class.getName()); + private static Logger logger = LogManager.getLogger(ThreadBuriedPointSender.class); private Span span; @@ -62,7 +62,7 @@ public class ThreadBuriedPointSender extends ApplicationExceptionHandler impleme // 填上必要信息 span.setCost(System.currentTimeMillis() - span.getStartDate()); if (Config.BuriedPoint.PRINTF) { - logger.log(Level.INFO, "viewpointId:" + span.getViewPointId() + "\tParentLevelId:" + span. + logger.debug("viewpointId:" + span.getViewPointId() + "\tParentLevelId:" + span. getParentLevel() + "\tLevelId:" + span.getLevelId()); } // 存放到本地发送进程中 diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/ThreadFactoryBuriedPointSender.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/ThreadFactoryBuriedPointSender.java index e3ef377ec..d1097a8e9 100644 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/ThreadFactoryBuriedPointSender.java +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/ThreadFactoryBuriedPointSender.java @@ -1,5 +1,8 @@ package com.ai.cloud.skywalking.buriedpoint; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + import com.ai.cloud.skywalking.api.IBuriedPointSender; import com.ai.cloud.skywalking.buffer.ContextBuffer; import com.ai.cloud.skywalking.conf.AuthDesc; @@ -11,12 +14,8 @@ import com.ai.cloud.skywalking.model.Identification; import com.ai.cloud.skywalking.protocol.Span; import com.ai.cloud.skywalking.util.ContextGenerator; -import java.util.logging.Level; -import java.util.logging.Logger; - public class ThreadFactoryBuriedPointSender extends ApplicationExceptionHandler implements IBuriedPointSender { - - private static Logger logger = Logger.getLogger(ThreadBuriedPointSender.class.getName()); + private static Logger logger = LogManager.getLogger(ThreadBuriedPointSender.class); public ContextData beforeSend(Identification id) { if (!AuthDesc.isAuth()) @@ -41,7 +40,7 @@ public class ThreadFactoryBuriedPointSender extends ApplicationExceptionHandler // 填上必要信息 spanData.setCost(System.currentTimeMillis() - spanData.getStartDate()); if (Config.BuriedPoint.PRINTF) { - logger.log(Level.INFO, "viewpointId:" + spanData.getViewPointId() + "\tParentLevelId:" + spanData. + logger.debug("viewpointId:" + spanData.getViewPointId() + "\tParentLevelId:" + spanData. getParentLevel() + "\tLevelId:" + spanData.getLevelId()); } // 存放到本地发送进程中 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 3f9d2e55e..ca6e02f5e 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 @@ -1,7 +1,16 @@ package com.ai.cloud.skywalking.sender; +import java.io.IOException; +import java.net.InetSocketAddress; + import com.ai.cloud.io.netty.bootstrap.Bootstrap; -import com.ai.cloud.io.netty.channel.*; +import com.ai.cloud.io.netty.channel.Channel; +import com.ai.cloud.io.netty.channel.ChannelHandlerContext; +import com.ai.cloud.io.netty.channel.ChannelInboundHandlerAdapter; +import com.ai.cloud.io.netty.channel.ChannelInitializer; +import com.ai.cloud.io.netty.channel.ChannelOption; +import com.ai.cloud.io.netty.channel.ChannelPipeline; +import com.ai.cloud.io.netty.channel.EventLoopGroup; import com.ai.cloud.io.netty.channel.nio.NioEventLoopGroup; import com.ai.cloud.io.netty.channel.socket.SocketChannel; import com.ai.cloud.io.netty.channel.socket.nio.NioSocketChannel; @@ -10,12 +19,7 @@ import com.ai.cloud.io.netty.handler.codec.LengthFieldPrepender; import com.ai.cloud.io.netty.handler.codec.bytes.ByteArrayDecoder; import com.ai.cloud.io.netty.handler.codec.bytes.ByteArrayEncoder; -import java.io.IOException; -import java.net.InetSocketAddress; -import java.util.logging.Logger; - public class DataSender implements IDataSender { - private static Logger logger = Logger.getLogger(DataSender.class.getName()); private EventLoopGroup group; private SenderStatus status = SenderStatus.FAILED; private InetSocketAddress 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 8ea9bb222..d37ffe440 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 @@ -1,21 +1,30 @@ package com.ai.cloud.skywalking.sender; +import static com.ai.cloud.skywalking.conf.Config.Sender.CHECKER_THREAD_WAIT_INTERVAL; +import static com.ai.cloud.skywalking.conf.Config.Sender.CLOSE_SENDER_COUNTDOWN; +import static com.ai.cloud.skywalking.conf.Config.Sender.CONNECT_PERCENT; +import static com.ai.cloud.skywalking.conf.Config.Sender.RETRY_GET_SENDER_WAIT_INTERVAL; +import static com.ai.cloud.skywalking.conf.Config.Sender.SWITCH_SENDER_INTERVAL; + +import java.io.IOException; +import java.net.InetSocketAddress; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; +import java.util.concurrent.ThreadLocalRandom; + +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + import com.ai.cloud.skywalking.conf.Config; import com.ai.cloud.skywalking.util.StringUtil; -import java.io.IOException; -import java.net.InetSocketAddress; -import java.util.*; -import java.util.concurrent.ThreadLocalRandom; -import java.util.logging.Level; -import java.util.logging.Logger; - -import static com.ai.cloud.skywalking.conf.Config.Sender.*; - public class DataSenderFactoryWithBalance { - private static Logger logger = Logger - .getLogger(DataSenderFactoryWithBalance.class.getName()); + private static Logger logger = LogManager.getLogger(DataSenderFactoryWithBalance.class); // unUsedServerAddress存放没有使用的服务器地址, private static List unusedServerAddresses = new ArrayList(); @@ -24,7 +33,7 @@ public class DataSenderFactoryWithBalance { private static int calculateMaxKeeperConnectingSenderSize(int allAddressSize) { if (CONNECT_PERCENT <= 0 || CONNECT_PERCENT > 100) { - logger.log(Level.ALL, "CONNECT_PERCENT must between 1 and 100"); + logger.error("CONNECT_PERCENT must between 1 and 100"); System.exit(-1); } return (int) Math.ceil(allAddressSize @@ -87,11 +96,11 @@ public class DataSenderFactoryWithBalance { try { Thread.sleep(RETRY_GET_SENDER_WAIT_INTERVAL); } catch (InterruptedException e) { - logger.log(Level.ALL, "Sleep failed", e); + logger.error("Sleep failed", e); } } } catch (Throwable e) { - logger.log(Level.ALL, "get sender failed", e); + logger.error("get sender failed", e); } } @@ -171,14 +180,14 @@ public class DataSenderFactoryWithBalance { sleepTime = 0; } } catch (Throwable e) { - logger.log(Level.ALL, "DataSenderChecker running failed", e); + logger.error("DataSenderChecker running failed", e); } sleepTime += CHECKER_THREAD_WAIT_INTERVAL; try { Thread.sleep(CHECKER_THREAD_WAIT_INTERVAL); } catch (InterruptedException e) { - logger.log(Level.ALL, "Sleep failed"); + logger.error("Sleep failed"); } }