Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
javalover123888
SkyWalking
提交
9037f139
S
SkyWalking
项目概览
javalover123888
/
SkyWalking
与 Fork 源项目一致
Fork自
山不在高_有仙则灵 / SkyWalking
通知
2
Star
0
Fork
0
代码
文件
提交
分支
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,发现更多精彩内容 >>
提交
9037f139
编写于
7月 02, 2017
作者:
wu-sheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove the field binders.
上级
5bcc6fbf
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
13 addition
and
49 deletion
+13
-49
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/plugin/interceptor/enhance/ClassEnhancePluginDefine.java
.../plugin/interceptor/enhance/ClassEnhancePluginDefine.java
+0
-7
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/plugin/interceptor/enhance/ConstructorInter.java
...ent/core/plugin/interceptor/enhance/ConstructorInter.java
+2
-5
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/plugin/interceptor/enhance/EnhancedInstance.java
...ent/core/plugin/interceptor/enhance/EnhancedInstance.java
+3
-1
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/plugin/interceptor/enhance/FieldGetter.java
...pm/agent/core/plugin/interceptor/enhance/FieldGetter.java
+0
-5
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/plugin/interceptor/enhance/FieldSetter.java
...pm/agent/core/plugin/interceptor/enhance/FieldSetter.java
+0
-5
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/plugin/interceptor/enhance/InstMethodsInterWithOverrideArgs.java
...interceptor/enhance/InstMethodsInterWithOverrideArgs.java
+4
-13
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/plugin/interceptor/enhance/InstanceConstructorInterceptor.java
...n/interceptor/enhance/InstanceConstructorInterceptor.java
+1
-4
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/plugin/interceptor/enhance/InstanceMethodsAroundInterceptor.java
...interceptor/enhance/InstanceMethodsAroundInterceptor.java
+3
-9
未找到文件。
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/plugin/interceptor/enhance/ClassEnhancePluginDefine.java
浏览文件 @
9037f139
...
...
@@ -104,9 +104,6 @@ public abstract class ClassEnhancePluginDefine extends AbstractClassEnhancePlugi
for
(
ConstructorInterceptPoint
constructorInterceptPoint
:
constructorInterceptPoints
)
{
newClassBuilder
=
newClassBuilder
.
constructor
(
ElementMatchers
.<
MethodDescription
>
any
()).
intercept
(
SuperMethodCall
.
INSTANCE
.
andThen
(
MethodDelegation
.
withDefaultConfiguration
()
.
withBinders
(
FieldProxy
.
Binder
.
install
(
FieldGetter
.
class
,
FieldSetter
.
class
)
)
.
to
(
new
ConstructorInter
(
constructorInterceptPoint
.
getConstructorInterceptor
()))
)
);
...
...
@@ -129,7 +126,6 @@ public abstract class ClassEnhancePluginDefine extends AbstractClassEnhancePlugi
.
intercept
(
MethodDelegation
.
withDefaultConfiguration
()
.
withBinders
(
FieldProxy
.
Binder
.
install
(
FieldGetter
.
class
,
FieldSetter
.
class
),
Morph
.
Binder
.
install
(
OverrideCallable
.
class
)
)
.
to
(
new
InstMethodsInterWithOverrideArgs
(
interceptor
))
...
...
@@ -139,9 +135,6 @@ public abstract class ClassEnhancePluginDefine extends AbstractClassEnhancePlugi
newClassBuilder
.
method
(
not
(
isStatic
()).
and
(
instanceMethodsInterceptPoint
.
getMethodsMatcher
()))
.
intercept
(
MethodDelegation
.
withDefaultConfiguration
()
.
withBinders
(
FieldProxy
.
Binder
.
install
(
FieldGetter
.
class
,
FieldSetter
.
class
)
)
.
to
(
new
InstMethodsInter
(
interceptor
))
);
}
...
...
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/plugin/interceptor/enhance/ConstructorInter.java
浏览文件 @
9037f139
...
...
@@ -37,19 +37,16 @@ public class ConstructorInter {
* Intercept the target constructor.
*
* @param obj target class instance.
* @param dynamicFieldGetter a proxy to set the dynamic field
* @param dynamicFieldSetter a proxy to get the dynamic field
* @param allArguments all constructor arguments
*/
@RuntimeType
public
void
intercept
(
@This
Object
obj
,
@FieldProxy
(
ClassEnhancePluginDefine
.
CONTEXT_ATTR_NAME
)
FieldSetter
dynamicFieldSetter
,
@FieldProxy
(
ClassEnhancePluginDefine
.
CONTEXT_ATTR_NAME
)
FieldGetter
dynamicFieldGetter
,
@AllArguments
Object
[]
allArguments
)
{
try
{
InstanceConstructorInterceptor
interceptor
=
InterceptorInstanceLoader
.
load
(
constructorInterceptorClassName
,
obj
.
getClass
().
getClassLoader
());
EnhancedInstance
targetObject
=
(
EnhancedInstance
)
obj
;
interceptor
.
onConstruct
(
obj
,
allArguments
,
dynamicFieldSetter
,
dynamicFieldGetter
);
interceptor
.
onConstruct
(
targetObject
,
allArguments
);
}
catch
(
Throwable
t
)
{
logger
.
error
(
"ConstructorInter failure."
,
t
);
}
...
...
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/plugin/interceptor/enhance/EnhancedInstance.java
浏览文件 @
9037f139
...
...
@@ -4,5 +4,7 @@ package org.skywalking.apm.agent.core.plugin.interceptor.enhance;
* @author wusheng
*/
public
interface
EnhancedInstance
{
Object
_getSkyWalkingDynamicFiled
();
Object
getSkyWalkingDynamicField
();
void
setSkyWalkingDynamicField
();
}
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/plugin/interceptor/enhance/FieldGetter.java
已删除
100644 → 0
浏览文件 @
5bcc6fbf
package
org.skywalking.apm.agent.core.plugin.interceptor.enhance
;
public
interface
FieldGetter
{
Object
getValue
();
}
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/plugin/interceptor/enhance/FieldSetter.java
已删除
100644 → 0
浏览文件 @
5bcc6fbf
package
org.skywalking.apm.agent.core.plugin.interceptor.enhance
;
public
interface
FieldSetter
{
void
setValue
(
Object
value
);
}
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/plugin/interceptor/enhance/InstMethodsInterWithOverrideArgs.java
浏览文件 @
9037f139
...
...
@@ -42,8 +42,6 @@ public class InstMethodsInterWithOverrideArgs {
* @param obj target class instance.
* @param allArguments all method arguments
* @param method method description.
* @param dynamicFieldGetter a proxy to set the dynamic field
* @param dynamicFieldSetter a proxy to get the dynamic field
* @param zuper the origin call ref.
* @return the return value of target instance method.
* @throws Exception only throw exception because of zuper.call() or unexpected exception in sky-walking ( This is a
...
...
@@ -53,18 +51,15 @@ public class InstMethodsInterWithOverrideArgs {
public
Object
intercept
(
@This
Object
obj
,
@AllArguments
Object
[]
allArguments
,
@Origin
Method
method
,
@FieldProxy
(
ClassEnhancePluginDefine
.
CONTEXT_ATTR_NAME
)
FieldSetter
dynamicFieldSetter
,
@FieldProxy
(
ClassEnhancePluginDefine
.
CONTEXT_ATTR_NAME
)
FieldGetter
dynamicFieldGetter
,
@Morph
(
defaultMethod
=
true
)
OverrideCallable
zuper
)
throws
Throwable
{
InstanceMethodsAroundInterceptor
interceptor
=
InterceptorInstanceLoader
.
load
(
instanceMethodsAroundInterceptorClassName
,
obj
.
getClass
().
getClassLoader
());
EnhancedInstance
targetObject
=
(
EnhancedInstance
)
obj
;
MethodInterceptResult
result
=
new
MethodInterceptResult
();
try
{
interceptor
.
beforeMethod
(
obj
,
method
.
getName
(),
allArguments
,
method
.
getParameterTypes
(),
dynamicFieldSetter
,
dynamicFieldGetter
,
interceptor
.
beforeMethod
(
targetObject
,
method
.
getName
(),
allArguments
,
method
.
getParameterTypes
(),
result
);
}
catch
(
Throwable
t
)
{
logger
.
error
(
t
,
"class[{}] before method[{}] intercept failure"
,
obj
.
getClass
(),
method
.
getName
());
...
...
@@ -79,9 +74,7 @@ public class InstMethodsInterWithOverrideArgs {
}
}
catch
(
Throwable
t
)
{
try
{
interceptor
.
handleMethodException
(
obj
,
method
.
getName
(),
allArguments
,
method
.
getParameterTypes
(),
dynamicFieldSetter
,
dynamicFieldGetter
,
interceptor
.
handleMethodException
(
targetObject
,
method
.
getName
(),
allArguments
,
method
.
getParameterTypes
(),
t
);
}
catch
(
Throwable
t2
)
{
logger
.
error
(
t2
,
"class[{}] handle method[{}] exception failure"
,
obj
.
getClass
(),
method
.
getName
());
...
...
@@ -89,9 +82,7 @@ public class InstMethodsInterWithOverrideArgs {
throw
t
;
}
finally
{
try
{
ret
=
interceptor
.
afterMethod
(
obj
,
method
.
getName
(),
allArguments
,
method
.
getParameterTypes
(),
dynamicFieldSetter
,
dynamicFieldGetter
,
ret
=
interceptor
.
afterMethod
(
targetObject
,
method
.
getName
(),
allArguments
,
method
.
getParameterTypes
(),
ret
);
}
catch
(
Throwable
t
)
{
logger
.
error
(
t
,
"class[{}] after method[{}] intercept failure"
,
obj
.
getClass
(),
method
.
getName
());
...
...
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/plugin/interceptor/enhance/InstanceConstructorInterceptor.java
浏览文件 @
9037f139
...
...
@@ -11,8 +11,5 @@ public interface InstanceConstructorInterceptor {
/**
* Called before the origin constructor invocation.
*/
void
onConstruct
(
Object
objInst
,
Object
[]
allArguments
,
FieldSetter
dynamicFieldSetter
,
FieldGetter
dynamicFieldGetter
);
void
onConstruct
(
Object
objInst
,
Object
[]
allArguments
);
}
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/plugin/interceptor/enhance/InstanceMethodsAroundInterceptor.java
浏览文件 @
9037f139
...
...
@@ -13,9 +13,7 @@ public interface InstanceMethodsAroundInterceptor {
* @param result change this result, if you want to truncate the method.
* @throws Throwable
*/
void
beforeMethod
(
Object
objInst
,
String
methodName
,
Object
[]
allArguments
,
Class
<?>[]
argumentsTypes
,
FieldSetter
dynamicFieldSetter
,
FieldGetter
dynamicFieldGetter
,
void
beforeMethod
(
EnhancedInstance
objInst
,
String
methodName
,
Object
[]
allArguments
,
Class
<?>[]
argumentsTypes
,
MethodInterceptResult
result
)
throws
Throwable
;
/**
...
...
@@ -25,9 +23,7 @@ public interface InstanceMethodsAroundInterceptor {
* @return the method's actual return value.
* @throws Throwable
*/
Object
afterMethod
(
Object
objInst
,
String
methodName
,
Object
[]
allArguments
,
Class
<?>[]
argumentsTypes
,
FieldSetter
dynamicFieldSetter
,
FieldGetter
dynamicFieldGetter
,
Object
afterMethod
(
EnhancedInstance
objInst
,
String
methodName
,
Object
[]
allArguments
,
Class
<?>[]
argumentsTypes
,
Object
ret
)
throws
Throwable
;
/**
...
...
@@ -35,8 +31,6 @@ public interface InstanceMethodsAroundInterceptor {
*
* @param t the exception occur.
*/
void
handleMethodException
(
Object
objInst
,
String
methodName
,
Object
[]
allArguments
,
Class
<?>[]
argumentsTypes
,
FieldSetter
dynamicFieldSetter
,
FieldGetter
dynamicFieldGetter
,
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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录