Yesterday I added Linux container support to rbspy, so that an instance of rbspy running on the host machine can profile Ruby programs running in containers… I thought it would be fun to explain what adding “container support” involves in practice!
(rbspy is her sampling profiler for Ruby.)
This bit is interesting, and why this post isn’t tagged with the Docker topic:
We didn’t need to care about Docker or anything like that – it’s irrelevant what container runtime our containers are using, and we certainly don’t interact with Docker at all.
I guess a few simple syscalls is all it takes!