Great end-to-end overview!

It's interesting to see people stick to bpftrace for the high-level language and bcc for the low-level one. If there is a bytecode VM, I expect many languages to bloom, especially the VM is embedded into the most popular open source software - Linux.

I don't say bpftrace or C is bad, but they are rather classic. In typical OSS community, PL enthusiasts chime in, nitpick and eventually build something fancier (which is good sometimes and bad other times). Isn't it happening here in BPF? Is the domain too niche, or is the VM capability too limited?

The bcc toolkit has been out for a while [1], it is a great collection of python wrapped bpf tools that is a little more user friendly.

[1] https://github.com/iovisor/bcc