性能分析配置选项编辑

universal_profiling_integration_enabled ( [1.50.0] 在 1.50.0 中添加。 )编辑

如果启用,apm 代理将与其在同一主机上运行的 Elastic Universal Profiling 的性能分析数据相关联。

默认 类型 动态

false

布尔值

false

Java 系统属性 属性文件 环境

elastic.apm.universal_profiling_integration_enabled

universal_profiling_integration_enabled

ELASTIC_APM_UNIVERSAL_PROFILING_INTEGRATION_ENABLED

universal_profiling_integration_buffer_size ( [1.50.0] 在 1.50.0 中添加。 )编辑

该功能需要缓冲结束的本地根跨度一小段时间,以确保已收到其所有性能分析数据。此配置选项以跨度数量配置缓冲区大小。每秒的本地根跨度数量越高,此缓冲区大小就应该设置得越高。如果代理无法由于缓冲区大小不足而缓冲跨度,它将记录警告。这将导致跨度立即导出,而不是与可能不完整的性能分析关联数据一起导出。

默认 类型 动态

4096

整数

false

Java 系统属性 属性文件 环境

elastic.apm.universal_profiling_integration_buffer_size

universal_profiling_integration_buffer_size

ELASTIC_APM_UNIVERSAL_PROFILING_INTEGRATION_BUFFER_SIZE

universal_profiling_integration_socket_dir ( [1.50.0] 在 1.50.0 中添加。 )编辑

该扩展需要将套接字绑定到文件以与通用性能分析主机代理通信。此配置选项可用于更改位置。请注意,由于操作系统限制,总路径名(包括套接字)不能超过 100 个字符。如果未设置,将使用 java.io.tmpdir 系统属性的值。

默认 类型 动态

<无>

字符串

false

Java 系统属性 属性文件 环境

elastic.apm.universal_profiling_integration_socket_dir

universal_profiling_integration_socket_dir

ELASTIC_APM_UNIVERSAL_PROFILING_INTEGRATION_SOCKET_DIR

profiling_inferred_spans_enabled ( [1.15.0] 在 1.15.0 中添加。 实验性)编辑

此功能目前处于实验阶段,这意味着它默认情况下处于禁用状态,并且不能保证在将来的版本中向后兼容。

设置为 true 以使代理基于 async-profiler(一种采样或统计性能分析器)为方法执行创建跨度。

由于采样性能分析器的工作原理,推断跨度的持续时间并不精确,而只是估计值。profiling_inferred_spans_sampling_interval 允许您微调准确性和开销之间的权衡。

推断跨度是在性能分析会话结束后创建的。这意味着在 UI 中显示常规跨度和推断跨度之间存在延迟。

仅支持平台线程。不支持虚拟线程,也不会对其进行性能分析。

此功能在 Windows 和 OpenJ9 上不可用。

dynamic config

默认 类型 动态

false

布尔值

true

Java 系统属性 属性文件 环境

elastic.apm.profiling_inferred_spans_enabled

profiling_inferred_spans_enabled

ELASTIC_APM_PROFILING_INFERRED_SPANS_ENABLED

profiling_inferred_spans_logging_enabled ( [1.37.0] 在 1.37.0 中添加。 )编辑

默认情况下,async profiler 会将有关缺少 JVM 符号的警告消息打印到标准输出。将此选项设置为 true 以抑制此类消息。

dynamic config

默认 类型 动态

true

布尔值

true

Java 系统属性 属性文件 环境

elastic.apm.profiling_inferred_spans_logging_enabled

profiling_inferred_spans_logging_enabled

ELASTIC_APM_PROFILING_INFERRED_SPANS_LOGGING_ENABLED

profiling_inferred_spans_sampling_interval ( [1.15.0] 在 1.15.0 中添加。 )编辑

在性能分析会话中收集堆栈跟踪的频率。设置越低,持续时间越准确。这会以更高的开销和更多与潜在无关操作相关的跨度为代价。推断性能分析跨度的最小持续时间与该设置的值相同。

