插件 API
编辑插件 API
编辑Elastic APM Java 代理的插件 API 允许您向代理添加自定义检测,代理将自动应用这些检测,就像它应用内部定义的检测一样。
插件 API 是 OpenTelemetry API,以及对插件 SDK (apm-agent-plugin-sdk) 的依赖,并且需要 1.31.0+ 版本的代理。
pom.xml。
<dependency> <groupId>co.elastic.apm</groupId> <artifactId>apm-agent-plugin-sdk</artifactId> <version>${elastic-apm.version}</version> </dependency>
build.gradle。
compile "co.elastic.apm:apm-agent-plugin-sdk:$elasticApmVersion"
将版本占位符替换为 Maven Central 上的最新版本:
一个 示例仓库 和一篇 文章 提供了向代理添加应用程序自定义检测的详细示例。概述如下:
- 子类
co.elastic.apm.agent.sdk.ElasticApmInstrumentation
- 指定匹配器,定义要检测的类和方法
- 添加检测建议实现
- 创建一个
META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation
文件,其中列出了完整的检测类名,每行一个类名 - 创建一个插件 jar,其中包含检测类、
co.elastic.apm.agent.sdk.ElasticApmInstrumentation
文件以及任何依赖项(除了代理本身之外,尽管包括上面所示的插件 API) - 像往常一样启动您的应用程序和代理,但另外使用 plugins_dir 配置选项 设置为包含创建的插件 jar 的目录(并且该目录应该只包含插件 jar,因为代理将尝试加载该目录中的任何 jar)。
社区插件
编辑为了帮助我们的社区,我们提供了一个 页面,您可以在其中列出您创建的插件,您认为社区可以使用这些插件。