You should also check out bpftrace which is a specific DSL to write both the kernel and userspace part in one language - rather than the mixed python/C approach people mostly took before that. And you can output things potentially as text or json for parsing.
https://github.com/iovisor/bpftrace
I would also strongly recommend Brendan Greggs book: http://www.brendangregg.com/bpf-performance-tools-book.html