有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

将Scala应用程序与NewRelic Java代理集成

我想使用java agant将Scala应用程序(Kestrelhttp://robey.github.com/kestrel)与NewRelic集成,但由于错误而失败

sh scripts/devel.sh 
Starting kestrel in development mode... 
Mar 28, 2013 18:15:15 +0800 NewRelic 1 INFO: Agent is using Logback 
Mar 28, 2013 18:15:15 +0800 NewRelic 1 INFO: Loading configuration file "/tmp/newrelic.yml" 
Mar 28, 2013 6:15:24 PM java.util.logging.LogManager$RootLogger log 
FATAL: Error in config file: %s com.twitter.util.Eval$CompilerException: Compiler exception error: line 1: object twitter is not a member of package com

import com.twitter.conversions.storage._ 
^ at com.twitter.util.Eval$StringCompiler.apply(Eval.scala:533) 
at com.twitter.util.Eval$StringCompiler$$anonfun$apply$3.apply(Eval.scala:544) 
at com.twitter.util.Eval$StringCompiler$$anonfun$apply$3.apply(Eval.scala:543) 
at scala.Option.getOrElse(Option.scala:108) 
at com.twitter.util.Eval$StringCompiler.apply(Eval.scala:543) 
at com.twitter.util.Eval.applyProcessed(Eval.scala:196) at com.twitter.util.Eval.apply(Eval.scala:167) at com.twitter.ostrich.admin.RuntimeEnvironment.loadConfig(RuntimeEnvironment.scala:230) 
at com.twitter.ostrich.admin.RuntimeEnvironment.loadRuntimeConfig(RuntimeEnvironment.scala:256) 
at net.lag.kestrel.Kestrel$.main(Kestrel.scala:307) at net.lag.kestrel.Kestrel.main(Kestrel.scala)

Mar 28, 2013 6:15:24 PM java.util.logging.LogManager$RootLogger log 
FATAL: error: line 1: object twitter is not a member of package com 
import com.twitter.conversions.storage._

复制步骤:

  • 下载http://robey.github.com/kestrel/download/kestrel-2.4.1.zip
  • 把纽舍利放进去。jar&;纽舍利。yml(带配置)位于另一个文件夹中,例如/tmp/newrelic
  • 编辑脚本/devel。sh,添加javaagent标志

    java-server-Xmx1024m-Dstage=development-Dnewrelic。配置。文件=/tmp/newrelic/newrelic。yml-javaagent:/tmp/newrelic/newrelic。jar-jar“$ROOT_DIR”/kestrel_2.9.2-2.4.1。罐子4。运行脚本/devel。sh,您将看到上面的错误

有什么想法吗?事实上,我已经炒了一张去NewRelic的票,但整整一个月都没有得到他们的答复,我希望社区和@lewis-cirne(NewRelic首席执行官)能对此有所了解


共 (3) 个答案

  1. # 1 楼答案

    即使New Relic支持Scala(我听说可能很快就会出现),Kestrel使用eval似乎是一个更难解决的问题。是否有一个不使用eval的红隼设置,或者是烘焙设置

  2. # 3 楼答案

    随着2013年5月29日NewRelic的Java agent版本2.19.0的发布,Scala及其在Play2.0和2.1框架中的使用得到了极大的支持。您遇到的问题与Scala没有直接关系。Kestrel使用eval进行运行时编译。New Relic的代理设计用于处理预编译的Java字节码,因此不支持eval过程