DeepFlow Roadmap
Created:2022-07-25 Last Modified:2024-06-24
This document was translated by ChatGPT
As of September 2023, DeepFlow has iterated to version v6.3.9, and the main supported features include:
- Universal Map (AutoMetrics)
- TCP network performance metrics based on cBPF
- Various application protocol parsing and performance analysis capabilities based on cBPF
- Various application protocol parsing and performance analysis capabilities based on eBPF tracepoint/kprobe
- File read/write performance metrics based on eBPF
- Golang application HTTP2 and gRPC protocol parsing and performance analysis capabilities based on eBPF uprobe
- Golang/openssl application HTTPS protocol parsing and performance analysis capabilities based on eBPF uprobe
- Enhanced standard protocol parsing capabilities using Wasm and so plugins, and the ability to parse private protocols
- Distributed Tracing (AutoTracing)
- Zero-intrusion distributed tracing capabilities based on eBPF, supporting same-thread for any application and cross-coroutine for Golang applications
- Extract business serial numbers using Wasm/so plugins to achieve zero-intrusion distributed tracing capabilities relying only on cBPF
- Parse fields such as X-Request-ID in requests to trace the call chain before and after ALB
- Parse MySQL Comment fields in requests to trace MySQL call chains
- Parse fields such as TraceID/SpanID in requests to trace cross-thread call chains
- Automatically trace network forwarding paths and calculate hop-by-hop performance
- Continuous Profiling (AutoProfiling)
- Zero-intrusion collection of Profile data for C/C++/Golang/Rust/Java applications using eBPF
- Zero-intrusion collection of On-CPU Profile using eBPF
- AutoTagging & SmartEncoding
- Automatically inject cloud resource tags and K8s service tags
- Automatically inject K8s Label/Annotation/Env custom tags
- Support injecting business tags from CMDB via API
- Support injecting process business tags exposed by the business release system via Plugin
- High-performance SmartEncoding tag storage and query capabilities
- Integration
- Support integration of Prometheus and Telegraf metric data
- Support integration of OpenTelemetry and SkyWalking tracing data, and associate with eBPF tracing data to achieve full-stack distributed tracing
- Support integration of Pyroscope continuous profiling data
- Support SQL/PromQL API, and act as a DataSource for Grafana
- Support displaying distributed tracing data in Grafana Tempo
- Support exporting tracing data to OpenTelemetry Collector
- Support exporting tracing data to SkyWalking
As a plan, DeepFlow has many exciting features in the future:
- Universal Map (AutoMetrics)
- Enhanced protocol parsing capabilities based on TCP stream reassembly
- Built-in parsing capabilities for more application protocols, such as Elasticsearch
- Support for more types of protocol parsing plugins, such as Lua
- Support eBPF collection of more network and system performance metrics during the call lifecycle
- Distributed Tracing (AutoTracing)
- Zero-intrusion distributed tracing capabilities based on eBPF to support more complex scenarios such as cross-thread and Golang Channel
- Real-time aggregation and calculation of Trace topology based on Span (while retaining call chain relationships) to reduce storage overhead of tracing data
- Continuous Profiling (AutoProfiling)
- Zero-intrusion collection of more types of Profile data using eBPF, such as Off-CPU, Memory, etc.
- Eliminate the dependency of Profile data on application process symbol tables
- Support zero-intrusion collection of Profile data for Node.js/Python/PHP/Ruby applications
- AutoTagging & SmartEncoding
- Automatically inject business tags recorded by tenants on cloud platforms
- Integration
- Support integration of Sentry RUM data source
- Support integration of Promtail/Loki log data source
- Support displaying log data in Grafana Loki GUI
- Support exporting eBPF metric data as a Prometheus Exporter
- Support exporting tracing data to Kafka