v6.5 CE Release Notes
Created:2024-11-05 Last Modified:2024-11-05
This document was translated by ChatGPT
#1. Acknowledgements to Community Contributors
eltociear
PR-#6880 (opens new window): [DOC] add Japanese READMEimroc
PR-#6843 (opens new window): add agent plugins Cargo.lock to gitignorejeffrey4l
PR-#6631 (opens new window): fix LE_IPV4_PROTO_TYPE_I variable value in commentrosenlo
PR-#6445 (opens new window): [Server] improve the recognition rate of the vinterface of the EKS nodeasdfsx
PR-#6385 (opens new window): [Server] update go.mod & set ip_info.py encodingrosenlo
PR-#6368 (opens new window): fix: missing string format parametertestwill
PR-#6316 (opens new window): fix: typoszhangzujian
PR-#6301 (opens new window): bump golang.org/x/net to v0.24.0CherishCai
PR-#6259 (opens new window): [Agent] Typo: flow_id -> acl_gidsCherishCai
PR-#6148 (opens new window): [Agent] Typo: namespaces -> servicesdzy176
PR-#6110 (opens new window): [Agent] fix mongo header parserZhuoZhuoCrayon
PR-#5903 (opens new window): [Agent] Support invoking wasm_hook after parsing HTTP2 and gRPCzhangzujian
PR-#5744 (opens new window): bump go modulesDrAuYueng
PR-#5558 (opens new window): Fix typo in commentsjeffrey4l
PR-#5561 (opens new window): [Libs]Use spaces instead of tabs for ip_info.py filedenglouping
PR-#5412 (opens new window): fix compile agent errorcrazytaxii
PR-#5260 (opens new window): [Server] Add a Dockerfile for building serverzhangzujian
PR-#5121 (opens new window): [Server] fix log formatzhangzujian
PR-#5108 (opens new window): [Server] bump golang.org/x/crypto to v0.17.0chenjiandongx
PR-#5109 (opens new window): chore: promwriter 细节优化xiaoziv
PR-#4620 (opens new window): [Agent] optimize agent standalone mode
#2. v6.5.9 [2024/06/20]
#2.1 Stable Feature
- eBPF AutoTracing
- Added parsing capability for ZeroMQ ZMTP protocol, documentation here.
- Supports collecting MySQL login usernames and current database names, documentation here.
- Supports gRPC Streaming communication mode call log collection and distributed tracing (thanks to
ZhuoZhuoCrayon
: FR (opens new window)).
- AutoTagging
- Significantly improved real-time K8s tag injection. The optimized code path involves 1 10s timer and 1 1min timer, reducing the worst-case delay from 5min to 1m20s (the agent's list/watch of K8s resources may span two cycles, potentially causing a 20s delay).
- Decoupled synchronization of cloud resources and container resources, ensuring that public cloud API errors do not affect container resource tag synchronization.
- Integration
- Supports integration with Datadog Vector (opens new window) for application log collection.
- Server
- Added global configuration for whether the Agent requests the Server NAT IP, suitable for scenarios where all Agents request the Server via the public network.
- Agent
- Supports collecting traffic from Open vSwitch Bond sub-interfaces and correctly aggregating it into flow logs and call logs.
- Improved eBPF collection performance [test data to be supplemented].
#3. v6.5.8 [2024/06/06]
#3.1 Beta Feature
- eBPF AutoTracing
- Supports gRPC Streaming communication mode call log collection and distributed tracing (thanks to
ZhuoZhuoCrayon
: FR (opens new window)).
- Supports gRPC Streaming communication mode call log collection and distributed tracing (thanks to
- AutoTagging
- Significantly improved real-time K8s tag injection. The optimized code path involves 1 10s timer and 1 1min timer, reducing the worst-case delay from 5min to 1m20s (the agent's list/watch of K8s resources may span two cycles, potentially causing a 20s delay).
- Decoupled synchronization of cloud resources and container resources, ensuring that public cloud API errors do not affect container resource tag synchronization.
#3.2 Stable Feature
- AutoTagging
- The
auto_service
tag automatically aggregates container nodes (pod_node
) into container clusters (pod_cluster
), butauto_instance
will not perform this aggregation. - When a K8s workload (
pod_group
) is associated with multiple container services, the service name with the smallest dictionary order is used to mark the container service (pod_service
) tag.
- The
- Agent
- Supports configuring a call log blacklist to reduce storage consumption and metric interference (thanks to
chrisdamon
andnovohool
: FR (opens new window)).
- Supports configuring a call log blacklist to reduce storage consumption and metric interference (thanks to
- Server
- Prometheus Remote Write supports exporting
flow_metrics.application*
andflow_metrics.network*
metrics. - Added Kafka Exporter data export method, documentation here, supporting the export of the following observability signals:
- Metrics:
flow_metrics.application*
(application performance metrics/access relationships),flow_metrics.network*
(network performance metrics/access relationships). - Logs:
flow_log.l4_flow_log
(network flow logs),flow_log.l7_flow_log
(application call logs). - Events:
event.perf_event
(file read/write events).
- Metrics:
- Prometheus Remote Write supports exporting
#4. v6.5.7 [2024/05/23]
#4.1 Backward Incompatible Change
- eBPF AutoProfiling
- The units of
self_value
andtotal_value
returned by the APIprofile/ProfileTracing
have been changed to microseconds (us), documentation here, modification history here (opens new window).
- The units of
- AutoTagging
- No longer synchronizes security group information from cloud resources.
#4.2 Beta Feature
- Integration
- Supports integration with Vector for log data collection and supports AutoTagging of log data, documentation here.
- AutoTagging
- The
auto_service
tag automatically aggregates container nodes (pod_node
) into container clusters (pod_cluster
), butauto_instance
will not perform this aggregation. - When a K8s workload (
pod_group
) is associated with multiple container services, the service name with the smallest dictionary order is used to mark the container service (pod_service
) tag.
- The
- Agent
- Supports configuring a call log blacklist to reduce storage consumption and metric interference (thanks to
chrisdamon
andnovohool
: FR (opens new window)).
- Supports configuring a call log blacklist to reduce storage consumption and metric interference (thanks to
#4.3 Stable Feature
- eBPF AutoMetrics
- Supports parsing variable values in precompiled SQL statements
COM_STMT_EXECUTE
, documentation here. - Added packet length metrics
captured_request_byte
andcaptured_response_byte
to call logs, documentation here (opens new window).
- Supports parsing variable values in precompiled SQL statements
- eBPF AutoTracing
- Added parsing capability for Pulsar protocol, documentation here.
- Supports enhancing Dubbo protocol parsing using Wasm Plugin, Demo here (opens new window).
- Enhanced Kafka protocol parsing, adding support for Partition, Offset, GroupID fields, and JoinGroup, LeaveGroup, SyncGroup messages, documentation here (thanks to
andyidea
: FR (opens new window)).
- Server
- Data in the
flow_log
andevent
databases supports precise search using the_id
field.
- Data in the
- Agent
- Supports remote upgrade of deepflow-agent in K8s, documentation here.
- Supports automatic configuration of CPU and Memory Limit for deepflow-agent K8s Daemonset via agent-group-config, configuration parameters here (opens new window).
#5. v6.5.6 [2024/05/10]
#5.1 Backward Incompatible Change
- Server
- Adjusted Prometheus Remote Write configuration method, documentation here.
- Adjusted OpenTelemetry Exporter configuration method, documentation here.
#5.2 Beta Feature
- eBPF AutoMetrics
- Supports parsing variable values in precompiled SQL statements
COM_STMT_EXECUTE
, documentation here. - Added packet length metrics
captured_request_byte
andcaptured_response_byte
to call logs, documentation here (opens new window).
- Supports parsing variable values in precompiled SQL statements
- Server
- Prometheus Remote Write supports exporting
flow_metrics.application*
andflow_metrics.network*
metrics. - Added Kafka Exporter data export method, documentation here, supporting the export of the following observability signals:
- Metrics:
flow_metrics.application*
(application performance metrics/access relationships),flow_metrics.network*
(network performance metrics/access relationships). - Logs:
flow_log.l4_flow_log
(network flow logs),flow_log.l7_flow_log
(application call logs). - Events:
event.perf_event
(file read/write events).
- Metrics:
- Prometheus Remote Write supports exporting
#5.3 Stable Feature
- eBPF AutoTracing
- Added parsing capability for bRPC protocol, documentation here.
- Optimized parent-child logic of NET Span in Distributed Tracing.
- Agent
- Added
flow-count-limit
configuration parameter to prevent the agent from consuming too much memory under sudden traffic, avoiding triggering the OOM Killer.
- Added
- Docs
- Added Agent Performance Tuning documentation.
- Added deployment plan for scenarios where deepflow-agent is not allowed to request apiserver, documentation here.
- Added guidance documentation for running deepflow-agent as a non-root user, documentation here.
#6. v6.5.5 [2024/04/24]
#6.1 Beta Feature
- eBPF AutoTracing
- Added parsing capability for ZeroMQ ZMTP protocol, documentation here.
- Optimized parent-child logic of NET Span in Distributed Tracing.
- Agent
- Supports remote upgrade of deepflow-agent in K8s, documentation here.
#6.2 Stable Feature
- eBPF AutoTracing
- Added parsing capability for ActiveMQ OpenWire protocol, documentation here.
- Added parsing capability for NATS protocol, documentation here.
- Supports parsing Kryo serialization format of Dubbo protocol, documentation here.
#7. v6.5.4 [2024/04/10]
#7.1 Backward Incompatible Change
- Agent
- Merged static configuration item
src-interfaces
into dynamic configuration itemtap_interface_regex
, reducing configuration complexity in scenarios such as MACVlan and Huawei Cloud CCE Turbo.
- Merged static configuration item
#7.2 Beta Feature
- ✨ AI Copilot ✨
- Added
AskGPT
Copilot to DeepFlow Topo and DeepFlow Tracing Panel in Grafana: Demo1 (opens new window), Demo2 (opens new window). Currently supported models include GPT4, Tongyi Qianwen, Wenxin Yiyan, ChatGLM.
- Added
- eBPF AutoTracing
- Added parsing capability for bRPC protocol, documentation here.
#7.3 Stable Feature
- Agent
- Improved HTTP2 Huffman decoding performance. When limiting deepflow-agent to 1 logical core, the extreme TPS collection performance increased by 5 to 25 times. Test data is shown in the table below.
Random Header Count | Version | Agent CPU | Agent Memory | TPS |
---|---|---|---|---|
3 | OLD | 96% | 34 MB | 10K |
NEW | 97% | 94 MB | 50K | |
12 | OLD | 89% | 9 MB | 1.2K |
NEW | 93% | 112 MB | 30K |
#8. v6.5.3 [2024/03/26]
#8.1 Beta Feature
- eBPF AutoTracing
- Supports parsing Kryo serialization format of Dubbo protocol, documentation here.
- Added parsing capability for NATS protocol, documentation here.
- Added parsing capability for Pulsar protocol, documentation here.
#8.2 Stable Feature
- eBPF AutoMetrics
- Renamed network metrics: Connection-Client SYN End (
client_syn_repeat
) renamed to Connection-Server SYN Miss (server_syn_miss
) and included inserver_exception
. - Renamed network metrics: Connection-Server SYN End (
server_syn_repeat
) renamed to Connection-Client ACK Miss (client_ack_miss
) and included inclient_exception
.
- Renamed network metrics: Connection-Client SYN End (
- AutoTagging
- Supports custom collection of HTTP/HTTP2/gRPC header fields and storing them in the
attribute.$field_name
field of call logs, documentation here.
- Supports custom collection of HTTP/HTTP2/gRPC header fields and storing them in the
- Server
- SQL API: Accelerated Percentile operator for Delay and BoundedGauge type metrics, reducing the compiled ClickHouse SQL layers to one.
- Agent
- Enabled system load circuit breaker mechanism by default. When the system load ratio exceeds
system_load_circuit_breaker_threshold
, the agent triggers the circuit breaker mechanism and automatically enters a disabled state. For details, see the Agent configuration sample. When the agent enters the circuit breaker state, theSYSTEM_LOAD_CIRCUIT_BREAKER
exception code can be seen in the deepflow-ctl agent list results.
- Enabled system load circuit breaker mechanism by default. When the system load ratio exceeds
[xy@node100 ~]# deepflow-ctl agent list
ID NAME TYPE CTRL_IP CTRL_MAC STATE GROUP EXCEPTIONS REVISION
100 lh-2-zqy-10.50.100.82-W1721 CHOST_VM 10.50.100.82 00:50:56:b3:2f:30 NORMAL default SYSTEM_LOAD_CIRCUIT_BREAKER B_LC_RELEASE_v6_4 4575
109 master100-V2 K8S_VM 10.1.20.100 00:16:3e:36:cb:79 NORMAL default B_LC_RELEASE_v6_4 4611
1
2
3
4
2
3
4
#9. v6.5.2 [2024/03/12]
#9.1 Beta Feature
- eBPF AutoMetrics
- Network metric rename: "Connection - Client SYN Completion" (
client_syn_repeat
) has been renamed to "Connection - Server SYN Miss" (server_syn_miss
) and is now categorized underserver_exception
. - Network metric rename: "Connection - Server SYN Completion" (
server_syn_repeat
) has been renamed to "Connection - Client ACK Miss" (client_ack_miss
) and is now categorized underclient_exception
.
- Network metric rename: "Connection - Client SYN Completion" (
#9.2 Stable Feature
AutoTracing, AutoMetrics
- Added RabbitMQ AMQP protocol parsing capability. See the documentation here.
- Marked MySQL unidirectional messages (
CLOSE
,QUIT
) directly as session logs. - Added support for extracting
correlation_id
from Kafka protocol headers asx_request_id_0/1
, enabling automatic tracing of Request-Response patterns in Kafka calls (thanks toh453693821
: FR (opens new window)).
AutoTagging
- Enhanced Kafka parsing capability:
topic_name
can now be extracted asendpoint
. - Added
request_domain
field in network flow logs, automatically associating it with application metrics and call logs. - Added
pod_node_ip
(container node main IP) andpod_node_hostname
(container node hostname) tags to all data. - Added
chost_ip
(cloud server main IP) andchost_hostname
(cloud server hostname) tags to all data. - Added
biz_type
tag to application metrics and call logs, which can be used with the Wasm Plugin to identify business types. - Metrics (
flow_metrics.network_map
,flow_metrics.application_map
) no longer aggregate wide-area network servers under 0.0.0.0. - Metrics (
flow_metrics.network_map
,flow_metrics.application_map
) no longer mark private IP addresses without any tags (192.168/172.16/10/169.254) as wide-area network.
- Enhanced Kafka parsing capability:
Agent
- Optimized Redis and MySQL protocol parsing performance: After optimization, a single Agent with 1 CPU and 300MB of memory can capture 50,000 TPS of MySQL or Redis traffic.
Server
- ClickHouse table and field names have been modified as shown in the table below (deprecated names are still usable but will be phased out in a major release in one year).
Modifications to table names in flow_metrics
:
Old Name | New Name | Data Function |
---|---|---|
vtap_app_port | application | Application performance metrics for all services |
vtap_app_edge_port | application_map | Application access relationships and their performance metrics |
vtap_flow_port | network | Network performance metrics for all services |
vtap_flow_edge_port | network_map | Network access relationships and their performance metrics |
vtap_acl | traffic_policy | Network policy metrics (Enterprise Edition only) |
Modifications to field names:
Old Name | New Name | Data Function |
---|---|---|
vtap | agent | Agent |
vtap_id | agent_id | Agent ID |
tap_side | observation_point | Observation point |
tap | capture_network_type | Network location (Enterprise Edition only) |
tap_port | capture_nic | Capture NIC identifier |
tap_port_name | capture_nic_name | Capture NIC name |
tap_port_type | capture_nic_type | Capture NIC type |
tap_port_host | capture_nic_host | Host machine of the capture NIC (Enterprise Edition only) |
tap_port_chost | capture_nic_chost | Cloud server of the capture NIC |
tap_port_pod_node | capture_nic_pod_node | Container node of the capture NIC |
#10. v6.5.1 [2024/02/27]
#10.1 Beta Feature
AutoTracing, AutoMetrics
- Added RabbitMQ AMQP protocol parsing capability. See the documentation here.
- Added ActiveMQ OpenWire protocol parsing capability. See the documentation here.
- Marked MySQL unidirectional messages (
CLOSE
,QUIT
) directly as session logs. - Added support for extracting
correlation_id
from Kafka protocol headers asx_request_id_0/1
, enabling automatic tracing of Request-Response patterns in Kafka calls (thanks toh453693821
: FR (opens new window)).
AutoTagging
- Enhanced Kafka parsing capability:
topic_name
can now be extracted asendpoint
. - Added
request_domain
field in network flow logs, automatically associating it with application metrics and call logs. - Added
pod_node_ip
(container node main IP) andpod_node_hostname
(container node hostname) tags to all data. - Added
chost_ip
(cloud server main IP) andchost_hostname
(cloud server hostname) tags to all data.
- Enhanced Kafka parsing capability:
ClickHouse table and field names have been modified as shown in the table below (deprecated names are still usable but will be phased out in a future release).
Modifications to table names in flow_metrics
:
Old Name | New Name | Data Function |
---|---|---|
vtap_app_port | application | Application performance metrics for all services |
vtap_app_edge_port | application_map | Application access relationships and their performance metrics |
vtap_flow_port | network | Network performance metrics for all services |
vtap_flow_edge_port | network_map | Network access relationships and their performance metrics |
vtap_acl | traffic_policy | Network policy metrics (Enterprise Edition only) |
Modifications to field names:
Old Name | New Name | Data Function |
---|---|---|
vtap | agent | Agent |
vtap_id | agent_id | Agent ID |
tap_side | observation_point | Observation point |
tap | capture_network_type | Network location (Enterprise Edition only) |
tap_port | capture_nic | Capture NIC identifier |
tap_port_name | capture_nic_name | Capture NIC name |
tap_port_type | capture_nic_type | Capture NIC type |
tap_port_host | capture_nic_host | Host machine of the capture NIC (Enterprise Edition only) |
tap_port_chost | capture_nic_chost | Cloud server of the capture NIC |
tap_port_pod_node | capture_nic_pod_node | Container node of the capture NIC |
#10.2 Stable Feature
AutoTracing
- Enhanced capability to extract TraceID and SpanID from SQL statement comments. See the documentation here.
AutoTagging
- FastCGI, MQTT, and DNS protocols now support extracting the
endpoint
field. See the documentation here. - In A/AAAA type DNS call logs,
QNAME
is extracted asrequest_domain
.
- FastCGI, MQTT, and DNS protocols now support extracting the
Deployment
- Server: Added support for deploying All-in-One nodes via Docker Compose. See the documentation here.
- Agent: Added support for deployment via Docker Compose. See the documentation here.
#11. v6.5.0 [2024/02/06]
N/A