It's a command that prints the system calls (done via library). So you see write(55, "[1,2,3,4]\n")
write(55, "[1,2,3,4]\n", 10)
{ "syscall": "write", "params": { "fd": 55, "buf": "[1,2,3,4]\n", "len": 10 } }
It can be parsed by any modern language, and deserialization is cheap.
Can we please rewrite strace with this in mind? Preferably in Rust.
Anyway they'd probably accept a patch for json output format. I don't think it's so difficult to do.
You can ask them in advance if they'd be willing to accept it, before starting to write it.