带有播放框架2.2.3的Yourkit分析器

时间:2014-07-04 14:08:35

标签: playframework playframework-2.2 yourkit

我被要求查看Playframework 2.2.3应用程序的一些性能问题。我之前有过playframework 1的经验,但我发现2.x非常不同。

有没有人设法在玩游戏2中使用Yourkit分析器?我设法通过在framework / build脚本中添加java命令的选项来附加代理。这只会将代理程序附加到sbt启动程序,因此一旦启动实际应用程序,代理程序就会终止。

有人有解决方案吗?也许我需要使用' play dist'

乔恩

3 个答案:

答案 0 :(得分:1)

一种方法是创建一个dist并使用参数从那里运行它,您将在target/universal/stage/bin/yourappname下获得一个可以通过JAVA_OPTS-J-...传递参数的runnable参数。

另一种方法是提供相同的参数,但通过你的sbt配置,然后将其传递给相同的脚本(开始只是构建和运行),请注意,因为它是脚本而不是实际的jvm,你需要要发送到JVM的任何参数的-J前缀:

javaOptions in Production += "-J-something"

答案 1 :(得分:0)

对于其他任何人来到这里,了解如何让Yourkit与IntelliJ中的Play 2x一起工作 - 这里是我根据接受的答案做的快速摘要:

1)已安装Yourkit并验证插件是否在IntelliJ中显示。

2)安装yourkit后在IntelliJ中编辑我的运行配置,将以下内容添加到JVM选项:     -agentpath:C:\ PROGRA〜2 \ YOURKI〜1个\ BIN \ Win64的\ yjpagent.dll

将路径插入你的 yourkit(x86代替win32)。我在使用Windows风格路径时遇到了麻烦,并且必须使用DOS short version来实现此功能。在这里,您可以找到Enabling profiling manually上的手册!

答案 2 :(得分:0)

使用Play 2.4,您可以使用SBT插件sbt-yourkit为Unix / Linux系统(不在SBT中运行)上的生产发行版启用YourKit。这将添加适当的YourKit代理共享对象和启动标志,以允许Play在生产中使用代理。

代理已添加到sbt dist生成的存档或其他描述为here的构建目标中。

添加插件的步骤是:

  1. 将插件添加到您的SBT版本,例如将以下内容添加到project/plugins.sbt

    addSbtPlugin("com.gilt.sbt" % "sbt-yourkit" % "0.0.2")

  2. YourKit AutoPlugin添加到项目定义中,例如将以下内容添加到build.sbt

    enablePlugins(YourKit)

  3. 上面的插件链接提供了更多信息。

    注意:这不会在Play的开发模式下启用YourKit调试。如果您想在本地使用YourKit测试您的程序,可能最简单的方法是使用universal:stage目标创建一个包含您的应用程序的目录 - 这通常会在<PROJECT_DIRECTORY>/target/universal/stage下创建一个目录,并且您可以从bin/目录中的脚本运行您的应用程序(包括YourKit集成)。