From 6f6f8fdb06c3b1c54a3c25e0ac5fb47945be3e94 Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Thu, 19 Mar 2015 19:07:02 +0100 Subject: [PATCH] Add systemtap probes for new DTrace markers --- perl.spec | 5 ++++- perl.stp | 42 +++++++++++++++++++++++++++++++++++++----- 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/perl.spec b/perl.spec index d278664..bca43e8 100644 --- a/perl.spec +++ b/perl.spec @@ -30,7 +30,7 @@ Name: perl Version: %{perl_version} # release number must be even higher, because dual-lived modules will be broken otherwise -Release: 323%{?dist} +Release: 324%{?dist} Epoch: %{perl_epoch} Summary: Practical Extraction and Report Language Group: Development/Languages @@ -3841,6 +3841,9 @@ sed \ # Old changelog entries are preserved in CVS. %changelog +* Thu Mar 19 2015 Lubomir Rintel - 4:5.20.2-324 +- Add systemtap probes for new dtrace markers + * Mon Mar 16 2015 Petr Pisar - 4:5.20.2-323 - Move perl(:MODULE_COMPAT_*) symbol and include directories to perl-libs package (bug #1174951) diff --git a/perl.stp b/perl.stp index ccc203b..dbc51a8 100644 --- a/perl.stp +++ b/perl.stp @@ -12,9 +12,9 @@ probe perl.sub.call = process("LIBRARY_PATH").mark("sub__entry") } -/* - This probe will fire when the return from a subroutine has been - hit. +/* + This probe will fire when the return from a subroutine has been + hit. */ probe perl.sub.return = process("LIBRARY_PATH").mark("sub__return") @@ -27,7 +27,7 @@ probe perl.sub.return = process("LIBRARY_PATH").mark("sub__return") } -/* +/* This probe will fire when the Perl interperter changes state. */ @@ -35,5 +35,37 @@ probe perl.phase.change = process("LIBRARY_PATH").mark("phase__change") { newphase = user_string($arg1) oldphase = user_string($arg2) - + +} + + +/* + Fires when Perl has successfully loaded an individual file. + */ + +probe perl.loaded.file = process("LIBRARY_PATH").mark("loaded__file") +{ + filename = user_string($arg1) + +} + + +/* + Fires when Perl is about to load an individual file. + */ + +probe perl.loading.file = process("LIBRARY_PATH").mark("loading__file") +{ + filename = user_string($arg1) + +} + + +/* + Traces the execution of each opcode in the Perl runloop. + */ + +probe perl.op.entry = process("LIBRARY_PATH").mark("op__entry") +{ + opname = user_string($arg1) }