arthas 使用ongl监控非static变量值
时间: 2023-11-09 22:28:49 浏览: 46
在Arthas中,使用OGNL表达式监控非静态变量的值需要使用`watch`命令。`watch`命令可以用于监视Java对象的属性和方法,包括非静态变量。
下面是一个使用OGNL表达式监控非静态变量的值的示例:
```
$ watch com.example.demo.DemoController demoService.demoObj.name
```
在上面的示例中,`com.example.demo.DemoController`是要监视的类的完全限定名,`demoService.demoObj.name`是要监视的非静态变量的名称。该命令将监视`DemoController`类中的`demoObj`对象的`name`属性,并在其发生更改时显示通知。
需要注意的是,`watch`命令只能监视单个对象的属性或方法。如果想要监视多个对象的属性或方法,请使用`watchAll`命令。
希望这能帮助您使用Arthas监视非静态变量的值。如果您需要更多的帮助,请随时提出问题。
相关问题
arthas 使用指南
arthas 是一款开源的Java诊断工具,它主要用于分析、调试和监控Java应用程序。以下是关于如何使用 arthas 的指南:
1. 安装和启动:首先,我们需要安装 arthas。它支持多种安装方式,包括使用Maven,或者直接下载可执行的jar文件。安装完成后,可以使用命令行工具或者图形化的界面来启动 arthas。
2. 连接到目标应用程序:在启动 arthas 后,我们需要连接到目标应用程序。可以通过输入目标的进程ID或者应用程序的名称进行连接。arthas 会自动分析目标应用程序,并加载相关的类和方法。
3. 进行诊断和调试:连接成功后,可以开始进行诊断和调试操作。arthas 提供了丰富的命令和功能,包括查看线程状态、打印变量值、监控方法执行、动态修改类和方法等。通过这些功能,可以快速定位和解决应用程序的问题。
4. 了解应用程序的状态:arthas 还提供了一些用于了解应用程序状态的功能。比如,可以查看应用程序的内存使用情况、线程池的状态、类加载信息等。这些信息可以帮助我们了解应用程序的运行状况,以及可能存在的性能问题。
5. 监控和分析:arthas 还支持对应用程序的监控和分析。可以通过设置触发条件,来监控指定的方法执行。同时,arthas 会收集和展示方法的执行时间、调用次数等统计信息,帮助我们发现性能瓶颈和潜在的问题。
总结来说,arthas 是一个功能强大的Java诊断工具,它可以帮助我们快速定位和解决应用程序的问题。通过其丰富的命令和功能,我们可以进行诊断、调试、监控和分析操作,从而提高应用程序的可靠性和性能。
arthas 监控jvm 线程
Arthas是一个非常方便的Java应用性能诊断工具,可以帮助我们监控和分析JVM线程。
Arthas通过所谓的"剖析"对JVM线程进行监控。"剖析"是指在运行时对目标应用程序进行代码注入和操作,从而获取应用程序的运行信息。Arthas使用了Java的Instrumentation API,以字节码增强的方式,动态修改目标类的代码,使之能够收集和输出线程相关的信息。
使用Arthas监控JVM线程非常简单。首先,我们需要在目标Java应用程序的启动命令行中加入Arthas的Agent参数,例如:
java -jar arthas-boot.jar
然后,我们可以使用命令"thread"来监控JVM线程。例如,我们可以使用"thread"命令来查看当前所有线程的堆栈信息,包括线程ID、线程名称、线程状态以及调用栈信息。
另外,Arthas还提供了一些其他的命令来更细粒度地监控线程。比如:"thread -n 5"可以指定仅显示前5个线程的堆栈信息,"thread -t 1"可以指定只显示处于RUNNABLE状态的线程。
此外,Arthas还提供了丰富的过滤条件,用于更准确地筛选要监控的线程。比如,我们可以使用"thread -n 5 -p xxx"来查看线程名称中含有"xxx"的前5个线程的信息。
总而言之,通过Arthas,我们可以方便地监控JVM线程,了解线程的状态和调用栈信息,帮助我们进行应用程序的性能分析和故障排查。使用Arthas,我们可以及时发现线程问题,并采取相应的措施来优化我们的Java应用程序。