From ea6f1ca7581b7c1bdad686c7d3612c6783c1f6bf Mon Sep 17 00:00:00 2001 From: wusheng Date: Wed, 18 Nov 2015 22:24:07 +0800 Subject: [PATCH] =?UTF-8?q?1.ContextData=E5=BA=8F=E5=88=97=E5=8C=96?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=88=B0=E6=9E=84=E9=80=A0=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E4=B8=AD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/cloud/skywalking/model/ContextData.java | 9 +++++++++ .../plugin/dubbo/SWDubboEnhanceFilter.java | 17 ++++++++--------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/model/ContextData.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/model/ContextData.java index c03bfab3b..ddbc95a84 100644 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/model/ContextData.java +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/model/ContextData.java @@ -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; diff --git a/skywalking-sdk-plugin/dubbo-plugin/src/main/java/com/ai/cloud/skywalking/plugin/dubbo/SWDubboEnhanceFilter.java b/skywalking-sdk-plugin/dubbo-plugin/src/main/java/com/ai/cloud/skywalking/plugin/dubbo/SWDubboEnhanceFilter.java index fa98d79f5..b8f7f0962 100644 --- a/skywalking-sdk-plugin/dubbo-plugin/src/main/java/com/ai/cloud/skywalking/plugin/dubbo/SWDubboEnhanceFilter.java +++ b/skywalking-sdk-plugin/dubbo-plugin/src/main/java/com/ai/cloud/skywalking/plugin/dubbo/SWDubboEnhanceFilter.java @@ -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));