3 ms·
This seems like an instance where BPF could shine. If I had a large magic wand, I’d love to have distributed traces of database query execution with spans or ev
by sa46 5y ago
This seems like an instance where BPF could shine. If I had a large magic wand, I’d love to have distributed traces of database query execution with spans or events for significant events like the GIN pending list cleanup described in the article.
- mettamage 5y agoAfter reading a couple of chapters in Brendan Gregg’s book I tend to agree.
- bonobocop 5y agoI used BPF (using _both_ of Brendan Gregg's recent books!) on our Jenkins builds recently to figure out why `TRUNCATE` statements were taking longer than I expected. The underlying cause was that `ext4` filesystem was journalled and the `fsync`s were waiting on `jbd2_log_wait_commit`, which offcpu sampling let me pick up. I don't think I would have been able to trace the kernel call and link it all the way back to the application call without BPF (at least I wouldn't have been able to).
- mettamage 5y agoThanks for this story! I haven’t seen many practical examples yet. Fun fun :)
- avinassh 5y agowhich book?
- fuy 5y agohttp://www.brendangregg.com/bpf-performance-tools-book.html http://www.brendangregg.com/bpf-performance-tools-book.html
- mulander 5y agoCheck the slides/talk from my comment here elsewhere in this thread: https://news.ycombinator.com/item?id=27163455 https://news.ycombinator.com/item?id=27163455 We did use DTrace to diagnose what was the root cause of a hanging insert (it was the same pending list cleanup as on this blog post). The whole talk we did was about DTracing PostgreSQL :)