eBPF-based tool for efficient TCP observability, exporting kernel-level socket statistics to Elasticsearch, ClickHouse, or InfluxDB.
TCPDog is an eBPF-based tool for TCP observability that exports detailed TCP socket statistics from the Linux kernel to databases like Elasticsearch, ClickHouse, or InfluxDB. It solves the problem of inefficient network monitoring by collecting kernel-level metrics with minimal overhead, enabling real-time performance analysis and troubleshooting.
Site Reliability Engineers (SREs), network engineers, and DevOps teams who need deep visibility into TCP performance and network behavior in Linux environments.
Developers choose TCPDog for its efficient eBPF-based data collection, support for multiple tracepoints and databases, and ability to enrich metrics with Geo and ASN data—all configurable through a simple YAML setup.
eBPF based TCP observability.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages eBPF to capture TCP tracepoints directly in the Linux kernel, minimizing performance overhead as emphasized in the README's philosophy and benchmark documentation.
Exports data to multiple databases like Elasticsearch, ClickHouse, or InfluxDB, with support for centralized collection via gRPC or Kafka, providing adaptability for various stacks.
Enhances metrics with geographical and ASN information using Maxmind, enabling detailed network analysis for SRE teams, as shown in sample Kibana reports.
Implements sampling and filtering at kernel space to reduce data volume, a key feature highlighted in the README for optimizing resource usage.
Requires specific dependencies like Linux kernel 4.16+ and Libbcc, with configuration through YAML files, which can be daunting for teams unfamiliar with eBPF tooling.
Focuses solely on TCP tracepoints, as stated in the features, making it unsuitable for monitoring other network protocols like UDP or ICMP without extensions.
Geo and ASN enrichment relies on Maxmind, adding external dependency and potential costs or integration hurdles for some deployments.