带有playframework 2.2.3的Yourkit档案器

带有playframework 2.2.3的Yourkit档案器,playframework,playframework-2.2,yourkit,Playframework,Playframework 2.2,Yourkit,我被要求研究Playframework 2.2.3应用程序的一些性能问题。我以前有过PlayFramework1的经验,但我意识到2.x是非常不同的 是否有人在play 2中使用了您的工具包探查器?我通过在framework/build脚本中的java命令中添加一个选项来连接代理。这只会将代理附加到sbt启动器,因此一旦启动真正的应用程序,代理就会死亡 有人能解决这个问题吗?也许我需要使用“play dist” Jon一种方法是创建一个dist,并在那里使用参数运行它,您将在target/uni

我被要求研究Playframework 2.2.3应用程序的一些性能问题。我以前有过PlayFramework1的经验,但我意识到2.x是非常不同的

是否有人在play 2中使用了您的工具包探查器?我通过在framework/build脚本中的java命令中添加一个选项来连接代理。这只会将代理附加到sbt启动器,因此一旦启动真正的应用程序,代理就会死亡

有人能解决这个问题吗?也许我需要使用“play dist”


Jon

一种方法是创建一个dist,并在那里使用参数运行它,您将在
target/universal/stage/bin/yourappname
下获得一个runnable,您可以使用
JAVA\u OPTS
-J-…
参数将参数传递给它

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

javaOptions in Production += "-J-something"

对于任何来这里了解如何让您的工具包与IntelliJ中的Play 2x一起工作的人-以下是我根据公认答案所做的快速总结:

1) 安装您的工具包并验证插件是否显示在IntelliJ中

2) 安装yourkit后,在IntelliJ中编辑了我的运行配置,并将以下选项添加到JVM选项中: -代理路径:C:\PROGRA~2\YOURKI~1\bin\win64\yjpagent.dll


插入您的工具包的路径(x86改为win32)。我在使用windows样式的路径时遇到问题,必须使用它才能工作。在这里你可以找到手册

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

将代理添加到由
sbt dist
生成的存档中,或添加到所述的其他生成目标中

添加插件的步骤如下:

  • 将插件添加到您的SBT构建中,例如,将以下内容添加到
    项目/plugins.SBT

    addSbtPlugin(“com.gilt.sbt”%”sbt yourkit“%”0.0.2”)

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

    启用插件(YourKit)

  • 更多信息可以在上面的插件链接中找到


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

    我选择了“play dist”选项,并设置了JAVA_OPTS=“-agentpath:/tmp/yjp-2013-build-13086/bin/linux-x86-64/libyjpagent.so”。在执行“target/universal/stage/bin/yourappname”之前,我现在附带了探查器,谢谢。