Nice project, have been following this project casually for a while.
The standout feature is to trace RPC flow across network connections, through packet tracing.
It uses eBPF to provide instrumentation of the kernel calls up as well as hooking into networking for http2 pgsql etc. Since it’s running the process in eBPF it’s essentially sandboxed and all memory, kernel function calls, and even profiling, is an option. They have an agent that collects this information and sends to the server over RPC (protobuf/grpc). You should check it out (however, some of the docs are in Chinese).
Some of our users’ ancestral processes are running on kernel 2.6, and the operations staff dare not upgrade the kernel. Indeed, there are many limitations in 2.6, but the simple traffic analysis has brought surprising insights to users. However, this also brings some troubles: even if a problem is known, no one dares to easily modify the code to fix it, unless absolutely necessary :)
The biggest difference: DeepFlow enables *Distributed* Tracing.
In addition, DeepFlow combines the capabilities of eBPF and cBPF to achieve full-stack tracing of syscall + network_forward. You can take a look at our documentation: https://deepflow.io/docs/about/features/
heh, GitHub also has "symbol navigation" turned on for that license file but I didn't dig into it to find out what source language it thinks the file is
[+] [-] bigcat12345678|2 years ago|reply
[+] [-] nimrody|2 years ago|reply
Distributed tracing needs some common token all requests share to identify all RPCs that should be associated with a specific incoming request.
[+] [-] javierhonduco|2 years ago|reply
[+] [-] reactordev|2 years ago|reply
[+] [-] progbits|2 years ago|reply
This is an interesting call-out, the last release of 2.6 is from 2011. I wonder who is still running that in production.
[+] [-] sharangxy|2 years ago|reply
[+] [-] robertheadley|2 years ago|reply
[+] [-] jiumos|2 years ago|reply
[deleted]
[+] [-] jinxiao2010|2 years ago|reply
[+] [-] bobberkarl|2 years ago|reply
[+] [-] sharangxy|2 years ago|reply
In addition, DeepFlow combines the capabilities of eBPF and cBPF to achieve full-stack tracing of syscall + network_forward. You can take a look at our documentation: https://deepflow.io/docs/about/features/
[+] [-] ilovesnow|2 years ago|reply
[+] [-] mdaniel|2 years ago|reply
heh, GitHub also has "symbol navigation" turned on for that license file but I didn't dig into it to find out what source language it thinks the file is
[+] [-] unknown|2 years ago|reply
[deleted]
[+] [-] cyber_chen|2 years ago|reply
[deleted]
[+] [-] unknown|2 years ago|reply
[deleted]
[+] [-] z523552999|2 years ago|reply
[deleted]