DeepFlow – open-source eBPF Distributed Tracing
21–24 of 24 posts
Re: DeepFlow – open-source eBPF Distributed Tracing
#22Re: DeepFlow – open-source eBPF Distributed Tracing
#23Earlier quoted context omitted.
VP of DeepFlow here. Thank you for your interest in DeepFlow! Yes, we have implemented distributed tracing using eBPF. In simple terms, we use thread-id, coroutine-id, and tcp-seq to automatically correlate all spans. Most importantly, we use eBPF to calculate a syscall-trace-id (without the need to propagate it between upstream and downstream), enabling automatic correlation of a service's ingress and egress request…
would it be reasonable to assume that because this entirely network-based, it would work best with systems which really emphasize the "micro" in microservices? how well does this work if, say, my system has a legacy monolith in addition to microservices?
The advantage of eBPF lies in *request granularity* (i.e. PRC, API, SQL, etc ...) distributed tracing. To trace the internal functions of an application, instrumentation is still required for coverage. Therefore, the finer the service decomposition, the more effective eBPF's distributed tracing becomes.
Re: DeepFlow – open-source eBPF Distributed Tracing
#24How are you different from Pixie?
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/