v6.5 CE Release Notes

Created:2024-02-27 Last Modified:2024-07-05

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 label 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 the synchronization of container resource labels.
  • 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 them 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 label 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 the synchronization of container resource labels.

#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 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 the 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) to Connection-Server SYN Missing (server_syn_miss), and included in Server Exception.
    • Renamed network metrics: Connection-Server SYN End (server_syn_repeat) to Connection-Client ACK Missing (client_ack_miss), and included in Client Exception.
  • AutoTagging
    • Supports custom collection of HTTP/HTTP2/gRPC header fields and storing them in the call log's attribute.$field_name field, 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 to CPU core ratio exceeds system_load_circuit_breaker_threshold, the Agent triggers the circuit breaker mechanism and automatically enters a disabled state. See Agent configuration sample for details. When the Agent enters the circuit breaker state, the SYSTEM_LOAD_CIRCUIT_BREAKER exception code can be seen in the deepflow-ctl agent list result.
[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
    • Renamed network metrics: Connection-Client SYN End (client_syn_repeat) to Connection-Server SYN Missing (server_syn_miss), and included in Server Exception.
    • Renamed network metrics: Connection-Server SYN End (server_syn_repeat) to Connection-Client ACK Missing (client_ack_miss), and included in Client Exception.

#9.2 Stable Feature

  • AutoTracing, AutoMetrics
    • Added support for parsing RabbitMQ AMQP protocol. See documentation.
    • MySQL unidirectional messages (CLOSE, QUIT) are now directly marked as session log types.
    • Support for extracting correlation_id from Kafka protocol headers as x_request_id_0/1, enabling automatic tracing of Request-Response Kafka call chains (thanks to h453693821: FR (opens new window)).
  • AutoTagging
    • Enhanced Kafka parsing: topic_name can now be extracted as endpoint.
    • Added request_domain field to network flow logs, automatically associating with application metrics and call logs.
    • Added container node main IP (pod_node_ip) and hostname (pod_node_hostname) tags to all data.
    • Added cloud server main IP (chost_ip) and hostname (chost_hostname) tags to all data.
    • Added business type (biz_type) tag to application metrics and call logs, which can be used with Wasm Plugin to identify business types.
    • Metrics (flow_metrics.network_map, flow_metrics.application_map) will no longer aggregate wide area network servers as 0.0.0.0.
    • Metrics (flow_metrics.network_map, flow_metrics.application_map) will 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: post-optimization, an Agent with 1 CPU and 300MB memory can collect 50K TPS MySQL or Redis traffic.
  • Server
    • Modified ClickHouse table names and field names as shown in the table below (deprecated names remain usable but will be phased out in a major release in one year).

Changes to table names in flow_metrics:

Old Name New Name Data Role
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)

Changes to field names:

Old Name New Name Data Role
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 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 support for parsing RabbitMQ AMQP protocol. See documentation.
    • Added support for parsing ActiveMQ OpenWire protocol. See documentation.
    • MySQL unidirectional messages (CLOSE, QUIT) are now directly marked as session log types.
    • Support for extracting correlation_id from Kafka protocol headers as x_request_id_0/1, enabling automatic tracing of Request-Response Kafka call chains (thanks to h453693821: FR (opens new window)).
  • AutoTagging
    • Enhanced Kafka parsing: topic_name can now be extracted as endpoint.
    • Added request_domain field to network flow logs, automatically associating with application metrics and call logs.
    • Added container node main IP (pod_node_ip) and hostname (pod_node_hostname) tags to all data.
    • Added cloud server main IP (chost_ip) and hostname (chost_hostname) tags to all data.
  • Changes to ClickHouse table names and field names as shown in the table below (deprecated names remain usable but will be phased out in a future release).

Changes to table names in flow_metrics:

Old Name New Name Data Role
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)

Changes to field names:

Old Name New Name Data Role
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 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 in SQL statement comments. See documentation.
  • AutoTagging
    • FastCGI, MQTT, DNS protocols now support extracting endpoint field. See documentation.
    • In A/AAAA type DNS call logs, QNAME is extracted as request_domain.
  • Deployment

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

N/A