Java应用程序分析 [英] Java application profiling

查看:215
本文介绍了Java应用程序分析的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找一个Java代码分析器,我可以用它来分析我的应用程序(它是一个在后端运行的服务)在生产中(所以意味着低头,它不能减慢我的应用程序)。主要是我想调用树分析,也就是说a()调用b()然后b()调用c(),然后a()b()和c()花了多少时间,包括和排他。

I am looking for a Java code profiler which I can use to profile my application (its a service which runs in backend) on production (so means low over head, and it must not slow down my application). Primarily I want calling tree profiling, that is if a() calls b() and then b() calls c(), then how much time a() b() and c() took, both inclusively and exclusively.

看过 jvisualvm jprofiler ,但这不是什么我正在寻找,因为我无法将我的生产应用程序绑定到它们,因为它会导致严重的性能问题。

Have seen jvisualvm and jprofiler, but this is not what I am looking for, because I cannot tie my production application to them as it will cause a major performance issue.

此外,我确实通过指标 https://github.com/dropwizard/metrics ),但它没有给我一个分析调用树的功能。

Also, I did go through metrics (https://github.com/dropwizard/metrics), but it does not give me a functionality to profile the calling tree.

Callgrind http://valgrind.org/docs/manual/cl-manual.html )类型库是我需要的,因为它提供了调用树分析功能和高级选项,如避免调用循环(递归)。但是我不确定Callgrind是否可以用于生产,因为它在程序终止时转储数据。

Callgrind (http://valgrind.org/docs/manual/cl-manual.html) type library is what I need, as it gives calling tree profiling functionality and advanced options like avoiding calling cycles (recursion). But I am not sure that Callgrind can be used on production as it dumps data when program terminates.

任何人都可以建议用于生产的java的好的调用树分析器在不影响性能的情况下?

Can anyone suggest good calling tree profiler for java that can be used on production without compromising the performance?

推荐答案

看看 Java Mission Control 飞行记录器。从Oracle JDK 7 Update 40(7u40)发布开始,Java Mission Control与HotSpot JVM捆绑在一起,因此它具有高度集成性,并且声称对运行时性能影响很小。我刚开始看它,我确实看到了一些调用树功能。

Take a look at Java Mission Control in conjunction with Flight Recorder. Starting with the release of Oracle JDK 7 Update 40 (7u40), Java Mission Control is bundled with the HotSpot JVM, so it is highly integrated and purports to have small effects on run-time performance. I have only just started looking at it, and I do see some call tree functionality.

这篇关于Java应用程序分析的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