I haven't used either perf or systemtap enough for my opinion to be relevant, but it really seems to me like the perf people are focused on a narrow audience that does not happen to include anyone who lives in userspace. Systemtap people *are* actively concerned with sysadmins, userspace developers, etc., and are working on the large and important set of user problems such as the API/ABI one described in this article. But stap's users and developers are getting scared off by the vague but generally negative attitude towards the project by the kernel developers.
Isn't it time for the perf community to come out and directly identify what they dislike about the systemtap approach, and state their plans for "the right way" to overcome the problems that systemtap is addressing?
There's obviously a fundamental difference between "log everything and analyze it afterward" vs "run analysis code online, possibly modifying what gets traced at runtime, and report only on digested results". Is that all it is? They're mutually compatible, and as a user I've had uses for both on different problems.
To be sure, the systemtap community could do a much better job of giving examples of problems that required their approach -- but why should they go to the effort of describing those if they're just going to be ignored anyway?
(My example: I needed to identify the source of a periodic 10ms latency in between invocations of my realtime-scheduled thread. I wrote a systemtap script to record the end time of my thread's wakeup, subtract that from the start time of the next wakeup, and if that was <3ms I would throw out the various traces I had logged in between. If it was greater, I'd remember those traces plus grab some more expensive stuff (stack traces). Numbers are from memory and guaranteed to be wrong.)
Copyright © 2018, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds