mirror of
https://gitee.com/arthas/arthas.git
synced 2024-12-02 04:08:34 +08:00
fix some doc and comment (#629)
This commit is contained in:
parent
39ec104b4f
commit
51c0c2ef43
@ -346,13 +346,14 @@ public class AdviceWeaver extends ClassVisitor implements Opcodes {
|
||||
/**
|
||||
* 构建通知编织器
|
||||
*
|
||||
* @param adviceId 通知ID
|
||||
* @param isTracing 可跟踪方法调用
|
||||
* @param className 类名称
|
||||
* @param matcher 方法匹配
|
||||
* 只有匹配上的方法才会被织入通知器
|
||||
* @param affect 影响计数
|
||||
* @param cv ClassVisitor for ASM
|
||||
* @param adviceId 通知ID
|
||||
* @param isTracing 可跟踪方法调用
|
||||
* @param skipJDKTrace 是否忽略对JDK内部方法的跟踪
|
||||
* @param className 类名称
|
||||
* @param matcher 方法匹配
|
||||
* 只有匹配上的方法才会被织入通知器
|
||||
* @param affect 影响计数
|
||||
* @param cv ClassVisitor for ASM
|
||||
*/
|
||||
public AdviceWeaver(int adviceId, boolean isTracing, boolean skipJDKTrace, String className, Matcher matcher, EnhancerAffect affect, ClassVisitor cv) {
|
||||
super(Opcodes.ASM7, cv);
|
||||
|
@ -51,6 +51,7 @@ public class Enhancer implements ClassFileTransformer {
|
||||
/**
|
||||
* @param adviceId 通知编号
|
||||
* @param isTracing 可跟踪方法调用
|
||||
* @param skipJDKTrace 是否忽略对JDK内部方法的跟踪
|
||||
* @param matchingClasses 匹配中的类
|
||||
* @param methodNameMatcher 方法名匹配
|
||||
* @param affect 影响统计
|
||||
@ -170,7 +171,7 @@ public class Enhancer implements ClassFileTransformer {
|
||||
// 成功计数
|
||||
affect.cCnt(1);
|
||||
|
||||
// 排遣间谍
|
||||
// 派遣间谍
|
||||
try {
|
||||
spy(inClassLoader);
|
||||
} catch (Throwable t) {
|
||||
@ -265,6 +266,7 @@ public class Enhancer implements ClassFileTransformer {
|
||||
* @param inst inst
|
||||
* @param adviceId 通知ID
|
||||
* @param isTracing 可跟踪方法调用
|
||||
* @param skipJDKTrace 是否忽略对JDK内部方法的跟踪
|
||||
* @param classNameMatcher 类名匹配
|
||||
* @param methodNameMatcher 方法名匹配
|
||||
* @return 增强影响范围
|
||||
|
@ -2,7 +2,7 @@ package com.taobao.arthas.core.advisor;
|
||||
|
||||
/**
|
||||
* 方法调用跟踪<br/>
|
||||
* 当一个方法内部调用另外一个方法时,会出发此跟踪方法
|
||||
* 当一个方法内部调用另外一个方法时,会触发此跟踪方法
|
||||
* Created by vlinux on 15/5/27.
|
||||
*/
|
||||
public interface InvokeTraceable {
|
||||
|
@ -18,10 +18,11 @@ import java.util.Set;
|
||||
public class SearchUtils {
|
||||
|
||||
/**
|
||||
* 根据类名匹配,搜已经被JVM加载的类
|
||||
* 根据类名匹配,搜索已经被JVM加载的类
|
||||
*
|
||||
* @param inst inst
|
||||
* @param classNameMatcher 类名匹配
|
||||
* @param limit 最大匹配限制
|
||||
* @return 匹配的类集合
|
||||
*/
|
||||
public static Set<Class<?>> searchClass(Instrumentation inst, Matcher<String> classNameMatcher, int limit) {
|
||||
|
@ -81,7 +81,7 @@ Affect(class-cnt:1 , method-cnt:1) cost in 41 ms.
|
||||
`---[0.05447ms] demo.MathGame:print()
|
||||
```
|
||||
|
||||
> 只会展示耗时大于4ms的调用路径,有助于在排查问题的时候,只关注异常情况
|
||||
> 只会展示耗时大于10ms的调用路径,有助于在排查问题的时候,只关注异常情况
|
||||
|
||||
- 是不是很眼熟,没错,在 JProfiler 等收费软件中你曾经见识类似的功能,这里你将可以通过命令就能打印出指定调用路径。 友情提醒下,`trace` 在执行的过程中本身是会有一定的性能开销,在统计的报告中并未像 JProfiler 一样预先减去其自身的统计开销。所以这统计出来有些许的不准,渲染路径上调用的类、方法越多,性能偏差越大。但还是能让你看清一些事情的。
|
||||
- [12.033735ms] 的含义,`12.033735` 的含义是:当前节点在当前步骤的耗时,单位为毫秒
|
||||
|
@ -28,7 +28,7 @@ public class Spy {
|
||||
*/
|
||||
public static volatile Method AGENT_RESET_METHOD;
|
||||
|
||||
/*
|
||||
/**
|
||||
* 用于普通的间谍初始化
|
||||
*/
|
||||
public static void init(
|
||||
@ -48,7 +48,7 @@ public class Spy {
|
||||
THROW_INVOKING_METHOD = throwInvokingMethod;
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* 用于启动线程初始化
|
||||
*/
|
||||
public static void initForAgentLauncher(
|
||||
|
Loading…
Reference in New Issue
Block a user