提交 b68c0411 编写于 作者: wu-sheng's avatar wu-sheng

1.优化CostTime代码结构。

上级 bf98c2fd
......@@ -6,31 +6,35 @@ import com.ai.cloud.skywalking.analysis.model.CostMap;
import com.ai.cloud.skywalking.analysis.model.SpanEntry;
public class ProcessCostTimeFilter extends SpanNodeProcessFilter {
@Override
public void doFilter(SpanEntry spanEntry, ChainNode node, CostMap costMap) {
long subNodeCost = spanEntry.getCost();
node.setCost(spanEntry.getCost());
@Override
public void doFilter(SpanEntry spanEntry, ChainNode node, CostMap costMap) {
node.setCost(spanEntry.getCost());
this.saveCostAsSubNodeCost(spanEntry, node, costMap);
this.computeChainNodeCost(costMap, node);
if (costMap.exists(spanEntry.getParentLevelId())) {
subNodeCost += costMap.get(spanEntry.getParentLevelId());
}
this.doNext(spanEntry, node, costMap);
}
costMap.put(spanEntry.getParentLevelId(), subNodeCost);
this.computeChainNodeCost(costMap, node);
private void saveCostAsSubNodeCost(SpanEntry spanEntry, ChainNode node,
CostMap costMap) {
long subNodeCost = spanEntry.getCost();
if (costMap.exists(spanEntry.getParentLevelId())) {
subNodeCost += costMap.get(spanEntry.getParentLevelId());
}
this.doNext(spanEntry, node, costMap);
}
private void computeChainNodeCost(CostMap costMap, ChainNode node) {
String levelId = node.getParentLevelId();
if (levelId != null && levelId.length() > 0) {
levelId += ".";
}
levelId += node.getLevelId() + "";
costMap.put(spanEntry.getParentLevelId(), subNodeCost);
}
if (costMap.exists(levelId)) {
node.setCost(node.getCost() - costMap.get(levelId));
}
}
private void computeChainNodeCost(CostMap costMap, ChainNode node) {
String levelId = node.getParentLevelId();
if (levelId != null && levelId.length() > 0) {
levelId += ".";
}
levelId += node.getLevelId() + "";
if (costMap.exists(levelId)) {
node.setCost(node.getCost() - costMap.get(levelId));
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册