1

将 javaagent 附加到代理中的 dynatrace 中的 java 进程是一种黑魔法。

我没有找到环境JAVA_TOOL_OPTIONSJAVA_OPTS节点。

但是我发现在引导路径(sun.boot.class.path)中添加了一些代理罐子。

我想了解更多关于java黑魔法的信息。谁能解释一下?

4

1 回答 1

0

它可能使用称为 JVMTI 的 JVM API,请参阅https://en.wikipedia.org/wiki/Java_Virtual_Machine_Tools_Interface,这允许将代理代码注入已启动的 Java 应用程序,该应用程序检查字节码,还可以修改字节码以执行此操作工作。

这需要本机代码,因为接口低于 Java 类的实际执行。

还有一个 java 代理,请参见此处此处获取一些描述。这由其他监控工具使用,但使用本机代理允许读取和控制应用程序的更多方面,以读取监控和性能信息,这解释了 Dynatrace 可以做的一些更强大的事情。

于 2018-07-21T07:14:08.413 回答