仅在通过终端执行程序时才会触发 Lightbend 遥测
Lightbend telemetry gets triggered only when executing the program via terminal
我正在尝试使用 Scala 开发 Akka 应用程序,我想使用 Lightbend Telemetry 记录应用程序行为:Cinnamon Grafana + Prometheus。
我按照本教程使用 sbt 设置了所有内容
https://developer.lightbend.com/docs/telemetry/current//setup/cinnamon-agent-sbt.html
一切正常,但 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没有启动。
谁能帮我理解为什么?
归结为在启动jvm时传递-javaagent
开关。
当您通过 sbt run
运行 应用程序时,sbt 可以为您完成。当您从 intellij 或打包的 jar 运行 它时,该开关不会传递给 jvm,因此 Cinnamon 不是 运行ning。
在 intellij 中,您可以转到 运行 配置并在配置中添加 -javaagent path/to/cinnamon-agent.jar
。如果你 运行 你的 jar 通过 java jar your-jar.jar
只需将开关添加到命令行。
我正在尝试使用 Scala 开发 Akka 应用程序,我想使用 Lightbend Telemetry 记录应用程序行为:Cinnamon Grafana + Prometheus。
我按照本教程使用 sbt 设置了所有内容 https://developer.lightbend.com/docs/telemetry/current//setup/cinnamon-agent-sbt.html
一切正常,但 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没有启动。
谁能帮我理解为什么?
归结为在启动jvm时传递-javaagent
开关。
sbt run
运行 应用程序时,sbt 可以为您完成。当您从 intellij 或打包的 jar 运行 它时,该开关不会传递给 jvm,因此 Cinnamon 不是 运行ning。
在 intellij 中,您可以转到 运行 配置并在配置中添加 -javaagent path/to/cinnamon-agent.jar
。如果你 运行 你的 jar 通过 java jar your-jar.jar
只需将开关添加到命令行。