mirror of
https://github.com/alibaba/arthas.git
synced 2024-04-21 10:21:39 +00:00
fix stack command NullPointerException. #1674
This commit is contained in:
+1
-4
@@ -19,7 +19,6 @@ import java.util.Date;
|
||||
public class StackAdviceListener extends AdviceListenerAdapter {
|
||||
private static final Logger logger = LoggerFactory.getLogger(StackAdviceListener.class);
|
||||
|
||||
private final ThreadLocal<StackModel> stackThreadLocal = new ThreadLocal<StackModel>();
|
||||
private final ThreadLocalWatch threadLocalWatch = new ThreadLocalWatch();
|
||||
private StackCommand command;
|
||||
private CommandProcess process;
|
||||
@@ -33,7 +32,6 @@ public class StackAdviceListener extends AdviceListenerAdapter {
|
||||
@Override
|
||||
public void before(ClassLoader loader, Class<?> clazz, ArthasMethod method, Object target, Object[] args)
|
||||
throws Throwable {
|
||||
stackThreadLocal.set(ThreadUtil.getThreadStackModel(loader, Thread.currentThread()));
|
||||
// 开始计算本次方法调用耗时
|
||||
threadLocalWatch.start();
|
||||
}
|
||||
@@ -62,8 +60,7 @@ public class StackAdviceListener extends AdviceListenerAdapter {
|
||||
}
|
||||
if (conditionResult) {
|
||||
// TODO: concurrency issues for process.write
|
||||
// TODO: should clear stackThreadLocal?
|
||||
StackModel stackModel = stackThreadLocal.get();
|
||||
StackModel stackModel = ThreadUtil.getThreadStackModel(advice.getLoader(), Thread.currentThread());
|
||||
stackModel.setTs(new Date());
|
||||
process.appendResult(stackModel);
|
||||
process.times().incrementAndGet();
|
||||
|
||||
Reference in New Issue
Block a user