性能分析配置选项
编辑性能分析配置选项编辑
universal_profiling_integration_enabled
( [1.50.0] 在 1.50.0 中添加。 )编辑
如果启用,apm 代理将与其在同一主机上运行的 Elastic Universal Profiling 的性能分析数据相关联。
默认 | 类型 | 动态 |
---|---|---|
|
布尔值 |
false |
Java 系统属性 | 属性文件 | 环境 |
---|---|---|
|
|
|
universal_profiling_integration_buffer_size
( [1.50.0] 在 1.50.0 中添加。 )编辑
该功能需要缓冲结束的本地根跨度一小段时间,以确保已收到其所有性能分析数据。此配置选项以跨度数量配置缓冲区大小。每秒的本地根跨度数量越高,此缓冲区大小就应该设置得越高。如果代理无法由于缓冲区大小不足而缓冲跨度,它将记录警告。这将导致跨度立即导出,而不是与可能不完整的性能分析关联数据一起导出。
默认 | 类型 | 动态 |
---|---|---|
|
整数 |
false |
Java 系统属性 | 属性文件 | 环境 |
---|---|---|
|
|
|
universal_profiling_integration_socket_dir
( [1.50.0] 在 1.50.0 中添加。 )编辑
该扩展需要将套接字绑定到文件以与通用性能分析主机代理通信。此配置选项可用于更改位置。请注意,由于操作系统限制,总路径名(包括套接字)不能超过 100 个字符。如果未设置,将使用 java.io.tmpdir
系统属性的值。
默认 | 类型 | 动态 |
---|---|---|
|
字符串 |
false |
Java 系统属性 | 属性文件 | 环境 |
---|---|---|
|
|
|
profiling_inferred_spans_enabled
( [1.15.0] 在 1.15.0 中添加。 实验性)编辑
此功能目前处于实验阶段,这意味着它默认情况下处于禁用状态,并且不能保证在将来的版本中向后兼容。
设置为 true
以使代理基于 async-profiler(一种采样或统计性能分析器)为方法执行创建跨度。
由于采样性能分析器的工作原理,推断跨度的持续时间并不精确,而只是估计值。profiling_inferred_spans_sampling_interval
允许您微调准确性和开销之间的权衡。
推断跨度是在性能分析会话结束后创建的。这意味着在 UI 中显示常规跨度和推断跨度之间存在延迟。
仅支持平台线程。不支持虚拟线程,也不会对其进行性能分析。
此功能在 Windows 和 OpenJ9 上不可用。
默认 | 类型 | 动态 |
---|---|---|
|
布尔值 |
true |
Java 系统属性 | 属性文件 | 环境 |
---|---|---|
|
|
|
profiling_inferred_spans_logging_enabled
( [1.37.0] 在 1.37.0 中添加。 )编辑
默认情况下,async profiler 会将有关缺少 JVM 符号的警告消息打印到标准输出。将此选项设置为 true
以抑制此类消息。
默认 | 类型 | 动态 |
---|---|---|
|
布尔值 |
true |
Java 系统属性 | 属性文件 | 环境 |
---|---|---|
|
|
|
profiling_inferred_spans_sampling_interval
( [1.15.0] 在 1.15.0 中添加。 )编辑
在性能分析会话中收集堆栈跟踪的频率。设置越低,持续时间越准确。这会以更高的开销和更多与潜在无关操作相关的跨度为代价。推断性能分析跨度的最小持续时间与该设置的值相同。
支持持续时间后缀 ms
、s
和 m
。例如:50ms
。
默认 | 类型 | 动态 |
---|---|---|
|
TimeDuration |
true |
Java 系统属性 | 属性文件 | 环境 |
---|---|---|
|
|
|
profiling_inferred_spans_min_duration
( [1.15.0] 在 1.15.0 中添加。 )编辑
推断跨度的最小持续时间。请注意,最小持续时间也由采样间隔隐式设置。但是,增加采样间隔也会降低推断跨度持续时间的准确性。
支持持续时间后缀 ms
、s
和 m
。例如:0ms
。
默认 | 类型 | 动态 |
---|---|---|
|
TimeDuration |
true |
Java 系统属性 | 属性文件 | 环境 |
---|---|---|
|
|
|
profiling_inferred_spans_included_classes
( [1.15.0] 在 1.15.0 中添加。 )编辑
如果设置,代理将仅为与该列表匹配的方法创建推断跨度。设置值可能会略微降低开销,并且可以通过仅为您感兴趣的类创建跨度来减少混乱。例如:org.example.myapp.*
此选项支持通配符 *
,它匹配零个或多个字符。例如:/foo/*/bar/*/baz*
、*foo*
。匹配默认情况下不区分大小写。在元素前面加上 (?-i)
使匹配区分大小写。
默认 | 类型 | 动态 |
---|---|---|
|
列表 |
true |
Java 系统属性 | 属性文件 | 环境 |
---|---|---|
|
|
|
profiling_inferred_spans_excluded_classes
( [1.15.0] 在 1.15.0 中添加。 )编辑
排除不应为其创建性能分析器推断跨度的类。
此选项支持通配符 *
,它匹配零个或多个字符。例如:/foo/*/bar/*/baz*
、*foo*
。匹配默认情况下不区分大小写。在元素前面加上 (?-i)
使匹配区分大小写。
默认 | 类型 | 动态 |
---|---|---|
|
列表 |
true |
Java 系统属性 | 属性文件 | 环境 |
---|---|---|
|
|
|
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 系统属性 | 属性文件 | 环境 |
---|---|---|
|
|
|