带有playframework 2.2.3的Yourkit档案器
我被要求研究Playframework 2.2.3应用程序的一些性能问题。我以前有过PlayFramework1的经验,但我意识到2.x是非常不同的 是否有人在play 2中使用了您的工具包探查器?我通过在framework/build脚本中的java命令中添加一个选项来连接代理。这只会将代理附加到sbt启动器,因此一旦启动真正的应用程序,代理就会死亡 有人能解决这个问题吗?也许我需要使用“play dist”带有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
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
生成的存档中,或添加到所述的其他生成目标中
添加插件的步骤如下:
项目/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”之前,我现在附带了探查器,谢谢。