perl/mydtrace.h
David Leadbeater 3e2413e5f9 [perl #80548] Add the stash name to DTrace probes
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.)
2010-12-10 16:09:32 -08:00

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:
*/