2013-04-27 6 views
3

Я хочу интегрировать приложение Scala (Kestrel, http://robey.github.com/kestrel) с NewRelic использованием Java agant, но не с ошибкойИнтеграция Scala приложение с NewRelic Java Agent

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
  • Путь newrelic.jar & newrelic.yml (с конфигурацией) внутри другую папку, например./TMP/NewRelic
  • Редактирование сценариев/devel.sh, добавьте javaagent флаги

    Java -server -Xmx1024m -Dstage = развитие -Dnewrelic.config.file =/TMP/NewRelic/newrelic.yml -javaagent : /tmp/newrelic/newrelic.jar -jar "$ ROOT_DIR" /kestrel_2.9.2-2.4.1.jar 4. Запустите скрипты/devel.sh, и вы увидите вышеприведенную ошибку.

Идея? На самом деле у меня есть огнь билета на NewRelic, но не получил никакого ответа от них в течение целого месяца, я надеюсь, что сообщество и @lewis-cirne (генеральный директор NewRelic) могут защитить некоторый свет на этом

ответ

2

Там нет поддержки Scala в New Relic Java Agent https://newrelic.com/docs/java/new-relic-for-java

+0

На самом деле это действительно работает, но только не удалось загрузить путь к классу, когда Twitter Finagle компилирует конфигурацию. – Ryan

+0

Единственное, что вы, вероятно, увидите, это статистика JVM и, возможно, некоторые свернутые транзакции в Интернете. Вы не увидите ни одной статистики, которую вы использовали для веб-приложения Java, потому что нет никаких инструментов для Scala или Kestrel. – Scalayer

1

Даже если новая реликвия должна была поддерживать Scala (что, как я слышал, может скоро появиться), использование eval by Kestrel кажется более жестким орешком для взлома. Есть ли установка для Kestrel, которая не использует eval или это испеченная?

2

С выпуском версии 2.19.0 Java-агента New Relic 29 мая 2013 года значительная поддержка Scala и ее использование в форматах Play 2.0 и 2.1. Проблема, с которой вы сталкиваетесь, не связана напрямую с Scala. Kestrel использует eval, приводящий к компиляции времени выполнения. Агент New Relic предназначен для работы с прекомпилированным байт-кодом Java, поэтому процесс eval не поддерживается.

 Смежные вопросы

  • Нет связанных вопросов^_^