From 0d96cf11d3ebb9a729d3bca284eb88c05b6af101 Mon Sep 17 00:00:00 2001 From: zhangxin10 Date: Tue, 1 Dec 2015 16:50:31 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E5=B0=86Span=E7=9A=84=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=88=86=E9=9A=94=E7=AC=A6=E6=94=B9=E6=88=90=E7=89=B9=E6=AE=8A?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=202.=20=E5=8A=A0=E5=85=A5=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud/skywalking/buffer/BufferGroup.java | 3 ++- .../ai/cloud/skywalking/conf/AuthDesc.java | 1 + .../com/ai/cloud/skywalking/conf/Config.java | 4 +-- .../skywalking/conf/ConfigValidator.java | 26 +++++++++++++++++++ .../ai/cloud/skywalking/conf/Constants.java | 2 ++ 5 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 skywalking-api/src/main/java/com/ai/cloud/skywalking/conf/ConfigValidator.java 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 070695cbc..12e621287 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 @@ -2,6 +2,7 @@ package com.ai.cloud.skywalking.buffer; import com.ai.cloud.skywalking.conf.Config; +import com.ai.cloud.skywalking.conf.Constants; import com.ai.cloud.skywalking.protocol.Span; import com.ai.cloud.skywalking.selfexamination.HealthCollector; import com.ai.cloud.skywalking.selfexamination.HeathReading; @@ -76,7 +77,7 @@ public class BufferGroup { data = new StringBuilder(); } - data.append(dataBuffer[i] + ";"); + data.append(dataBuffer[i] + Constants.DATA_SPILT); dataBuffer[i] = null; } diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/conf/AuthDesc.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/conf/AuthDesc.java index 07545fe07..546ae127f 100644 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/conf/AuthDesc.java +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/conf/AuthDesc.java @@ -5,6 +5,7 @@ public class AuthDesc { static { ConfigInitializer.initialize(); + ConfigValidator.validate(); } public static boolean isAuth() { diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/conf/Config.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/conf/Config.java index 0149406a3..57c6e98fb 100644 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/conf/Config.java +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/conf/Config.java @@ -30,7 +30,7 @@ public class Config { public static class Buffer { // 每个Buffer的最大个数 - public static int BUFFER_MAX_SIZE = 18000; + public static int BUFFER_MAX_SIZE = 20000; // Buffer池的最大长度 public static int POOL_SIZE = 5; @@ -47,7 +47,7 @@ public class Config { public static boolean IS_OFF = false; // 发送的最大长度 - public static int MAX_SEND_LENGTH = 1800; + public static int MAX_SEND_LENGTH = 18500; public static long RETRY_GET_SENDER_WAIT_INTERVAL = 2000L; diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/conf/ConfigValidator.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/conf/ConfigValidator.java new file mode 100644 index 000000000..9c35319dd --- /dev/null +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/conf/ConfigValidator.java @@ -0,0 +1,26 @@ +package com.ai.cloud.skywalking.conf; + +public class ConfigValidator { + private ConfigValidator() { + // Non + } + + public static boolean validate() { + if (!validateSendMaxLength()) { + throw new IllegalArgumentException("Max send length must great than the sum of the maximum " + + "length of sending exception stack and the maximum length of sending business key."); + } + + return true; + } + + private static boolean validateSendMaxLength() { + if (Config.Sender.MAX_SEND_LENGTH < (Config.BuriedPoint.MAX_EXCEPTION_STACK_LENGTH + + Config.BuriedPoint.BUSINESSKEY_MAX_LENGTH)) { + return false; + } + + return true; + } + +} diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/conf/Constants.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/conf/Constants.java index c48e4a324..ee52e249a 100644 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/conf/Constants.java +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/conf/Constants.java @@ -3,4 +3,6 @@ package com.ai.cloud.skywalking.conf; public class Constants { public static final String HEALTH_DATA_SPILT_PATTERN = "^~"; + + public static final String DATA_SPILT = ","; }