在最近发布的 2013 版 Java Profiler 中,YourKit 着重提升了它的高层(level)数据收集功能。所谓的 J2EE 高层性能分析的目的是能够洞悉逻辑处理而不仅仅是提供时间信息。
高层性能分析所需要的数据——例如 SQL 语句、JNDI 调用或者 JSP 请求——是使用探针(probes)收集的。在之前的版本中,这些探针是通过字节码的再转换附加到代码上或者从代码中移除的。这一过程造成了一些负载同时还需要类的再转换,此外该功能在使用的 JVM 上还有可能会被禁用。
在 2013 版的 Java Profiler 中,探针现在始终都会被附加到代码上,但是激活(activation)和停用(deactivation)是由探针代码内部简单的复选框(checks)控制的。
除了减少开销之外,这样还可以让探针状态的变化立即生效。
探针有 3 种状态:on、off 和 auto ,在 CPU 性能分析模式下 auto 将会激活探针。
性能图表(Performance Charts)主要的新功能是能够对探针收集的数据进行可视化和关联。例如,它能够将高 CPU 负载和数据库调用的数量或者将内存消耗和 servlet 调用的数量关联起来。这些类型的高层分析通常是由 APM 工具提供的,并不会展现在分析工具里面,因为后者所做的工作更加细致。但是,如果你想要查看系统中的哪些部分是相互影响的,那么关联功能给出了一个很好的切入点。
CPU 性能分析增加了配置项:
- 现在还能够分析那些通常会被排除的方法,例如 getter 和 setter 函数。
- UI 可以选择性地显示那些执行时间在 1 毫秒之内的方法。
对于性能分析,同样也有一些新功能:
- 对于 _Date_ 或者原始类型包装器这样的简单对象其对应的值会被显示出来。这样不需要进入它们就能够查看它们所代表的值,加快了分析的速度。
- 以后将无法展开对象树中的自引用(Self References),这样可以防止用户进入无限递归的引用路径。
当然,为了包含默认方法的性能分析新版本还扩展了 Java 8 的支持,同时所有新版本的 IDE 都支持集成。使用 TestNG 执行测试现在也能够很容易地分析。
YourKit 给出的报价是每个开发者 $499,或者每个浮动许可 $2,499。如果购买时间不满一年那么升级是免费的,否则的话只能享受 40% 的优惠。
评论