Open dineshg13 opened 1 year ago
Related to this topic but more on the ebpf side. As a general note, I think the ebpf code performance has a more "direct" impact on the probed code relative to the performance of our Go code. Currently, we use perf buffer to transfer the events from ebpf to the user code in Go.
bpftool prog profile
and it looks like when we signal from ebpf code to the user code, the time spent in the uprboe increase drastically. Hence, implementing the sampled ring buffer approach sounds like a good idea to me.
When using go auto instrumentation, we need to make performance trade-offs very clear to the end user.
We need to run performance tests to measure the throughput of the go auto instrumentation supports. We have two knobs that we can tweak
We should derive recommended values for the above and also make them configurable.