java - 在运行时检测 java 类以监控性能 --> 是否有工具已经可以做到这一点?

标签 java monitoring aspectj instrumentation

我一直在研究各种 Java 性能监控工具。

我制定了一个使用 perf4j + aspectj 的解决方案,这样我就可以定义要使用 aspectj 切入点表达式监视哪些类。但是 aspectj 也(AFAIK)不允许您在运行时更改切入点表达式。因此,如果我需要监视新类,我将不得不更改 aop.xml 并重新编译(或者如果使用 AspectJ 加载时编织,则至少重新启动应用程序)。

到目前为止,我还没有发现任何可以在运行时检测类而不需要重新启动应用程序的东西。有没有可以做到这一点的工具/技术?

最佳答案

这些类型的工具通常不会在运行时检测类。相反,他们使用 JVMTI 接口(interface)(如果您不明白这是什么,请用谷歌搜索)。

使用它的产品的主要示例:

你的工具包,JProfiler

有一些开源工具,但我还没有真正发现它们中的任何一个与它们的商业对应物一样完善。

关于java - 在运行时检测 java 类以监控性能 --> 是否有工具已经可以做到这一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11780179/

相关文章:

java - forEach和RemoveIf一起使用会导致ConcurrentModificationException吗?

java - 如何将复选框添加到 JTABLE swing

Java:如何跟踪/监视 CMS 垃圾收集器的 GC 时间?

java - 如何监控HTTP连接池?

Java - 检查另一个 Java 应用程序是否正在运行

aop - aop中什么是散射和缠结

java - 使用带有 JavaConfig 的 Spring IoC 配置 AspectJ 方面?

java - 输入 'y' 后,代码应再次询问选择,但它不会发生

java - 多人回合制游戏架构问题

aop - AspectJ - 编译时 - 编织类型 int JDK 类