Re:Show HN: A simple, pretty alternative to strace written i...
by JAKWAI on Friday July 29, 2022 @01:10PM
(#32279452)
Uhh thanks for your feedback. That's very valuable to me since I did not actually know anyone who regularly uses strace. I will definitely look into implementing these flags then!
Re:Show HN: A simple, pretty alternative to strace written i...
by JAKWAI on Friday July 29, 2022 @08:10AM
(#32275908)
Hi! Like strace, lurk allows a user to trace system calls. It implements an opinionated subset of strace. Compared to strace, lurk is optimized for readability and supports structured output in JSON format.
Re:Show HN: A simple, pretty alternative to strace written i...
by JAKWAI on Friday July 29, 2022 @09:42AM
(#32276757)
Thanks! I was invested in improving the user experience of strace. Strace is incredibly useful for debugging but I wouldn't consider it particularly "accessible". Understanding the output is quite a challenge at first. My goal was to remove this burden and therefore make strace accessible to a broader audience. I probably should also mention that Julia Evan's talks also had quite an impact on me: https://www.youtube.com/watch?v=HfD9IMZ9rKY :)
Re:Show HN: A simple, pretty alternative to strace written i...
by pojntfx on Friday July 29, 2022 @08:33AM
(#32276076)
Cool project, I really like the new structured output - that will make parsing stuff much easier than with strace! Is the performance overhead of tracing the syscalls comparable to strace?
Re:Show HN: A simple, pretty alternative to strace written i...
by JAKWAI on Friday July 29, 2022 @08:52AM
(#32276221)
Thanks for your feedback :D! I have actually never tested the performance compared to strace. I just used `time` to try to get a rough estimate and the two were basically taking the same time for the tasks I threw at them. I certainly think that there is _some_ overhead. Either in my _not fully optimized_ implementation or in the libc wrappers the *nix crate provides. Probably the former ;).
afaics the wall clock time of the call is not implemented. This is effectively useless to me without that.
The second -ff is critical for following busy multiprocess stuff like a JVM.
If you aren't resolving every known struct then -x and -xx can be useful.
The FD resolution provided by -yy is not critical but can be a real time saver.
The flags I use most often are -ffttTyy -o -s
Iād be happy to receive some feedback : )
What prompted you to invest your time in this project vs the others that you were probably considering?