v6.5 CE Release Notes

Created:2024-07-05 Last Modified:2024-08-08

This document was translated by ChatGPT

#1. Acknowledgements to Community Contributors

#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
  • 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)).
  • 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), but auto_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.
  • Agent
    • Supports configuring a call log blacklist to reduce storage consumption and metric interference (thanks to chrisdamon and novohool: FR (opens new window)).
  • Server
    • Prometheus Remote Write supports exporting flow_metrics.application* and flow_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).

#4. v6.5.7 [2024/05/23]

#4.1 Backward Incompatible Change

#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), but auto_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.
  • Agent
    • Supports configuring a call log blacklist to reduce storage consumption and metric interference (thanks to chrisdamon and novohool: FR (opens new window)).

#4.3 Stable Feature

#5. v6.5.6 [2024/05/10]

#5.1 Backward Incompatible Change

#5.2 Beta Feature

  • eBPF AutoMetrics
  • Server
    • Prometheus Remote Write supports exporting flow_metrics.application* and flow_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).

#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.
  • Docs

#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

#6.2 Stable Feature

#7. v6.5.4 [2024/04/10]

#7.1 Backward Incompatible Change

  • Agent
    • Merged static configuration item src-interfaces into dynamic configuration item tap_interface_regex, reducing configuration complexity in scenarios such as MACVlan and Huawei Cloud CCE Turbo.

#7.2 Beta Feature

#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

#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 in server_exception.
    • Renamed network metrics: Connection-Server SYN End (server_syn_repeat) renamed to Connection-Client ACK Miss (client_ack_miss) and included in client_exception.
  • AutoTagging
    • Supports custom collection of HTTP/HTTP2/gRPC header fields and storing them in the attribute.$field_name field of call logs, documentation here.
  • 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, the SYSTEM_LOAD_CIRCUIT_BREAKER exception code can be seen in the deepflow-ctl agent list results.
[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

#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 under server_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 under client_exception.

#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 as x_request_id_0/1, enabling automatic tracing of Request-Response patterns in Kafka calls (thanks to h453693821: FR (opens new window)).
  • AutoTagging

    • Enhanced Kafka parsing capability: topic_name can now be extracted as endpoint.
    • 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) and pod_node_hostname (container node hostname) tags to all data.
    • Added chost_ip (cloud server main IP) and chost_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.
  • 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 as x_request_id_0/1, enabling automatic tracing of Request-Response patterns in Kafka calls (thanks to h453693821: FR (opens new window)).
  • AutoTagging

    • Enhanced Kafka parsing capability: topic_name can now be extracted as endpoint.
    • 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) and pod_node_hostname (container node hostname) tags to all data.
    • Added chost_ip (cloud server main IP) and chost_hostname (cloud server hostname) tags to all data.
  • 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

#11. v6.5.0 [2024/02/06]

N/A