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 工具 JConsoleVisualVM 来分析应用程序。或者,任何 Java 分析器都应该可以工作(例如 YourKit,正如你已经提到的)

VisualVM1.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分析器?的主要内容,如果未能解决你的问题,请参考以下文章

使用Scala和Spark进行大数据分析

Scala简单计算实例,其在数据分析方面的优势体会

大数据学习之Scala中main函数的分析以及基本规则

原创案例分享用户行为分析--见证scala的强大

Spark 实践——用Scala和Spark进行数据分析

第1节 Scala基础语法:scala中的方法源码分析