Last month, our own Ozan Sazak presented "An Applied Introduction to eBPF with Go" at Go Konf in Istanbul. This article is a written adaptat

An Applied Introduction to eBPF with Go

submited by
Style Pass
2024-04-23 17:30:04

Last month, our own Ozan Sazak presented "An Applied Introduction to eBPF with Go" at Go Konf in Istanbul. This article is a written adaptation of his presentation. You can find his slides here.

Most of the time when we are developing software or even using software, we are playing within the safe boundaries of the operating system. We don't even know how that IP packet was welcomed from the network interface, or those inodes were handled by the filesystem when we save a file.

That boundary is called the user space, and it's where we write our applications, libraries, and tools. But there's another world, which is the kernel space. It's where the operating system's kernel resides, and it's responsible for managing the system's resources, such as memory, CPU, and I/O devices.

We usually don't need to go below the sockets or file descriptors, but sometimes we need to. Let's say you want to profile an application to see how much resource it consumes.

Leave a Comment