I'm helping develop an internal cloud infrastructure (OpenStack) to provide our departments with a fully on-premises alternative to AWS/Rackspace/SoftLayer/etc.
My boss just relayed a question to me from some internal customer who is asking us to support DTrace. I'm aware of the Oracle DTrace Project and the dtrace4linux and Linux' own native SystemTap (which I recall was initially built over Linux kprobes; but I gather than newer versions of SystemTap can tap into DTrace or the uprobes patches which were merged into the 3.5 kernels). I've also heard of Sysdig and LTTng and even fulltrace (what's the difference between the Linux kernels ftrace
and uprobes
support?)
My initial response was to ask whether this user has attempted to make effective use of ltrace and it's -S
option to interleave system call tracing (à la strace).
But I also want to know more before the customer comes back.
My first and most important question is: which among these various options can be used on CentOS 6, 6.5, and 7.0 "out-of-the-box" (without replacing the stock kernels)? Same question for the Ubuntu 12.04 and 14.04 LTS releases?
Are any of these particularly suited or particularly bad for use from within cloud VM instances (OpenStack Nova, KVM)?
Is there a reasonably good and reasonably recent comparison of these options? What's my best bet for the time and effort investment involved with each of them?
What ever happened to Niels Provos' work on Systrace