diff options
author | Fred Hebert <[email protected]> | 2018-11-08 16:09:03 -0500 |
---|---|---|
committer | Fred Hebert <[email protected]> | 2018-11-08 16:19:22 -0500 |
commit | 5eb19cc0aa240713a9a6f47e0e233c1ce3956b38 (patch) | |
tree | f0dc48d150a041be86bc36d4c74328f5eb27ed99 /lib/runtime_tools/examples/dist.systemtap | |
parent | 8b7cd6224d739b703887a3e2be57ea8f1309a827 (diff) | |
download | otp-5eb19cc0aa240713a9a6f47e0e233c1ce3956b38.tar.gz otp-5eb19cc0aa240713a9a6f47e0e233c1ce3956b38.tar.bz2 otp-5eb19cc0aa240713a9a6f47e0e233c1ce3956b38.zip |
Update systemtap trace example scripts
- Update all scripts to use the beam.smp emulator, since the non-SMP one
is gone
- Fix some scripts that had been copied directly from dtrace and were
invalid either for functions or for probe names
- Removed a driver__event probe check since it appears to not exist
Diffstat (limited to 'lib/runtime_tools/examples/dist.systemtap')
-rw-r--r-- | lib/runtime_tools/examples/dist.systemtap | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/lib/runtime_tools/examples/dist.systemtap b/lib/runtime_tools/examples/dist.systemtap index bb20d617e1..4102a5243c 100644 --- a/lib/runtime_tools/examples/dist.systemtap +++ b/lib/runtime_tools/examples/dist.systemtap @@ -19,18 +19,18 @@ * %CopyrightEnd% */ /* - * Note: This file assumes that you're using the non-SMP-enabled Erlang - * virtual machine, "beam". The SMP-enabled VM is called "beam.smp". + * Note: This file assumes that you're using the SMP-enabled Erlang + * virtual machine, "beam.smp". * Note that other variations of the virtual machine also have * different names, e.g. the debug build of the SMP-enabled VM * is "beam.debug.smp". * * To use a different virtual machine, replace each instance of - * "beam" with "beam.smp" or the VM name appropriate to your - * environment. + * "beam.smp" with "beam.debug.smp" or the VM name appropriate + * to your environment. */ -probe process("beam").mark("dist-monitor") +probe process("beam.smp").mark("dist-monitor") { printf("monitor: pid %d, who %s, what %s, node %s, type %s, reason %s\n", pid(), @@ -38,38 +38,38 @@ probe process("beam").mark("dist-monitor") user_string($arg5)); } -probe process("beam").mark("dist-port_busy") +probe process("beam.smp").mark("dist-port_busy") { printf("dist port_busy: node %s, port %s, remote_node %s, blocked pid %s\n", user_string($arg1), user_string($arg2), user_string($arg3), user_string($arg4)); - blocked_procs[user_string($arg4)] = timestamp; + blocked_procs[user_string($arg4)] = local_clock_ns(); } -probe process("beam").mark("dist-port_busy") +probe process("beam.smp").mark("dist-port_busy") { printf("dist port_busy: node %s, port %s, remote_node %s, blocked pid %s\n", user_string($arg1), user_string($arg2), user_string($arg3), user_string($arg4)); - blocked_procs[user_string($arg4)] = timestamp; + blocked_procs[user_string($arg4)] = local_clock_ns(); } -probe process("beam").mark("dist-output") +probe process("beam.smp").mark("dist-output") { printf("dist output: node %s, port %s, remote_node %s bytes %d\n", user_string($arg1), user_string($arg2), user_string($arg3), $arg4); } -probe process("beam").mark("dist-outputv") +probe process("beam.smp").mark("dist-outputv") { printf("port outputv: node %s, port %s, remote_node %s bytes %d\n", user_string($arg1), user_string($arg2), user_string($arg3), $arg4); } -probe process("beam").mark("process-scheduled") +probe process("beam.smp").mark("process-scheduled") { pidstr = user_string($arg1); if (pidstr in blocked_procs) { printf("blocked pid %s scheduled now, waited %d microseconds\n", - pidstr, (timestamp - blocked_procs[pidstr]) / 1000); + pidstr, (local_clock_ns() - blocked_procs[pidstr]) / 1000); delete blocked_procs[pidstr]; } } |