diff --git a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/AnalysisServerDriver.java b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/AnalysisServerDriver.java index 02ebee054..273b753a0 100644 --- a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/AnalysisServerDriver.java +++ b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/AnalysisServerDriver.java @@ -7,14 +7,10 @@ import java.util.Date; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.Configured; -import org.apache.hadoop.fs.Path; -import org.apache.hadoop.hbase.MetaTableAccessor; -import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; -import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.mapreduce.lib.output.NullOutputFormat; import org.apache.hadoop.util.GenericOptionsParser; import org.apache.hadoop.util.Tool; diff --git a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/Categorize2ChainMapper.java b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/Categorize2ChainMapper.java index fb7b114cf..3f76debd7 100644 --- a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/Categorize2ChainMapper.java +++ b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/Categorize2ChainMapper.java @@ -43,7 +43,7 @@ public class Categorize2ChainMapper extends TableMapper { } public static ChainInfo spanToChainInfo(String key, List spanList) { - CostMap costMap = new CostMap(); + SubLevelSpanCostCounter costMap = new SubLevelSpanCostCounter(); ChainInfo chainInfo = new ChainInfo(); Collections.sort(spanList, new Comparator() { @Override diff --git a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/Categorize2ChainReducer.java b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/Categorize2ChainReducer.java index d87a71894..437e7d36b 100644 --- a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/Categorize2ChainReducer.java +++ b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/Categorize2ChainReducer.java @@ -27,7 +27,7 @@ public class Categorize2ChainReducer extends Reducer summaryResultMap; private Map updateChainInfo; - public Summary() { + public ChainSummary() { summaryResultMap = new HashMap(); updateChainInfo = new HashMap(); } diff --git a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/SpanEntry.java b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/SpanEntry.java index ba28bcb29..a0f2a1be2 100644 --- a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/SpanEntry.java +++ b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/SpanEntry.java @@ -8,7 +8,6 @@ public class SpanEntry { private Span clientSpan; private Span serverSpan; - private String startTime; public SpanEntry() { @@ -66,7 +65,7 @@ public class SpanEntry { return resultCost; } - public long getClientCost() { + private long getClientCost() { if (clientSpan != null) { return clientSpan.getCost(); } @@ -74,7 +73,7 @@ public class SpanEntry { return 0; } - public long getServerCost() { + private long getServerCost() { if (serverSpan != null) { return serverSpan.getCost(); } diff --git a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/CostMap.java b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/SubLevelSpanCostCounter.java similarity index 92% rename from skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/CostMap.java rename to skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/SubLevelSpanCostCounter.java index 7d19d18ff..76d612876 100644 --- a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/CostMap.java +++ b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/SubLevelSpanCostCounter.java @@ -3,7 +3,7 @@ package com.ai.cloud.skywalking.analysis.categorize2chain; import java.util.HashMap; import java.util.Map; -public class CostMap { +public class SubLevelSpanCostCounter { private Map costs = new HashMap(); public void put(String parentLevel, Long cost) { diff --git a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/SpanNodeProcessFilter.java b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/SpanNodeProcessFilter.java index 7a0e4f348..03782b8de 100644 --- a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/SpanNodeProcessFilter.java +++ b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/SpanNodeProcessFilter.java @@ -1,6 +1,6 @@ package com.ai.cloud.skywalking.analysis.categorize2chain.filter; -import com.ai.cloud.skywalking.analysis.categorize2chain.CostMap; +import com.ai.cloud.skywalking.analysis.categorize2chain.SubLevelSpanCostCounter; import com.ai.cloud.skywalking.analysis.categorize2chain.SpanEntry; import com.ai.cloud.skywalking.analysis.categorize2chain.model.ChainNode; @@ -8,9 +8,9 @@ public abstract class SpanNodeProcessFilter { private SpanNodeProcessFilter nextProcessChain; - public abstract void doFilter(SpanEntry spanEntry, ChainNode node, CostMap costMap); + public abstract void doFilter(SpanEntry spanEntry, ChainNode node, SubLevelSpanCostCounter costMap); - protected void doNext(SpanEntry spanEntry, ChainNode node, CostMap costMap){ + protected void doNext(SpanEntry spanEntry, ChainNode node, SubLevelSpanCostCounter costMap){ if(nextProcessChain != null){ nextProcessChain.doFilter(spanEntry, node, costMap); } diff --git a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/impl/AppendBusinessKeyFilter.java b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/impl/AppendBusinessKeyFilter.java index b4ec32d51..cb136f175 100644 --- a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/impl/AppendBusinessKeyFilter.java +++ b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/impl/AppendBusinessKeyFilter.java @@ -1,6 +1,6 @@ package com.ai.cloud.skywalking.analysis.categorize2chain.filter.impl; -import com.ai.cloud.skywalking.analysis.categorize2chain.CostMap; +import com.ai.cloud.skywalking.analysis.categorize2chain.SubLevelSpanCostCounter; import com.ai.cloud.skywalking.analysis.categorize2chain.SpanEntry; import com.ai.cloud.skywalking.analysis.categorize2chain.filter.SpanNodeProcessFilter; import com.ai.cloud.skywalking.analysis.categorize2chain.model.ChainNode; @@ -8,7 +8,7 @@ import com.ai.cloud.skywalking.analysis.categorize2chain.model.ChainNode; public class AppendBusinessKeyFilter extends SpanNodeProcessFilter { @Override - public void doFilter(SpanEntry spanEntry, ChainNode node, CostMap costMap) { + public void doFilter(SpanEntry spanEntry, ChainNode node, SubLevelSpanCostCounter costMap) { node.setViewPoint(node.getViewPoint() + spanEntry.getBusinessKey()); this.doNext(spanEntry, node, costMap); diff --git a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/impl/CopyAttrFilter.java b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/impl/CopyAttrFilter.java index 20cd9644d..e577a2ab0 100644 --- a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/impl/CopyAttrFilter.java +++ b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/impl/CopyAttrFilter.java @@ -1,6 +1,6 @@ package com.ai.cloud.skywalking.analysis.categorize2chain.filter.impl; -import com.ai.cloud.skywalking.analysis.categorize2chain.CostMap; +import com.ai.cloud.skywalking.analysis.categorize2chain.SubLevelSpanCostCounter; import com.ai.cloud.skywalking.analysis.categorize2chain.SpanEntry; import com.ai.cloud.skywalking.analysis.categorize2chain.filter.SpanNodeProcessFilter; import com.ai.cloud.skywalking.analysis.categorize2chain.model.ChainNode; @@ -8,7 +8,7 @@ import com.ai.cloud.skywalking.analysis.categorize2chain.model.ChainNode; public class CopyAttrFilter extends SpanNodeProcessFilter { @Override - public void doFilter(SpanEntry spanEntry, ChainNode node, CostMap costMap) { + public void doFilter(SpanEntry spanEntry, ChainNode node, SubLevelSpanCostCounter costMap) { node.setCallType(spanEntry.getCallType().toString()); node.setStatus(spanEntry.getSpanStatus()); node.setLevelId(spanEntry.getLevelId()); diff --git a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/impl/ProcessCostTimeFilter.java b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/impl/ProcessCostTimeFilter.java index 630914f06..5b188e7de 100644 --- a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/impl/ProcessCostTimeFilter.java +++ b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/impl/ProcessCostTimeFilter.java @@ -1,13 +1,13 @@ package com.ai.cloud.skywalking.analysis.categorize2chain.filter.impl; -import com.ai.cloud.skywalking.analysis.categorize2chain.CostMap; +import com.ai.cloud.skywalking.analysis.categorize2chain.SubLevelSpanCostCounter; import com.ai.cloud.skywalking.analysis.categorize2chain.SpanEntry; import com.ai.cloud.skywalking.analysis.categorize2chain.filter.SpanNodeProcessFilter; import com.ai.cloud.skywalking.analysis.categorize2chain.model.ChainNode; public class ProcessCostTimeFilter extends SpanNodeProcessFilter { @Override - public void doFilter(SpanEntry spanEntry, ChainNode node, CostMap costMap) { + public void doFilter(SpanEntry spanEntry, ChainNode node, SubLevelSpanCostCounter costMap) { node.setCost(spanEntry.getCost()); this.saveCostAsSubNodeCost(spanEntry, node, costMap); @@ -17,7 +17,7 @@ public class ProcessCostTimeFilter extends SpanNodeProcessFilter { } private void saveCostAsSubNodeCost(SpanEntry spanEntry, ChainNode node, - CostMap costMap) { + SubLevelSpanCostCounter costMap) { long subNodeCost = spanEntry.getCost(); if (costMap.exists(spanEntry.getParentLevelId())) { subNodeCost += costMap.get(spanEntry.getParentLevelId()); @@ -26,7 +26,7 @@ public class ProcessCostTimeFilter extends SpanNodeProcessFilter { costMap.put(spanEntry.getParentLevelId(), subNodeCost); } - private void computeChainNodeCost(CostMap costMap, ChainNode node) { + private void computeChainNodeCost(SubLevelSpanCostCounter costMap, ChainNode node) { String levelId = node.getParentLevelId(); if (levelId != null && levelId.length() > 0) { levelId += "."; diff --git a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/impl/ReplaceAddressFilter.java b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/impl/ReplaceAddressFilter.java index 77423b44d..87e47d43c 100644 --- a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/impl/ReplaceAddressFilter.java +++ b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/impl/ReplaceAddressFilter.java @@ -1,6 +1,6 @@ package com.ai.cloud.skywalking.analysis.categorize2chain.filter.impl; -import com.ai.cloud.skywalking.analysis.categorize2chain.CostMap; +import com.ai.cloud.skywalking.analysis.categorize2chain.SubLevelSpanCostCounter; import com.ai.cloud.skywalking.analysis.categorize2chain.SpanEntry; import com.ai.cloud.skywalking.analysis.categorize2chain.filter.SpanNodeProcessFilter; import com.ai.cloud.skywalking.analysis.categorize2chain.model.ChainNode; @@ -11,7 +11,7 @@ public class ReplaceAddressFilter extends SpanNodeProcessFilter { private static String IP_PORT_REGEX = "(([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))\\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))\\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))\\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))|localhost):([1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]|[0-9]{1,4})"; @Override - public void doFilter(SpanEntry spanEntry, ChainNode node, CostMap costMap) { + public void doFilter(SpanEntry spanEntry, ChainNode node, SubLevelSpanCostCounter costMap) { String viewPoint = spanEntry.getViewPoint().replaceAll(IP_PORT_REGEX, spanEntry.getApplicationId()); node.setViewPoint(viewPoint); diff --git a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/impl/TokenGenerateFilter.java b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/impl/TokenGenerateFilter.java index b0765ba85..2c49d40e2 100644 --- a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/impl/TokenGenerateFilter.java +++ b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/categorize2chain/filter/impl/TokenGenerateFilter.java @@ -1,6 +1,6 @@ package com.ai.cloud.skywalking.analysis.categorize2chain.filter.impl; -import com.ai.cloud.skywalking.analysis.categorize2chain.CostMap; +import com.ai.cloud.skywalking.analysis.categorize2chain.SubLevelSpanCostCounter; import com.ai.cloud.skywalking.analysis.categorize2chain.SpanEntry; import com.ai.cloud.skywalking.analysis.categorize2chain.filter.SpanNodeProcessFilter; import com.ai.cloud.skywalking.analysis.categorize2chain.model.ChainNode; @@ -9,7 +9,7 @@ import com.ai.cloud.skywalking.analysis.util.TokenGenerator; public class TokenGenerateFilter extends SpanNodeProcessFilter { @Override - public void doFilter(SpanEntry spanEntry, ChainNode node, CostMap costMap) { + public void doFilter(SpanEntry spanEntry, ChainNode node, SubLevelSpanCostCounter costMap) { String nodeToken = TokenGenerator.generateNodeToken(node.getParentLevelId() + "." + node.getLevelId() + "-" + node.getViewPoint());