eunomia-bpf / bpftime

Userspace eBPF runtime for Observability, Network & General Extensions Framework
https://eunomia.dev/bpftime/
MIT License
801 stars 75 forks source link

[FEATURE] Add CI to collect benchmark results in PR #149

Open yunwei37 opened 9 months ago

yunwei37 commented 9 months ago

Is your feature request related to a problem? Please describe.

Since we wants to improve the performance overhead of bpftime, we want to know if there's any code change, how much will it affect the uprobe overhead?

Describe the solution you'd like

Is there any CI solutions can help collect benchmark results and show it in the PR?

For example, run the micro benchmark in benchmark dir, and show the results as the comments of the PR.

Sanket-0510 commented 7 months ago

To optimize the performance overhead of bpftime, I am suggesting to integrate a microbenchmarking framework into CI pipeline like Criterion for C. This will enable to accurately measure the impact of code changes on uprobe overhead. This will help in code reviews and code coverage.
what are your thoughts @yunwei37 ?

feel free to assign this to me, we can discuss the possible benchmarking frameworks further.

Regards, Sanket

yunwei37 commented 7 months ago

Yes! I think you are correct.

There are already some benchmark test suits in benchmark dir, and they can already be built by the CI. You can add some scripts to make it run automatically and collect the results.

The results can be shown as a comment in PR.