## Pros and cons of eBPF and non-eBPF profiling# When it comes to modern continuous profiling, there are two ways of getting profiling data: - User-space level: Popular profilers like [[pprof]], async-profiler, rbspy, py-spy, pprof-rs, dotnet-trace, etc. operate at this level - Kernel level: [[eBPF]] profilers and linux perf are able to get stacktraces for the whole system from the kernel Pyroscope is designed to be language agnostic and supports ingesting profiles originating from either *or both* of these methods.