Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
山不在高_有仙则灵
SkyWalking
提交
91d08bbc
S
SkyWalking
项目概览
山不在高_有仙则灵
/
SkyWalking
与 Fork 源项目一致
Fork自
apache / SkyWalking
通知
12
Star
0
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
SkyWalking
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
91d08bbc
编写于
7月 18, 2017
作者:
A
ascrutae
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix issue that open tracing activation set tag failed
上级
79a45823
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
57 addition
and
3 deletion
+57
-3
apm-application-toolkit/apm-toolkit-opentracing/src/main/java/org/skywalking/apm/toolkit/opentracing/SkywalkingSpan.java
...rg/skywalking/apm/toolkit/opentracing/SkywalkingSpan.java
+6
-3
apm-sniffer/apm-toolkit-activation/apm-toolkit-opentracing-activation/src/main/java/org/skywalking/apm/toolkit/activation/opentracing/span/SkywalkingSpanActivation.java
...activation/opentracing/span/SkywalkingSpanActivation.java
+14
-0
apm-sniffer/apm-toolkit-activation/apm-toolkit-opentracing-activation/src/main/java/org/skywalking/apm/toolkit/activation/opentracing/span/SpanSetTagInterceptor.java
...it/activation/opentracing/span/SpanSetTagInterceptor.java
+37
-0
未找到文件。
apm-application-toolkit/apm-toolkit-opentracing/src/main/java/org/skywalking/apm/toolkit/opentracing/SkywalkingSpan.java
浏览文件 @
91d08bbc
...
...
@@ -68,16 +68,19 @@ public class SkywalkingSpan implements Span {
return
SkywalkingContext
.
INSTANCE
;
}
@NeedSnifferActivation
(
"1. ContextManager#activeSpan()"
+
"2. SkywalkingSpan#setTag(String, String)"
)
@Override
public
Span
setTag
(
String
key
,
String
value
)
{
return
null
;
return
this
;
}
@Override
public
Span
setTag
(
String
key
,
boolean
value
)
{
return
null
;
return
setTag
(
key
,
String
.
valueOf
(
value
))
;
}
@Override
public
Span
setTag
(
String
key
,
Number
value
)
{
return
null
;
return
setTag
(
key
,
String
.
valueOf
(
value
))
;
}
@Override
...
...
apm-sniffer/apm-toolkit-activation/apm-toolkit-opentracing-activation/src/main/java/org/skywalking/apm/toolkit/activation/opentracing/span/SkywalkingSpanActivation.java
浏览文件 @
91d08bbc
...
...
@@ -48,6 +48,7 @@ public class SkywalkingSpanActivation extends ClassInstanceMethodsEnhancePluginD
private
static
final
String
FINISH_METHOD_INTERCEPTOR
=
"org.skywalking.apm.toolkit.activation.opentracing.span.SpanFinishInterceptor"
;
private
static
final
String
LOG_INTERCEPTOR
=
"org.skywalking.apm.toolkit.activation.opentracing.span.SpanLogInterceptor"
;
private
static
final
String
SET_OPERATION_NAME_INTERCEPTOR
=
"org.skywalking.apm.toolkit.activation.opentracing.span.SpanSetOperationNameInterceptor"
;
private
static
final
String
SET_TAG_INTERCEPTOR
=
"org.skywalking.apm.toolkit.activation.opentracing.span.SpanSetTagInterceptor"
;
@Override
protected
ClassMatch
enhanceClass
()
{
...
...
@@ -132,6 +133,19 @@ public class SkywalkingSpanActivation extends ClassInstanceMethodsEnhancePluginD
public
boolean
isOverrideArgs
()
{
return
false
;
}
},
new
InstanceMethodsInterceptPoint
()
{
@Override
public
ElementMatcher
<
MethodDescription
>
getMethodsMatcher
()
{
return
named
(
"setTag"
).
and
(
takesArgument
(
0
,
String
.
class
)).
and
(
takesArgument
(
1
,
String
.
class
));
}
@Override
public
String
getMethodsInterceptor
()
{
return
SET_TAG_INTERCEPTOR
;
}
@Override
public
boolean
isOverrideArgs
()
{
return
false
;
}
}
};
}
...
...
apm-sniffer/apm-toolkit-activation/apm-toolkit-opentracing-activation/src/main/java/org/skywalking/apm/toolkit/activation/opentracing/span/SpanSetTagInterceptor.java
0 → 100644
浏览文件 @
91d08bbc
package
org.skywalking.apm.toolkit.activation.opentracing.span
;
import
io.opentracing.tag.Tags
;
import
org.skywalking.apm.agent.core.context.ContextManager
;
import
org.skywalking.apm.agent.core.context.trace.AbstractSpan
;
import
org.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedInstance
;
import
org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor
;
import
org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult
;
public
class
SpanSetTagInterceptor
implements
InstanceMethodsAroundInterceptor
{
@Override
public
void
beforeMethod
(
EnhancedInstance
objInst
,
String
methodName
,
Object
[]
allArguments
,
Class
<?>[]
argumentsTypes
,
MethodInterceptResult
result
)
throws
Throwable
{
}
@Override
public
Object
afterMethod
(
EnhancedInstance
objInst
,
String
methodName
,
Object
[]
allArguments
,
Class
<?>[]
argumentsTypes
,
Object
ret
)
throws
Throwable
{
AbstractSpan
activeSpan
=
ContextManager
.
activeSpan
();
String
tagKey
=
String
.
valueOf
(
allArguments
[
0
]);
String
tagValue
=
String
.
valueOf
(
allArguments
[
1
]);
if
(
Tags
.
COMPONENT
.
getKey
().
equals
(
tagKey
))
{
activeSpan
.
setComponent
(
tagValue
);
}
else
if
(
Tags
.
PEER_SERVICE
.
getKey
().
equals
(
tagKey
))
{
activeSpan
.
setOperationName
(
tagValue
);
}
else
{
activeSpan
.
tag
(
tagKey
,
tagValue
);
}
return
ret
;
}
@Override
public
void
handleMethodException
(
EnhancedInstance
objInst
,
String
methodName
,
Object
[]
allArguments
,
Class
<?>[]
argumentsTypes
,
Throwable
t
)
{
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录