open-telemetry / opentelemetry-go-instrumentation

OpenTelemetry Auto Instrumentation using eBPF
https://opentelemetry.io
Apache License 2.0
560 stars 85 forks source link

Performance Testing & Benchmarking Go Auto Instrumentation #334

Open dineshg13 opened 1 year ago

dineshg13 commented 1 year ago

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

  1. Incoming Events buffer
  2. Memory size

We should derive recommended values for the above and also make them configurable.

RonFed commented 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.