mirror of
https://github.com/Perl/perl5.git
synced 2026-01-26 08:38:23 +00:00
This adds an additional parameter to perl's dtrace probes with the stash name of the subroutine. This generally looks nicer than the filename but gives a similar level of context. As this is an additional parameter this will not have an impact on existing DTrace scripts. (Also due to the way DTrace works I believe it does not break binary compatibility and would be safe to backport to maint-5.12 if desired, but I'm not a DTrace expert.)
43 lines
1000 B
C
43 lines
1000 B
C
/* mydtrace.h
|
|
*
|
|
* Copyright (C) 2008, by Larry Wall and others
|
|
*
|
|
* You may distribute under the terms of either the GNU General Public
|
|
* License or the Artistic License, as specified in the README file.
|
|
*
|
|
* Provides macros that wrap the various DTrace probes we use. We add
|
|
* an extra level of wrapping to encapsulate the _ENABLED tests.
|
|
*/
|
|
|
|
#if defined(USE_DTRACE) && defined(PERL_CORE)
|
|
|
|
# include "perldtrace.h"
|
|
|
|
# define ENTRY_PROBE(func, file, line, stash) \
|
|
if (PERL_SUB_ENTRY_ENABLED()) { \
|
|
PERL_SUB_ENTRY(func, file, line, stash); \
|
|
}
|
|
|
|
# define RETURN_PROBE(func, file, line, stash) \
|
|
if (PERL_SUB_RETURN_ENABLED()) { \
|
|
PERL_SUB_RETURN(func, file, line, stash); \
|
|
}
|
|
|
|
#else
|
|
|
|
/* NOPs */
|
|
# define ENTRY_PROBE(func, file, line, stash)
|
|
# define RETURN_PROBE(func, file, line, stash)
|
|
|
|
#endif
|
|
|
|
/*
|
|
* Local variables:
|
|
* c-indentation-style: bsd
|
|
* c-basic-offset: 4
|
|
* indent-tabs-mode: t
|
|
* End:
|
|
*
|
|
* ex: set ts=8 sts=4 sw=4 noet:
|
|
*/
|