Gong Dewei

Results 29 comments of Gong Dewei

@RobberPhex R 异步方法不能使用ThreadLocal传递值,方法cost的计算方式要改变。 另外要考虑兼容jdk 1.6下运行不报错。

> 我遇到了几次这样的场景: > > 1. 某个method会偶尔触发bug, 导致cpu 100%, 由于日志的缺失, 不能确定到底是什么入参触发了method的bug; > 2. 因为Filter的bug, 某个(或某些)特定HTTP请求在被Dispatch到具体的业务Controller之前, 在Tomcat内部就发生了错误, 导致死循环, 同样的的因缺少日志打印, 而不能迅速定位是哪个url请求触发了bug; > > 如果采用Arthas的watch机制, 也就意味着不能直接从已经出错的线程栈堆栈中提取变量信息, 而必须等待下次bug触发才能获取到一些信息; > 但是在已经出错的线程栈帧中, 应该是有method调用链路中一些变量信息的, 如果能够展示出来, 或许对迅速定位bug原因有极大帮助. > >...

> 就需要了解一段时间内服务到底加载了哪些对象,这些对象的大小情况,最好是能知道对象是被哪个线程创建的,甚至调用栈是什么 Java Yourkit Profiler 有一个Object Allocations 分析,可以收集一段时间内JVM创建的对象,支持按照调用栈汇总: https://www.yourkit.com/docs/java/help/objects_view_alloc.jsp

> This is your Intranet address, which no one else can access. You can post pictures for others to read. Launch arthas, attach to any java process , and visit...

下面两个场景会产生较多内存碎片: 1)`sc -d` 查询类详细信息,每个类需要创建一个vo 2)`sm` 每个方法会创建一个vo 而对于 `sc` 查询结果数量很多也不会产生大量内存碎片,只是一个size很大的List列表,也不会新增String对象,不需要限制。 有时需要使用组合命令查询过滤,限制数量会导致这种方式不能用了。

请修改一下代码,满足下面的要求。 只限制下面两个场景的类匹配数量: 1)`sc -d class-pattern` 查询类详细信息 2)`sm class-pattern [method-pattern] [-d]` 查询方法 下面的不能限制: 1)`sc class-pattern` 查询类名

不能影响这种组合命令的使用: `sc *List | wc -l`

> 这是不是sm不-n就无效了!!! `sm -n 200` 和 `sm -n -1 `都有效

> 你这里说的“用户设置后自动匹配目标方法的lambda行数。”,是指把lambda转换后的方法行数替换成源码对应的lambda语句行数吗? 改为:比如新增一个选项 --with-lambda ,用户设置后自动匹配目标方法包含的所有lambda函数。

We can use the feature option to turn on the non-metal mode, corresponding to the USE_METAL_API flag。Use Metal mode by default。