1.ContextData序列化优化到构造函数中。

This commit is contained in:
wusheng 2015-11-18 22:24:07 +08:00
parent b8045d0d50
commit ea6f1ca758
2 changed files with 17 additions and 9 deletions

View File

@ -18,6 +18,15 @@ public class ContextData {
this.levelId = span.getLevelId();
this.spanType = span.getSpanType();
}
public ContextData(String contextDataStr){
// 反序列化参数
String[] value = contextDataStr.split("-");
Span span = new Span(value[0]);
span.setParentLevel(value[1]);
span.setLevelId(Integer.valueOf(value[2]));
span.setSpanType(value[3].charAt(0));
}
public String getTraceId() {
return traceId;

View File

@ -2,11 +2,16 @@ package com.ai.cloud.skywalking.plugin.dubbo;
import com.ai.cloud.skywalking.buriedpoint.RPCBuriedPointReceiver;
import com.ai.cloud.skywalking.buriedpoint.RPCBuriedPointSender;
import com.ai.cloud.skywalking.context.Span;
import com.ai.cloud.skywalking.model.ContextData;
import com.ai.cloud.skywalking.model.Identification;
import com.alibaba.dubbo.common.extension.Activate;
import com.alibaba.dubbo.rpc.*;
import com.alibaba.dubbo.rpc.Filter;
import com.alibaba.dubbo.rpc.Invocation;
import com.alibaba.dubbo.rpc.Invoker;
import com.alibaba.dubbo.rpc.Result;
import com.alibaba.dubbo.rpc.RpcContext;
import com.alibaba.dubbo.rpc.RpcException;
import com.alibaba.dubbo.rpc.RpcInvocation;
@Activate
public class SWDubboEnhanceFilter implements Filter {
@ -42,13 +47,7 @@ public class SWDubboEnhanceFilter implements Filter {
String contextDataStr = rpcInvocation.getAttachment("contextData");
ContextData contextData = null;
if (contextDataStr != null && contextDataStr.length() > 0) {
// 反序列化参数
String[] value = contextDataStr.split("-");
Span span = new Span(value[0]);
span.setParentLevel(value[1]);
span.setLevelId(Integer.valueOf(value[2]));
span.setSpanType(value[3].charAt(0));
contextData = new ContextData(span);
contextData = new ContextData(contextDataStr);
}
rpcBuriedPointReceiver.beforeReceived(contextData, createIdentification(invoker));