针对同一个方法,在生产环境上,无法确认到底是通过哪几个方法,调用的此方法导致的高并发情况,可以根据日志,进行记录Trace 执行链;
语句:
String className = Thread.currentThread().getStackTrace()[2].getClassName(); //调用的类
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); //调用的方法
int lineNumber = Thread.currentThread().getStackTrace()[2].getLineNumber(); //调用的行号
Thread.currentThread().getStackTrace() 是什么?
可以输出整个调用链,可以分析到每一个执行链的信息;
private void methodInterceptor() {
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
for(StackTraceElement stackTraceElement : stackTraceElements) {
System.out.println(stackTraceElement);
}
}
&spm=1001.2101.3001.5002&articleId=116942459&d=1&t=3&u=4cea87ac6f4e40a9b1cba91635d2b5d3)
860

被折叠的 条评论
为什么被折叠?



