当前位置: 首页 > 知识库问答 >
问题:

如何使用JProfiler检测和测量特定方法的不同路径?

须原
2023-03-14

我在不需要的if-else代码分支中使用了标记方法:这些分支并不慢,但在相反的分支中有一个更高效的实现。现在,我想使用JProfiler找出这些不需要的分支的所有路径(包括它们的重要性),以修复代码,从而运行到首选分支。此外,我希望以最少的分析开销进行检测/测量。

我发现采样不起作用,因为标记方法执行得太快,无法将其显示在热点中。此外,它可能执行得不够频繁。

我也不知道用仪器来做。同样,这种方法甚至没有出现在热点中。

在理想情况下,我会告诉JProfiler只使用插装来监视我的标记方法,然后将调用图仅限于对该标记方法的调用。

这可能吗?还有其他有效的方法来做我想做的事吗?

共有1个答案

安博文
2023-03-14

为此,您必须使用检测。在调用树中找到标记方法,然后调用

Analyze->Calculate Backtraces To Selected Method

关联菜单或工具栏中的操作。

 类似资料:
  • 我正在尝试评测(使用jprofiler)linux机器上tomcat中运行的应用程序。tomcat使用不同的用户帐户运行,我没有访问该tomcat帐户的权限。我正在尝试用我的用户帐户运行jprofiler。但是Jprofiler没有检测到tomcat使用的jvm。 有没有办法检测使用不同于jprofiler的用户帐户运行的jvm? 谢谢你的帮助谢谢

  • 我在使用JProfiler时面临一个问题:问题是它无法检测正在运行的WebSphere的JVM。 我看到WebSphere作为本地系统帐户作为Windows服务运行。因此,我尝试了“show Services”选项,但它仍然无法检测到JVM。 解决这个问题真的花了我很多时间,有人能帮我吗?

  • 我正在Ubuntu 18.04服务器上用OpenJDK 11运行Tomcat 9(作为用户)。我希望能够将JProfiler 11连接到Tomcat进程。 在过去,我只是使用这个选项通过ssh连接到远程JVM,而JProfiler可以定位进程。在这台机器上,JProfiler从未找到Tomcat进程。 我尝试使用su和sudo选项切换到tomcat用户。我甚至启用了直接作为tomcat登录。无论如

  • 我正在努力学习如何检测循环。我看到很多使用递归的例子,但我想以迭代的方式实现。这是我的密码 它没有按预期工作 我在这里遗漏了什么逻辑?

  • 问题内容: 我想编写一个简单的Java代理,它可以打印所检测的Java程序调用的方法的名称。 例如,我要检测的Java程序是: 我想显示这样的东西: 谢谢你的帮助! 问题答案: 您可以使用Javassist之类的工具库来执行此操作。 让我为您提供一个方法的示例,您可以使用Javassist或反射将其扩展到所有方法: 检查此链接以获取详细信息: http // www.csg.ci.iu- toky

  • 问题内容: 我想用JUnit测试以下方法: 坦白说,我想出的唯一一件事就是基本上将相同的逻辑复制到测试中。当然,这可以防止方法被意外破坏,但是听起来有点违反直觉。 有什么更好的方法来测试此方法? 问题答案: 在单元测试中,您可以更改属性的值: 然后,您可以测试/调用您的方法以使用断言检查其返回的内容。 为了更容易设置System属性并在测试完成时取消设置该属性(从而促进测试隔离,自我约束),可以使