我正在嘗試使用 Scala 開發 Akka 應用程式,我想使用 Lightbend 遙測記錄應用程式行為:Cinnamon Grafana Prometheus。
我按照本教程https://developer.lightbend.com/docs/telemetry/current//setup/cinnamon-agent-sbt.html使用 sbt 設定了所有內容
Eveything 運行良好,但 Cinnamon 僅在我使用命令列運行我的應用程式時啟動
sbt clean compile
sbt run
我可以在控制臺中看到日志
[info] [INFO] [02/14/2022 10:58:15.480] [main-1] [Cinnamon] Agent version 2.16.2
[info] [INFO] [02/14/2022 10:58:16.362] [main-1] [Cinnamon] Agent found Java Futures version: 1.8.0_311
[info] [INFO] [02/14/2022 10:58:16.436] [main-1] [Cinnamon] Agent found Scala version: 2.13.8
[info] [INFO] [02/14/2022 10:58:16.436] [main-1] [Cinnamon] Agent found Scala Futures version: 2.13.8
當我從 IntelliJ(運行)運行它或通過 set-assembly 構建 fat jar 并使用 java -jar 運行它時,Cinnamon 不會啟動。
任何人都可以幫助我理解為什么?
uj5u.com熱心網友回復:
它歸結為-javaagent在啟動 jvm 時傳遞開關。
當你通過運行應用程式時,sbt 可以為你做這件事sbt run。當您從 intellij 或打包的 jar 運行它時,該開關不會傳遞給 jvm,因此 Cinnamon 沒有運行。
在 intellij 中,您可以去運行配置并添加-javaagent path/to/cinnamon-agent.jarin config。如果您通過java jar your-jar.jar將開關添加到命令列來運行您的 jar。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/424392.html
