From eafb0b80a420376d39ddcc90718b1d76083981d9 Mon Sep 17 00:00:00 2001 From: zhangxin10 Date: Wed, 18 Nov 2015 19:01:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E8=BF=9E=E6=8E=A5=E5=AD=97?= =?UTF-8?q?=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud/skywalking/constants/Constants.java | 2 +- .../reciever/constants/Constants.java | 2 +- .../reciever/model/BuriedPointEntry.java | 22 +++++++++++++++++++ .../storage/chain/SaveToHBaseChain.java | 4 +++- 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/constants/Constants.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/constants/Constants.java index 0ae08cc59..beea37d41 100644 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/constants/Constants.java +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/constants/Constants.java @@ -2,5 +2,5 @@ package com.ai.cloud.skywalking.constants; public class Constants { - public static final String spiltRegx = "^|@|#"; + public static final String spiltRegx = "^~"; } diff --git a/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/constants/Constants.java b/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/constants/Constants.java index 0d99b924d..2ae6311d9 100644 --- a/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/constants/Constants.java +++ b/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/constants/Constants.java @@ -1,5 +1,5 @@ package com.ai.cloud.skywalking.reciever.constants; public class Constants { - public static final String spiltRegx = "\\^\\|@\\|#"; + public static final String spiltRegx = "\\^\\~"; } diff --git a/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/model/BuriedPointEntry.java b/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/model/BuriedPointEntry.java index c95208b0e..1142e2d3e 100644 --- a/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/model/BuriedPointEntry.java +++ b/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/model/BuriedPointEntry.java @@ -2,7 +2,9 @@ package com.ai.cloud.skywalking.reciever.model; import com.ai.cloud.skywalking.reciever.constants.Constants; +import java.util.ArrayList; import java.util.Date; +import java.util.List; public class BuriedPointEntry { private String traceId; @@ -105,6 +107,26 @@ public class BuriedPointEntry { return result; } + private static String[] spilt(String spilt, String value) { + List list = new ArrayList(); + int resultSize = 0; + int start = 0, offset = 0; + for (int index = 0; index < value.length() - 1; index++, offset++) { + if (spilt.charAt(0) == value.charAt(index) && spilt.charAt(1) == value.charAt(index + 1)) { + list.add(value.substring(start, offset)); + index++;offset++; + start = offset + 1; + resultSize++; + } + } + if (start < value.length()) { + list.add(value.substring(start, offset)); + resultSize++; + } + String[] result = new String[resultSize]; + return list.subList(0, resultSize).toArray(result); + } + @Override public String toString() { return "BuriedPointEntry{" + diff --git a/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/storage/chain/SaveToHBaseChain.java b/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/storage/chain/SaveToHBaseChain.java index 6d642c84c..7e92e7ece 100644 --- a/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/storage/chain/SaveToHBaseChain.java +++ b/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/storage/chain/SaveToHBaseChain.java @@ -94,12 +94,14 @@ public class SaveToHBaseChain implements IStorageChain { private static void bulkInsertBuriedPointData(List entries) { + if (entries == null || entries.size() <= 0) + return; List puts = new ArrayList(); Put put; for (BuriedPointEntry buriedPointEntry : entries) { put = new Put(Bytes.toBytes(buriedPointEntry.getTraceId())); if (StringUtils.isEmpty(buriedPointEntry.getParentLevel().trim())) { - put.addColumn(Bytes.toBytes(Config.HBaseConfig.FAMILY_COLUMN_NAME), Bytes.toBytes(buriedPointEntry.getLevelId()), + put.addColumn(Bytes.toBytes(Config.HBaseConfig.FAMILY_COLUMN_NAME), Bytes.toBytes(String.valueOf(buriedPointEntry.getLevelId())), Bytes.toBytes(buriedPointEntry.getOriginData())); } else { put.addColumn(Bytes.toBytes(Config.HBaseConfig.FAMILY_COLUMN_NAME), Bytes.toBytes(buriedPointEntry.getParentLevel()