From d8f84f2a5bffbff06e8f7c25716453080a646e8f Mon Sep 17 00:00:00 2001 From: wusheng Date: Tue, 17 May 2016 09:42:34 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4analysis=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E4=B8=AD=EF=BC=8C=E5=85=B3=E4=BA=8E=E8=AE=A1=E6=95=B0=E7=9A=84?= =?UTF-8?q?=E5=A4=84=E7=90=86=E3=80=82=E5=90=8C=E6=97=B6=E7=A7=BB=E9=99=A4?= =?UTF-8?q?redis=E7=9A=84=E7=9B=B8=E5=85=B3=E4=BE=9D=E8=B5=96=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- skywalking-analysis/pom.xml | 14 ++-- .../analysis/chainbuild/ChainBuildMapper.java | 45 ++++++------ .../chainbuild/ChainBuildReducer.java | 14 ++-- .../chainbuild/DBCallChainInfoDao.java | 14 ++-- .../impl/JDBCBusinessKeyHandleFilter.java | 5 +- .../analysis/chainbuild/util/RedisUtil.java | 69 ------------------- 6 files changed, 46 insertions(+), 115 deletions(-) delete mode 100644 skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/util/RedisUtil.java diff --git a/skywalking-analysis/pom.xml b/skywalking-analysis/pom.xml index 9480f30b2e..c2cb20b416 100644 --- a/skywalking-analysis/pom.xml +++ b/skywalking-analysis/pom.xml @@ -38,12 +38,6 @@ skywalking-protocol 1.0-SNAPSHOT - - junit - junit - 4.12 - test - com.google.code.gson gson @@ -59,10 +53,12 @@ log4j-core 2.2 + - redis.clients - jedis - 2.8.1 + junit + junit + 4.12 + test diff --git a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/ChainBuildMapper.java b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/ChainBuildMapper.java index 24a922e1c0..223fdf0cf9 100644 --- a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/ChainBuildMapper.java +++ b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/ChainBuildMapper.java @@ -1,29 +1,37 @@ package com.ai.cloud.skywalking.analysis.chainbuild; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import org.apache.hadoop.hbase.Cell; +import org.apache.hadoop.hbase.client.Result; +import org.apache.hadoop.hbase.io.ImmutableBytesWritable; +import org.apache.hadoop.hbase.mapreduce.TableMapper; +import org.apache.hadoop.hbase.util.Bytes; +import org.apache.hadoop.io.Text; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + import com.ai.cloud.skywalking.analysis.chainbuild.exception.Tid2CidECovertException; import com.ai.cloud.skywalking.analysis.chainbuild.filter.SpanNodeProcessChain; import com.ai.cloud.skywalking.analysis.chainbuild.filter.SpanNodeProcessFilter; import com.ai.cloud.skywalking.analysis.chainbuild.po.ChainInfo; import com.ai.cloud.skywalking.analysis.chainbuild.po.ChainNode; import com.ai.cloud.skywalking.analysis.chainbuild.po.SummaryType; -import com.ai.cloud.skywalking.analysis.chainbuild.util.*; -import com.ai.cloud.skywalking.analysis.config.Config; +import com.ai.cloud.skywalking.analysis.chainbuild.util.HBaseUtil; +import com.ai.cloud.skywalking.analysis.chainbuild.util.SubLevelSpanCostCounter; +import com.ai.cloud.skywalking.analysis.chainbuild.util.TokenGenerator; +import com.ai.cloud.skywalking.analysis.chainbuild.util.VersionIdentifier; import com.ai.cloud.skywalking.analysis.config.ConfigInitializer; import com.ai.cloud.skywalking.protocol.Span; import com.ai.cloud.skywalking.util.SpanLevelIdComparators; import com.google.gson.Gson; -import org.apache.hadoop.hbase.Cell; -import org.apache.hadoop.hbase.client.Result; -import org.apache.hadoop.hbase.io.ImmutableBytesWritable; -import org.apache.hadoop.hbase.mapreduce.TableMapper; -import org.apache.hadoop.hbase.util.Bytes; -import org.apache.hadoop.io.Text; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -import java.io.IOException; -import java.text.SimpleDateFormat; -import java.util.*; public class ChainBuildMapper extends TableMapper { @@ -46,7 +54,6 @@ public class ChainBuildMapper extends TableMapper { return; } - RedisUtil.autoIncrement(Config.Redis.MAPPER_COUNT_KEY); List spanList = new ArrayList(); ChainInfo chainInfo = null; try { @@ -121,11 +128,9 @@ public class ChainBuildMapper extends TableMapper { + ":" + chainInfo.getCallEntrance()), new Text(new Gson().toJson(chainInfo))); } - RedisUtil.autoIncrement(Config.Redis.SUCCESS_MAPPER_COUNT_KEY); } catch (Exception e) { logger.error("Failed to mapper call chain[" + key.toString() + "]", e); - RedisUtil.autoIncrement(Config.Redis.FAILED_MAPPER_COUNT_KEY); } } @@ -162,10 +167,4 @@ public class ChainBuildMapper extends TableMapper { } return spanEntryMap; } - - private void clearData(){ - RedisUtil.clearData(Config.Redis.MAPPER_COUNT_KEY); - RedisUtil.clearData(Config.Redis.FAILED_MAPPER_COUNT_KEY); - RedisUtil.clearData(Config.Redis.SUCCESS_MAPPER_COUNT_KEY); - } } diff --git a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/ChainBuildReducer.java b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/ChainBuildReducer.java index 7e9947e2c8..370da1be37 100644 --- a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/ChainBuildReducer.java +++ b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/ChainBuildReducer.java @@ -1,18 +1,18 @@ package com.ai.cloud.skywalking.analysis.chainbuild; -import com.ai.cloud.skywalking.analysis.chainbuild.action.IStatisticsAction; -import com.ai.cloud.skywalking.analysis.chainbuild.po.SummaryType; -import com.ai.cloud.skywalking.analysis.config.Config; -import com.ai.cloud.skywalking.analysis.config.ConfigInitializer; -import org.apache.hadoop.hbase.util.Bytes; +import java.io.IOException; +import java.util.Iterator; + import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Reducer; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import java.io.IOException; -import java.util.Iterator; +import com.ai.cloud.skywalking.analysis.chainbuild.action.IStatisticsAction; +import com.ai.cloud.skywalking.analysis.chainbuild.po.SummaryType; +import com.ai.cloud.skywalking.analysis.config.Config; +import com.ai.cloud.skywalking.analysis.config.ConfigInitializer; public class ChainBuildReducer extends Reducer { private Logger logger = LogManager.getLogger(ChainBuildReducer.class); diff --git a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/DBCallChainInfoDao.java b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/DBCallChainInfoDao.java index 33ebf83be0..44dc4b1f99 100644 --- a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/DBCallChainInfoDao.java +++ b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/DBCallChainInfoDao.java @@ -1,13 +1,17 @@ package com.ai.cloud.skywalking.analysis.chainbuild; -import com.ai.cloud.skywalking.analysis.chainbuild.entity.CallChainDetailForMysql; -import com.ai.cloud.skywalking.analysis.chainbuild.po.ChainNode; -import com.ai.cloud.skywalking.analysis.config.Config; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.sql.Timestamp; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.sql.*; -import java.util.Map; +import com.ai.cloud.skywalking.analysis.chainbuild.entity.CallChainDetailForMysql; +import com.ai.cloud.skywalking.analysis.chainbuild.po.ChainNode; +import com.ai.cloud.skywalking.analysis.config.Config; public class DBCallChainInfoDao { private static Logger logger = LoggerFactory diff --git a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/filter/impl/JDBCBusinessKeyHandleFilter.java b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/filter/impl/JDBCBusinessKeyHandleFilter.java index 968fa8b918..5eff09f62e 100644 --- a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/filter/impl/JDBCBusinessKeyHandleFilter.java +++ b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/filter/impl/JDBCBusinessKeyHandleFilter.java @@ -1,11 +1,12 @@ package com.ai.cloud.skywalking.analysis.chainbuild.filter.impl; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + import com.ai.cloud.skywalking.analysis.chainbuild.SpanEntry; import com.ai.cloud.skywalking.analysis.chainbuild.filter.SpanNodeProcessFilter; import com.ai.cloud.skywalking.analysis.chainbuild.po.ChainNode; import com.ai.cloud.skywalking.analysis.chainbuild.util.SubLevelSpanCostCounter; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; public class JDBCBusinessKeyHandleFilter extends SpanNodeProcessFilter { private Logger logger = LogManager.getLogger(JDBCBusinessKeyHandleFilter.class); diff --git a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/util/RedisUtil.java b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/util/RedisUtil.java deleted file mode 100644 index 33f58f2a6e..0000000000 --- a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/util/RedisUtil.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.ai.cloud.skywalking.analysis.chainbuild.util; - -import com.ai.cloud.skywalking.analysis.config.Config; -import org.apache.commons.pool2.impl.GenericObjectPoolConfig; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import redis.clients.jedis.Jedis; -import redis.clients.jedis.JedisPool; - -/** - * Created by xin on 16-5-13. - */ -public class RedisUtil { - - private static Logger logger = LogManager.getLogger(RedisUtil.class); - - private static JedisPool jedisPool; - - private static boolean turn_on = true; - - static { - try { - GenericObjectPoolConfig genericObjectPoolConfig = new GenericObjectPoolConfig(); - jedisPool = new JedisPool(genericObjectPoolConfig, Config.Redis.HOST, Config.Redis.PORT); - } catch (Exception e) { - logger.error("Failed to create jedis pool", e); - turn_on = false; - } - } - - - public static void autoIncrement(String key) { - if (!turn_on) { - return; - } - - Jedis jedis = null; - try { - jedis = jedisPool.getResource(); - jedis.incrBy(key, 1); - } catch (Exception e) { - logger.error("Failed to auto increment .", e); - } finally { - if (jedis != null) { - jedis.close(); - } - } - } - - - public static void clearData(String key) { - if (!turn_on) { - return; - } - - Jedis jedis = null; - try { - jedis = jedisPool.getResource(); - jedis.setnx(key, "0"); - } catch (Exception e) { - logger.error("Failed to auto increment .", e); - } finally { - if (jedis != null) { - jedis.close(); - } - } - } - -} -- GitLab