Scala分析器?
Posted
技术标签:
【中文标题】Scala分析器?【英文标题】:Scala profiler? 【发布时间】:2010-11-23 07:53:46 【问题描述】:我最近开始使用 Scala 编程。我正在寻找一个免费的 Scala 分析器。阅读该语言的官方网站后,我找到了YourKit,但该程序不是免费的。
谷歌搜索“scala profiler”没有给我任何相关结果。
那么我如何分析我用 Scala 编写的程序?我更喜欢 Netbeans 或 Eclipse 的图形插件。但是如果没有这样的东西,那么控制台就可以了。
谢谢:)
【问题讨论】:
看看developer.lightbend.com/blog/…,他们谈论如何使用这个分析器:github.com/jvm-profiling-tools/async-profiler 【参考方案1】:鉴于 Scala 在 Java 虚拟机 (JVM
) 上运行,您可以使用 JVM
工具 JConsole
和 VisualVM
来分析应用程序。或者,任何 Java 分析器都应该可以工作(例如 YourKit,正如你已经提到的)
VisualVM
自1.6.0_10
以来已与 JDK 捆绑在一起,它基于 NetBeans 分析器。您可以捕获内存使用情况、代码性能热点等:
C:> %JAVA_HOME%\bin\jvisualvm
【讨论】:
谢谢。我下载了 JVisualVM,然后按照这里的指南visualvm.dev.java.net/gettingstarted.html,它工作正常。 还有一个问题:程序只显示热点在哪里。如何使其以“分层”模式显示?即哪个函数调用哪个。 JVisualVM 能做到吗?谢谢:) @Phuc:是的,您需要为此功能拍摄快照。该按钮位于热点列表上方。【参考方案2】:我已尝试使用 jvisualvm(netbeans 内部和外部),但在分析报告中看不到任何 scala 方法调用(仅底层 java 库方法调用)。对我来说,它看起来像一个错误,但我可能错过了一些明显的东西。无论如何,这是我在 netbeans.org 上写的一份问题报告,其中包含详细信息:171388
如果这里有人成功使用 JVisualVM 对 Scala 代码进行 CPU 配置,请告诉我。
【讨论】:
我遇到了同样的问题。我没有看到任何 Scala 方法。 我也遇到了同样的问题,但是可以通过单击 Profiler 页面上的“设置”复选框并正确配置目标和忽略的类来轻松解决。在我的例子中,一个 java.* ignore 规则阻止了底层 Scala 代码的分析以上是关于Scala分析器?的主要内容,如果未能解决你的问题,请参考以下文章