9

使用以前版本的 Java Play 框架,我们可以提供命令行 argent 来加载监控代理。例如,NewRelic 可以加载为

./path/to/start -javaagent:/path/to/newrelic.jar

随着 2.2 的发布,Play 团队对启动脚本进行了重大更改。据我所知,它不再支持 javaagents。还有其他人使用 Java Play 2.2+ 运行 NewRelic 吗?播放很棒,但如果您无法在生产环境中监控它,它的技术就毫无用处......

4

4 回答 4

14

似乎您可以为Java 选项添加前缀-J(以类似于使用系统属性-D的方式):

$ bin/<app> -J-javaagent:lib/newrelic.jar

在浏览脚本本身时发现了这一点,但在使用摘要中注明:

$ bin/<app> -h
Usage:  [options]    
...
  -J-X               pass option -X directly to the java runtime
                     (-J is stripped)
...
于 2013-09-30T02:18:14.293 回答
1

使用 Play Framework 2.2 中的新本机打包程序,您需要在JAVA_OPTS环境变量中设置 Java 选项。

于 2013-09-28T20:48:25.837 回答
0

这适用于 PlayFramework 2.3.x 我将代理 jar + yml 配置文件复制到 PLAY_APP_ROOT/lib

sbt start -J-javaagent:lib/newrelic.jar
于 2015-02-17T20:47:23.897 回答
0

在 Play Framework 2.2 版中,应用程序启动脚本更改为不同的目录。要加载 javaagent 库,需要指定其完整路径。

例如,如果heroku-javaagent-1.4.jar在项目的lib目录中:

heroku config:set JAVA_OPTS="-Xmx384m -Xss512k -XX:+UseCompressedOops -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+PrintGCDateStamps -javaagent:/app/lib/heroku-javaagent-1.4.jar=stdout=true,lxmem=true"
于 2015-01-02T19:09:49.283 回答