dynamic config

支持持续时间后缀 mssm。例如:50ms

默认 类型 动态

50ms

TimeDuration

true

Java 系统属性 属性文件 环境

elastic.apm.profiling_inferred_spans_sampling_interval

profiling_inferred_spans_sampling_interval

ELASTIC_APM_PROFILING_INFERRED_SPANS_SAMPLING_INTERVAL

profiling_inferred_spans_min_duration ( [1.15.0] 在 1.15.0 中添加。 )编辑

推断跨度的最小持续时间。请注意,最小持续时间也由采样间隔隐式设置。但是,增加采样间隔也会降低推断跨度持续时间的准确性。

dynamic config

支持持续时间后缀 mssm。例如:0ms

默认 类型 动态

0ms

TimeDuration

true

Java 系统属性 属性文件 环境

elastic.apm.profiling_inferred_spans_min_duration

profiling_inferred_spans_min_duration

ELASTIC_APM_PROFILING_INFERRED_SPANS_MIN_DURATION

profiling_inferred_spans_included_classes ( [1.15.0] 在 1.15.0 中添加。 )编辑

如果设置,代理将仅为与该列表匹配的方法创建推断跨度。设置值可能会略微降低开销,并且可以通过仅为您感兴趣的类创建跨度来减少混乱。例如:org.example.myapp.*

此选项支持通配符 *,它匹配零个或多个字符。例如:/foo/*/bar/*/baz**foo*。匹配默认情况下不区分大小写。在元素前面加上 (?-i) 使匹配区分大小写。

dynamic config

默认 类型 动态

*

列表

true

Java 系统属性 属性文件 环境

elastic.apm.profiling_inferred_spans_included_classes

profiling_inferred_spans_included_classes

ELASTIC_APM_PROFILING_INFERRED_SPANS_INCLUDED_CLASSES

profiling_inferred_spans_excluded_classes ( [1.15.0] 在 1.15.0 中添加。 )编辑

排除不应为其创建性能分析器推断跨度的类。

此选项支持通配符 *,它匹配零个或多个字符。例如:/foo/*/bar/*/baz**foo*。匹配默认情况下不区分大小写。在元素前面加上 (?-i) 使匹配区分大小写。

dynamic config

默认 类型 动态

(?-i)java.*, (?-i)javax.*, (?-i)sun.*, (?-i)com.sun.*, (?-i)jdk.*, (?-i)org.apache.tomcat.*, (?-i)org.apache.catalina.*, (?-i)org.apache.coyote.*, (?-i)org.jboss.as.*, (?-i)org.glassfish.*, (?-i)org.eclipse.jetty.*, (?-i)com.ibm.websphere.*, (?-i)io.undertow.*

列表

true

Java 系统属性 属性文件 环境

elastic.apm.profiling_inferred_spans_excluded_classes

profiling_inferred_spans_excluded_classes

ELASTIC_APM_PROFILING_INFERRED_SPANS_EXCLUDED_CLASSES

profiling_inferred_spans_lib_directory ( [1.18.0] 在 1.18.0 中添加。 )编辑

性能分析要求将 async-profiler 共享库导出到临时位置,并由 JVM 加载。支持此位置的分区必须可执行,但是,在某些服务器硬化环境中,noexec 可能在标准 /tmp 分区上设置,从而导致 java.lang.UnsatisfiedLinkError 错误。将此属性设置为备用目录(例如 /var/tmp)以解决此问题。如果未设置,将使用 java.io.tmpdir 系统属性的值。

默认 类型 动态

<无>

字符串

false

Java 系统属性 属性文件 环境

elastic.apm.profiling_inferred_spans_lib_directory

profiling_inferred_spans_lib_directory

ELASTIC_APM_PROFILING_INFERRED_SPANS_LIB_DIRECTORY