Full-system dynamic tracing on Linux using eBPF and bpftrace

Linux has two well-known tracing tools:

  • strace allows you to see what system calls are being made.
  • ltrace allows you to see what dynamic library calls are being made.

Though useful, these tools are limited. What if you want to trace what happens inside a system call or library call? What if you want to do more than just logging calls, e.g. you want to compile statistics on certain behavior? What if you want to trace multiple processes and correlate data from multiple sources?

In 2019, there's finally a decent answer to that on Linux: bpftrace, based on eBPF technology. Bpftrace allows you to write small programs that execute whenever an event occurs.

This article shows you how to setup bpftrace and teaches you its basic usage. I'll also give an overview of how the tracing ecosystem looks like (e.g. "what's eBPF?") and how it came to be what it is today.

Read more »

Self-awareness vs confidence

Some people I know tend to have an air of confidence around them. They wield their Steve Jobs reality distortion field, commanding attention and persuading people. They almost always act like they are certain of everything.

My natural inclination appears to be the opposite: I tend to be careful until I have done a careful analysis. I only act confident when I am sure, which can take a while. I think a lot about whether I am doing the right thing.

Experience has given me reason to believe that I am more self-aware than many other people. Yet I have also learned that this self-awareness comes at a price. Thus, I have been wondering why I am like this, and what I should learn from self-certain people.

Read more »

Lessons learned after requesting 40 customer interviews

I previously blogged about and summarized the Lean Startup methodology and requesting customer interviews. Lean Startup literature make it sound as if customer development is hard work, but manageable. Well, even that is an understatement: even requesting customer interviews is hard! I spent the past month contacting 40 people by phone, email and LinkedIn. Here are the biggest issues I ran into and the biggest lessons I learned while doing customer development in the Netherlands, in a B2B context.

Read more »
Page 1 of 3