Sysdig Inspect: A GUI for System Call Analysis
sysdig.com
sysdig.com
so to more directly answer your question; sysdig is the linux equivalent of the kernel module (plus userland grabby bits) needed for the executive pointy-clicky dashboard.
https://sysdig.com/blog/sysdig-vs-dtrace-vs-strace-a-technic...
It's worth a read.
The library that provides the API for these trace points is SystemTap (sys/sdt.h), which is -- AFAICS -- the primary method of USDT instrumenting on Linux. Conveniently, SystemTap's USDT API is the exact same as DTrace's API: you can simply use sprinkle `DTRACE_PROBEn` calls around and it will work fine on either, use the 'dtrace' tool to generate code from a provider, etc etc. Their dtrace tool is just a thin script that's compatible with the FreeBSD variant.
(The nice part about this is that you should just be able to relax e.g. your autoconf checks from enabling DTRACE_PROBEn calls on FreeBSD/Solaris to include Linux as well, so migration should be smooth)
Check out some info here[1].
Alternatively, for "simple" cases where you do not need provider support (e.g. inputs to the trace points), if the executable just has enough symbol information for function names, or the symbol names are exported anyway, you can generally glean some relevant information. For example, the following command uses the 'funclatency' tool to dump a latency histogram of every function call to any function with the word 'poke' in its name, for the application named 'app' in the CWD:
sudo /usr/share/bcc/tools/funclatency -F -T \
$(pwd)/app:*poke* \
-p $(pidof app)
NB: It is also worth noting that 'perf' on Linux has some form of uprobes support; e.g. it can probe functions based on the symbol name, but only for the events/interfaces it has available, I believe.[1] http://blogs.microsoft.co.il/sasha/2016/03/30/usdt-probe-sup...
Sysdig's commercial security and monitoring products do have pricing pages within the top navigation as well : https://sysdig.com/product/monitor/pricing/
For a tool like this; quality documentation really is a must. And it isn't.
A quick scan of the docs, it looks like we can extend the filtering via LUA ("chisels"). No python love?