aya-rs / book

The Aya Book is an introductory book about using the Rust Programming Language and Aya library to build extended Berkley Packet Filter (eBPF) programs.
https://aya-rs.dev/book/
Apache License 2.0
79 stars 60 forks source link

Adding an example of lock-free telemetry aggregation between kernel sā€¦ #154

Open avirtuos opened 8 months ago

avirtuos commented 8 months ago

Last week was my first time using aya, and also my first time writing an eBPF program using Rust. My use case was fairly simple - writing a small telemetry agent to gather detailed network byte rate data - but I struggled to find what I needed in the existing documentation and example. I was able to get a few hints in the discord channel and decided to contribute back this stripped down version to the aya documentation.

netlify[bot] commented 8 months ago

Deploy Preview for aya-rs ready!

Name Link
Latest commit de604c00dc920b60b0d5a4fa2c60bdd871e7218d
Latest deploy log https://app.netlify.com/sites/aya-rs/deploys/65f84015c4f86900089f4daf
Deploy Preview https://deploy-preview-154--aya-rs.netlify.app
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

vadorovsky commented 6 months ago

Hi @avirtuos! Sorry for late reaction.

Usually we add examples to the book with a text chapter talking about it. And the sections of code are being included in the *.md files. Would that be something you're interested in adding?

If not, I think maybe it's time to add some examples repo, where adding just code without docs would be fine.

avirtuos commented 6 months ago

Hey @vadorovsky ,

Thanks for the reply. I'd be open to updating the book. I think it might make sense for me to enhance the existing section on classifiers since that make use of the tc-egress example that this PR was inspired by (https://github.com/aya-rs/book/blob/main/docs/book/programs/classifiers.md). What are your thoughts on that approach?

I'm also curious if you'd be willing to let me update this chapter as part of a separate PR so that we can get this example out there sooner for prospective users of aya who may be right now struggling to get started with the existing example set. I think its fairly common for folks to check the example directory based on other posts I saw online.

Thanks.