DeepFlow – open-source eBPF Distributed Tracing
1–10 of 24 posts
Re: DeepFlow – open-source eBPF Distributed Tracing
#2Re: DeepFlow – open-source eBPF Distributed Tracing
#3heh, 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
Re: DeepFlow – open-source eBPF Distributed Tracing
#4Re: DeepFlow – open-source eBPF Distributed Tracing
#5Haven’t checked the source code yet, wondering if profiling of code without frame pointes is supported. Curious on their approach.
Re: DeepFlow – open-source eBPF Distributed Tracing
#6Apache 2, if that interests you: https://github.com/deepflowio/deepflow/blob/v6.4.7/LICENSE 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
Re: DeepFlow – open-source eBPF Distributed Tracing
#7Nice project, have been following this project casually for a while. The standout feature is to trace RPC flow across network connections, through packet tracing.
Distributed tracing needs some common token all requests share to identify all RPCs that should be associated with a specific incoming request.
Re: DeepFlow – open-source eBPF Distributed Tracing
#8Nice project, have been following this project casually for a while. The standout feature is to trace RPC flow across network connections, through packet tracing.
How can it tie requests arriving at a service and generating additional downstream requests? Distributed tracing needs some common token all requests share to identify all RPCs that should be associated with a specific incoming request.
It looks like it's using tcp flow tuple + tcp_seq to join things.
Re: DeepFlow – open-source eBPF Distributed Tracing
#9Nice project, have been following this project casually for a while. The standout feature is to trace RPC flow across network connections, through packet tracing.
How can it tie requests arriving at a service and generating additional downstream requests? Distributed tracing needs some common token all requests share to identify all RPCs that should be associated with a specific incoming request.
> When collecting invocation logs through eBPF and cBPF, DeepFlow calculates information such as syscall_trace_id, thread_id, goroutine_id, cap_seq, tcp_seq based on the system call context. This allows for distributed tracing without modifying application code or injecting TraceID and SpanID. Currently, DeepFlow can achieve Zero Code distributed tracing for all cases except for cross-thread communication (through memory queues or channels) and asynchronous invocations.
Re: DeepFlow – open-source eBPF Distributed Tracing
#10This is an interesting call-out, the last release of 2.6 is from 2011. I wonder who is still running that in production.