第 2 章 为动态记录配置自定义触发器
当您将目标应用程序配置为加载 Cryostat 代理时,您可以定义一个或多个自定义触发器,然后作为参数传递给代理。
有关配置目标应用程序以加载 Cryostat 代理的更多信息,请参阅配置 Java 应用程序。
2.1. 定义自定义触发器的选项
您可以通过以下任一方式定义自定义触发器:
- 将自定义触发器附加到 Cryostat 代理的 JAR 文件路径
以下示例演示了如何将简单的自定义触发器附加到 Cryostat 代理的 JAR 文件路径:
JAVA_OPTS="-javaagent:/deployments/app/cryostat-agent-shaded.jar=\"[ProcessCpuLoad > 0.2 ; TargetDuration > duration('30s')]~profile\""
如果
ProcessCpuLoad
指标的值大于 30 秒,则前面的触发器指示代理启动 JFR 记录:本例还指示代理使用 JFR 记录的配置集
事件模板。- 使用 JVM 系统属性标记
以下示例演示了如何使用 JVM 系统属性标记指定简单的自定义触发器:
-Dcryostat.agent.smart-trigger.definitions="[ProcessCpuLoad > 0.2 ; TargetDuration > duration(\"30s\")]~profile"
本例使用与上例相同的自定义触发器标准。
- 使用环境变量
以下示例演示了如何使用环境变量指定简单的自定义触发器:
- name: CRYOSTAT_AGENT_SMART_TRIGGER_DEFINITIONS value: "[ProcessCpuLoad > 0.2 ; TargetDuration > duration(\"30s\")]~profile"
本例使用与前面的示例相同的自定义触发器标准。