The first implementation of DTrace probes for the Erlang virtual machine was presented at the 2008 Erlang User Conference
. That work, based on the Erlang/OTP R12 release, was discontinued due to what appears to be miscommunication with the original developers.
Several users have created Erlang port drivers, linked-in drivers, or NIFs that allow Erlang code to try to activate a probe, e.g. foo_module:dtrace_probe("message goes here!")
.
$ERL_TOP/HOWTO/SYSTEMTAP.md
for more details. Just add the --with-dynamic-trace=dtrace
option to your command when you run the configure
script. If you are using systemtap, the configure option is --with-dynamic-trace=systemtap
As of R15B01, the dynamic trace code is included in the OTP source distribution, although it's considered experimental. The main development of the dtrace code still happens outside of Ericsson, but there is no need to fetch a patched version of the OTP source to get the basic functionality.
Probe specifications can be found in erts/emulator/beam/erlang_dtrace.d
, and a few example scripts can be found under lib/runtime_tools/examples/
.
© 2010–2017 Ericsson AB
Licensed under the Apache License, Version 2.0.