v6.6 CE Release Notes
创建时间:2025-04-02 最近修改时间:2025-05-18
#1. Backport From 7.0
- AutoTracing
- [2025/01/02] 支持 Tars 协议的采集和追踪,文档。
- [2025/01/16] 网络流日志(
l4_flow_log
)中的非 TCP 流量,将其结束状态(close_type
)从超时调整为正常结束(1)。 - [2025/04/02] 支持 Ping 协议的采集和追踪,文档。
- [2025/04/02] 支持 Dubbo 协议使用 Fastjson 序列化时的采集和追踪,文档。
- [2025/04/15] 支持解析 MySQL 的 Login Response 语句。
- [2025/04/15] 支持解析 TCP Payload 中的多个 DNS 请求。
- [2025/04/28] 丰富文件读写事件(
io_event
)采集的 eBPF Hook 点,提升适配性。 - [2025/05/29] 支持采集 Unix Socket 的调用日志(
l7_flow_log
),支持 TCP/UDP Socket 调用日志与 Unix Socket 调用日志之间的自动追踪。 - [2025/05/29] 支持解析 SRV 类型的 DNS 调用日志,文档 (opens new window)。
- [2025/05/29] 支持解析被截断的 MySQL 协议内容。
- AutoTagging
- [2025/04/28] 优化调用日志、文件读写事件数据中
process_kname
字段的含义,从内核线程名
优化为系统进程
名,提升易读性。 - [2025/04/28] 将同一个云主机、或同一个 K8s 工作负载中
cmdline
相同的进程聚合为唯一的 gprocess,减少冗余的进程信息。 - [2025/04/28] 优化进程匹配器的默认值,文档。
- 默认忽略
sleep/sh/bash/pause/runc
进程信息的采集。 - 默认采集
Java/Python
的进程信息和 OnCPU 剖析数据,并自动将 gprocess 名称记录为 jar/py 文件名,避免均展示为 java/python。 - 默认采集
deepflow-*
的进程信息和 OnCPU 剖析数据。 - 默认采集容器中的进程信息。
- 默认忽略
- [2025/04/28] 优化调用日志(
l7_flow_log
)的响应状态(response_status
)字段含义。- 正常:响应码正常。
- 客户端异常:响应码表示的含义为客户端侧的异常,例如 HTTP 4XX。
- 服务端异常:响应码表示的含义为服务端侧的异常,例如 HTTP 5XX。
- 超时:在一定时间内未采集到响应时,请求会标记为超时。
- Agent
应用会话合并超时设置
配置:DNS 和 TLS 默认 15s,其他协议默认 120s,文档。
- Agent
- 未知:并发请求量超出采集器缓存能力时,最老的请求会标记为未知。
- Agent
会话聚合最大条目数
配置:默认缓存 64K 条请求,文档。
- Agent
- 解析失败:采集到了响应,但由于内容被截断或被压缩等原因,未能解析到响应码。
- Agent
Payload 截取
配置:默认解析 Payload 前 1024 字节,文档。
- Agent
- [2025/04/28] 优化调用日志、文件读写事件数据中
- Server
- [2025/02/11] 支持终止采集器远程升级,优化升级时 Server 的 CPU 资源开销。
- Agent
- [2025/02/11] 支持限制 deepflow-agent 使用的 Socket 数量,文档。
- [2025/03/18] 支持采集 Pod 内部网卡的流量,适用于 Root 网络命名空间下无法直接采集 Pod 网卡流量的场景(例如华为云 CCE Turbo CNI (opens new window)),文档。
- [2025/04/15] 限制 agent 发送数据的带宽消耗,默认允许发送 100Mbps 的数据,文档。
- [2025/04/28] 优化 Agent 中用于应用性能指标的 Cache 的内存占用,通过及时清理失效的 LRU 条目,测试环境下可见整体内存消耗降低 43%。
- [2025/04/28] 聚合存储 LB 探活产生的流日志(
l4_flow_log
),某生产环境下降低了将近 50% 的流日志存储开销,文档。 - [2025/04/28] 优化应用协议识别失败时的资源开销保护机制,避免误禁止应用协议的解析,文档。
- [2025/05/16] 支持压缩发送调用日志和流日志,测试环境下调用日志压缩率可达 8:1,文档。
- [2025/05/29] Agent 发送流量达到限速时,支持选择
丢弃
或等待
的应对策略,默认行为丢弃,可配置为等待以提升数据发送成功率,文档。
#2. v6.6.9 [2024/12/12]
#2.1 Stable Feature
- AutoTracing
- AutoProfiling
- 支持 Python 和 CUDA 的 CPU 性能剖析。
- Java 进程符号表同步机制优化,对业务进程引入的瞬时 CPU 消耗降低了约 50%。
- 函数栈合并效率提升,降低函数栈上报的资源开销,在同名线程较多的场景下有显著性能提升。
- AutoTagging
- 当协议头中存在 TraceID 时,支持关闭 eBPF syscall_trace_id 计算(通过配置
syscall_trace_id_disabled
),以降低对业务性能的影响。 - 支持完全关闭 cBPF 数据采集(通过配置
tap_interface_regex
为空字符串),以降低内存开销。 - 增强进程同步能力,文档。
- 支持仅同步容器内的进程。
- 支持不同步 Socket 信息(仅同步进程信息)。
- 当云平台(Domain)配置了区域白名单时,不再需要调用 Region API。
- 阿里云、腾讯云的 NAT 网关、路由表、负载均衡器获取失败时不影响其他资源信息的同步。
- 当协议头中存在 TraceID 时,支持关闭 eBPF syscall_trace_id 计算(通过配置
- Server
- 优化
genesis*
相关 MySQL 表的存储性能。 - 支持使用 ByConity 替代 ClickHouse,文档。
- 支持使用 ClickHouse 企业版(目前仅支持阿里云),文档 (opens new window)。
- 优化
- Agent
- 支持压缩传输 Profiling 数据,带宽消耗降低 30%。
- 应用日志数据支持压缩传输,带宽消耗降低 95%(CPU 消耗增加 3%)。
- 支持 deepflow-agent 使用一个 Socket 传输所有观测数据,并可通过
multiple_sockets_to_ingester
配置项关闭此特性从而使用多个 Socket 以提升传输性能。 - 在 Linux 启用了 BTF(BPF Type Format)的情况下,当 X86 架构下内核大于等于 5.5 (opens new window)、ARM 架构下内核大于等于 6.0 (opens new window) 时,agent 将会自动使用 fentry/fexit 替代 kprobe/kretprobe,此时可获得约 15% 的性能提升。
- 原有的环境变量
ONLY_WATCH_K8S_RESOURCE
已被替代为K8S_WATCH_POLICY
,文档。
#3. v6.6.8 [2024/11/14]
#3.1 Stable Feature
- Server
- 默认聚合生成粒度为 1h、1d 的网络性能指标和应用性能指标。
- Agent
- 配置重构,文档。
#4. v6.6.7 [2024/10/31]
#4.1 Beta Feature
- AutoTagging
- 增强进程同步能力,文档。
- 支持仅同步容器内的进程。
- 支持不同步 Socket 信息(仅同步进程信息)。
- 增强进程同步能力,文档。
#5. v6.6.6 [2024/10/11]
#5.1 Backward Incompatible Change
- AutoTracing
- 为了降低资源开销并避免误识别,agent 默认仅会解析如下应用协议(如需开启其他协议的解析请配置
l7-protocol-enabled
):- HTTP、HTTP2/gRPC、MySQL、Redis、Kafka、DNS、TLS。
- 提醒:当使用 Wasm 解析私有协议时,请将 Custom 添加到
l7-protocol-enabled
中。
- 为了降低资源开销并避免误识别,agent 默认仅会解析如下应用协议(如需开启其他协议的解析请配置
#5.2 Stable Feature
- Agent
- 支持通过环境变量指定和禁用 K8s List & Watch(感谢
Hyzhou
:FR (opens new window)、FR (opens new window))。 - 降低 Agent 的 eBPF 内存开销(感谢
qyzhaoxun
:FR (opens new window))。
- 支持通过环境变量指定和禁用 K8s List & Watch(感谢
#6. v6.6.5 [2024/09/24]
#6.1 Beta Feature
- AutoProfiling
- Java 进程符号表同步机制优化,对业务进程引入的瞬时 CPU 消耗降低了约 50%。
- 函数栈合并效率提升,降低函数栈上报的资源开销,在同名线程较多的场景下有显著性能提升。
- Server
- 优化
genesis*
相关 MySQL 表的存储性能。 - AutoTagging:当云平台(Domain)配置了区域白名单时,不再需要调用 Region API。
- AutoTagging:阿里云、腾讯云的 NAT 网关、路由表、负载均衡器获取失败时不影响其他资源信息的同步。
- 优化
- Agent
- 在 Linux 启用了 BTF(BPF Type Format)的情况下,当 X86 架构下内核大于等于 5.5 (opens new window)、ARM 架构下内核大于等于 6.0 (opens new window) 时,agent 将会自动使用 fentry/fexit 替代 kprobe/kretprobe,此时可获得约 15% 的性能提升。
- 支持压缩传输 Profiling 数据,带宽消耗降低 30%。
- 原有的环境变量
ONLY_WATCH_K8S_RESOURCE
已被替代为K8S_WATCH_POLICY
,文档。
#6.2 Stable Feature
- AutoTracing
- 支持使用 Wasm Plugin 增强 HTTP2/gRPC 调用日志(但目前尚不支持对 eBPF uprobe 数据的增强),文档。
- AutoProfiling
- 支持利用 DWARF 实现 Frame Pointer 缺失情况下的栈回溯。
- AutoTagging
- 支持通过普通账号的 AK/SK、携带 ResourceGroupId 完成阿里云资源同步。
#7. v6.6.4 [2024/08/29]
#7.1 Beta Feature
- AutoTracing
- cBPF 数据支持 Tars 协议解析,文档。
- AutoProfiling
- 支持利用 DWARF 实现 Frame Pointer 缺失情况下的栈回溯。
- AutoTagging
- 支持通过普通账号的 AK/SK、携带 ResourceGroupId 完成阿里云资源同步。
- Server
- 支持使用 ByConity 替代 ClickHouse,文档。
#7.2 Stable Feature
- AutoTracing
- 调用链追踪火焰图自动校正不同机器的细微时钟偏差。
- AutoTagging
- 支持利用 Lua Plugin 自定义 K8s 工作负载抽象规则,文档。
- 支持同步 LoadBalancer 类型的容器服务。
- Server
- 支持使用 OceanBase 替换 MySQL。
#8. v6.6.3 [2024/08/15]
#8.1 Beta Feature
- AutoTracing
- 当协议头中存在 TraceID 时,支持关闭 eBPF syscall_trace_id 计算(通过配置
syscall_trace_id_disabled
),以降低对业务性能的影响。 - 调用链追踪火焰图自动校正不同机器的细微时钟偏差。
- 当协议头中存在 TraceID 时,支持关闭 eBPF syscall_trace_id 计算(通过配置
- AutoTagging
- 支持利用 Lua Plugin 自定义 K8s 工作负载抽象规则,文档。
- Agent
- 支持完全关闭 cBPF 数据采集(通过配置
tap_interface_regex
为空字符串),以降低内存开销。 - 支持 deepflow-agent 使用一个 Socket 传输所有观测数据,并可通过
multiple_sockets_to_ingester
配置项关闭此特性从而使用多个 Socket 以提升传输性能。
- 支持完全关闭 cBPF 数据采集(通过配置
#8.2 Stable Feature
- AutoProfiling
- 支持在 Grafana Panel 中查看 DeepFlow eBPF On-CPU Profiling 数据,Demo (opens new window)。
- AutoMetrics
- 支持同会话中的请求和响应指标时间戳对齐,帮助 AIOps 系统更好的实现根因定位(感谢
pegasusljn
:FR (opens new window))。
- 支持同会话中的请求和响应指标时间戳对齐,帮助 AIOps 系统更好的实现根因定位(感谢
- AutoTagging
- 正确标记 K8s Node 上 loopback 网卡流量的 Universal Tag。
- Agent
- 减少 deepflow-agent 发送数据时使用的 Socket 数量。
- 合并集成 OpenTelemetry 时,传输 open_telemetry 和 open_telemetry_compressed 数据使用的 Socket。
- 合并用于 agent 自监控的、传输 deepflow_stats 和 agent_log 数据使用的 Socket。
- 合并集成 Prometheus 和 Telegraf 时,传输 prometheus 和 telegraf 指标使用的 Socket。
- 减少 deepflow-agent 发送数据时使用的 Socket 数量。
#9. v6.6.2 [2024/08/01]
#9.1 Beta Feature
- AutoMetrics
- 支持同会话中的请求和响应指标时间戳对齐,帮助 AIOps 系统更好的实现根因定位(感谢
pegasusljn
:FR (opens new window))。
- 支持同会话中的请求和响应指标时间戳对齐,帮助 AIOps 系统更好的实现根因定位(感谢
#9.2 Stable Feature
- AutoTracing
- 优化网络 Span 追踪所使用的 NTP 时钟偏差(
host_clock_offset_us
)和网络传输时延(network_delay_us
)配置参数默认值,降低误匹配概率。
- 优化网络 Span 追踪所使用的 NTP 时钟偏差(
#10. v6.6.1 [2024/07/18]
#10.1 Beta Feature
- AutoTagging
- 正确标记 K8s Node 上 loopback 网卡流量的 Universal Tag。
#10.2 Stable Feature
- AutoTracing
- 新增 HTTP 协议 URL 脱敏能力,默认开启 Redis 协议脱敏
- AutoTagging
- 支持同步火山引擎资源标签,文档。
- 取消同步 K8s Evicted 状态的 Pod,减少资源开销。
- Integration
- 优化 OTel Span 中 schema/target 等字段到
l7_flow_log
的映射,文档。
- 优化 OTel Span 中 schema/target 等字段到
- Agent
- 支持聚合采集 Open vSwitch bond interface 的多个成员物理网卡的流量。
#11. v6.6.0 [2024/07/04]
#11.1 Backward Incompatible Change
- AutoProfiling
- 使用 Dataframe 返回格式压缩响应体积,提升 API 性能,PR (opens new window),文档。
#Functions | Response Size (Byte) | Download Time | |
---|---|---|---|
Before | 450,000 | 21.9M | 6.16s |
After | 450,000 | 3.07M | 0.78s |
#11.2 Beta Feature
- AutoTagging
- 支持同步火山引擎资源标签,文档。
- Agent
- 支持聚合采集 Open vSwitch bond interface 的多个成员物理网卡的流量。