Thanks, that’s a great question! The eBPF part is quite similar. One difference is that we strongly believe the component needs to be open source for security reasons, since anything that uses eBPF essentially needs root. Aside from open sourcing it, we also took various other security precautions[1].
A few feature differences to prodfiler:
* Slice and dice queries by labels, not just process name or functions.
* Apart from merging and comparing profiles we also support querying by their total value as time series to identify cpu or memory spikes and investigate them.
* The storage supports any pprof formatted profile, so we support any type of profiling (like heap profiling) as long as it’s in the right format.
[1] https://www.parca.dev/docs/parca-agent-security
/edit: formatting