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 b73d1ec930d9a3d7b04e2318c0d5cb0271a0935a..d326ba7831089d1f057f38b954b8d3860aacc2f2 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 @@ -2,7 +2,7 @@ package com.ai.cloud.skywalking.analysis.chainbuild; import com.ai.cloud.skywalking.analysis.chainbuild.entity.CallChainTree; import com.ai.cloud.skywalking.analysis.chainbuild.po.ChainInfo; -import com.ai.cloud.skywalking.analysis.chainbuild.po.SpecificTimeCallChainTreeMergedChainIdContainer; +import com.ai.cloud.skywalking.analysis.chainbuild.po.SpecificTimeCallTreeMergedChainIdContainer; import com.ai.cloud.skywalking.analysis.config.ConfigInitializer; import com.google.gson.Gson; import org.apache.hadoop.hbase.util.Bytes; @@ -33,7 +33,7 @@ public class ChainBuildReducer extends Reducer { public void doReduceAction(String key, Iterator chainInfoIterator) throws IOException, InterruptedException { CallChainTree chainTree = CallChainTree.load(key); - SpecificTimeCallChainTreeMergedChainIdContainer container = new SpecificTimeCallChainTreeMergedChainIdContainer(chainTree.getTreeToken()); + SpecificTimeCallTreeMergedChainIdContainer container = new SpecificTimeCallTreeMergedChainIdContainer(chainTree.getTreeToken()); while (chainInfoIterator.hasNext()) { String callChainData = chainInfoIterator.next().toString(); ChainInfo chainInfo = null; diff --git a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/po/SpecificTimeCallChainTreeMergedChainIdContainer.java b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/po/SpecificTimeCallTreeMergedChainIdContainer.java similarity index 85% rename from skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/po/SpecificTimeCallChainTreeMergedChainIdContainer.java rename to skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/po/SpecificTimeCallTreeMergedChainIdContainer.java index 820957607a63e9a996e6fa6a7c69f0b5dc380163..4ca431188809d1b0f0bd3ff559ae8077eb064414 100644 --- a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/po/SpecificTimeCallChainTreeMergedChainIdContainer.java +++ b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/po/SpecificTimeCallTreeMergedChainIdContainer.java @@ -8,7 +8,7 @@ import org.apache.hadoop.hbase.client.Put; import java.io.IOException; import java.util.*; -public class SpecificTimeCallChainTreeMergedChainIdContainer { +public class SpecificTimeCallTreeMergedChainIdContainer { private String treeToken; @@ -17,7 +17,7 @@ public class SpecificTimeCallChainTreeMergedChainIdContainer { // 本次Reduce合并过的调用链 private Map combineChains; - public SpecificTimeCallChainTreeMergedChainIdContainer(String treeToken) { + public SpecificTimeCallTreeMergedChainIdContainer(String treeToken) { this.treeToken = treeToken; hasBeenMergedChainIds = new HashMap>(); combineChains = new HashMap(); @@ -45,14 +45,11 @@ public class SpecificTimeCallChainTreeMergedChainIdContainer { } public void saveToHBase() throws IOException, InterruptedException { - List chainInfoPuts = new ArrayList(); - for (Map.Entry entry : combineChains.entrySet()) { - Put put = new Put(entry.getKey().getBytes()); - entry.getValue().saveToHBase(put); - chainInfoPuts.add(put); - } - HBaseUtil.batchSaveChainInfo(chainInfoPuts); + batchSaveCurrentHasBeenMergedChainInfo(); + batchSaveMergedChainId(); + } + private void batchSaveMergedChainId() throws IOException, InterruptedException { List chainIdPuts = new ArrayList(); for (Map.Entry> entry : hasBeenMergedChainIds.entrySet()) { Put chainIdPut = new Put(entry.getKey().getBytes()); @@ -63,4 +60,14 @@ public class SpecificTimeCallChainTreeMergedChainIdContainer { HBaseUtil.batchSaveHasBeenMergedCID(chainIdPuts); } + + private void batchSaveCurrentHasBeenMergedChainInfo() throws IOException, InterruptedException { + List chainInfoPuts = new ArrayList(); + for (Map.Entry entry : combineChains.entrySet()) { + Put put = new Put(entry.getKey().getBytes()); + entry.getValue().saveToHBase(put); + chainInfoPuts.add(put); + } + HBaseUtil.batchSaveChainInfo(chainInfoPuts); + } }