aboutsummaryrefslogtreecommitdiffstats
path: root/lib/runtime_tools/examples
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2012-03-21 14:26:47 +0100
committerPatrik Nyblom <[email protected]>2012-03-22 18:16:16 +0100
commit1e653c3539423e4cfdeab1d232483bcac0e8b073 (patch)
tree72526f18a3bee00399972b09912e11322023d48c /lib/runtime_tools/examples
parent848f6e541f779e13f7d99bbd0c99ac37a9bd56e8 (diff)
downloadotp-1e653c3539423e4cfdeab1d232483bcac0e8b073.tar.gz
otp-1e653c3539423e4cfdeab1d232483bcac0e8b073.tar.bz2
otp-1e653c3539423e4cfdeab1d232483bcac0e8b073.zip
Use distinct function-entry probes for local and global calls
It seems useful to be able to filter out (for example) just the global calls.
Diffstat (limited to 'lib/runtime_tools/examples')
-rw-r--r--lib/runtime_tools/examples/function-calls.d10
-rw-r--r--lib/runtime_tools/examples/function-calls.systemtap10
2 files changed, 16 insertions, 4 deletions
diff --git a/lib/runtime_tools/examples/function-calls.d b/lib/runtime_tools/examples/function-calls.d
index 238c5211ac..3e015dc2d2 100644
--- a/lib/runtime_tools/examples/function-calls.d
+++ b/lib/runtime_tools/examples/function-calls.d
@@ -18,9 +18,15 @@
* %CopyrightEnd%
*/
-erlang*:::function-entry
+erlang*:::local-function-entry
{
- printf("pid %s enter %s depth %d\n",
+ printf("pid %s enter (local) %s depth %d\n",
+ copyinstr(arg0), copyinstr(arg1), arg2);
+}
+
+erlang*:::global-function-entry
+{
+ printf("pid %s enter (global) %s depth %d\n",
copyinstr(arg0), copyinstr(arg1), arg2);
}
diff --git a/lib/runtime_tools/examples/function-calls.systemtap b/lib/runtime_tools/examples/function-calls.systemtap
index 8fc4375135..16c9c04918 100644
--- a/lib/runtime_tools/examples/function-calls.systemtap
+++ b/lib/runtime_tools/examples/function-calls.systemtap
@@ -28,9 +28,15 @@
* environment.
*/
-probe process("beam").mark("function-entry")
+probe process("beam").mark("local-function-entry")
{
- printf("pid %s enter %s depth %d\n",
+ printf("pid %s enter (local) %s depth %d\n",
+ user_string($arg1), user_string($arg2), $arg3);
+}
+
+probe process("beam").mark("global-function-entry")
+{
+ printf("pid %s enter (global) %s depth %d\n",
user_string($arg1), user_string($arg2), $arg3);
}