Commit e31e319165 for perl

commit e31e319165c24f8570f55e15f038ffc39849791a
Author: Sevan Janiyan <venture37@geeklan.co.uk>
Date:   Tue Sep 22 01:37:52 2026 +0100

    perldtrace.pod tweaks

    The opening example invokes DTrace first with -Z to allow not matching
    on any probes, and then DTrace enabled perl is run subsequently which
    will create a provider named perl, followed by its PID.

    DTrace support was dropped in MySQL 8.

    Provide an example on how to find what probes are available.

    Tested on Solaris 10 & macOS 26 on Intel.

diff --git a/pod/perldtrace.pod b/pod/perldtrace.pod
index 5c33e26128..27b2d0169e 100644
--- a/pod/perldtrace.pod
+++ b/pod/perldtrace.pod
@@ -4,8 +4,8 @@ perldtrace - Perl's support for DTrace

 =head1 SYNOPSIS

- # dtrace -Zn 'perl::sub-entry, perl::sub-return { trace(copyinstr(arg0)) }'
- dtrace: description 'perl::sub-entry, perl::sub-return ' matched 10 probes
+ # dtrace -Zn 'perl*:::sub-entry, perl*:::sub-return { trace(copyinstr(arg0)) }'
+ dtrace: description 'perl*::sub-entry, perl*::sub-return ' matched 0 probes

  # perl -E 'sub outer { inner(@_) } sub inner { say shift } outer("hello")'
  hello
@@ -27,7 +27,7 @@ DTrace is a framework for comprehensive system- and application-level
 tracing. Perl is a DTrace I<provider>, meaning it exposes several
 I<probes> for instrumentation. You can use these in conjunction
 with kernel-level probes, as well as probes from other providers
-such as MySQL, in order to diagnose software defects, or even just
+such as PostgreSQL, in order to diagnose software defects, or even just
 your application's bottlenecks.

 Perl must be compiled with the C<-Dusedtrace> option in order to
@@ -141,6 +141,31 @@ C<Module::Name>-style names.

 =over 4

+=item List available probes
+
+ # dtrace -P perl\* -c /usr/local/bin/perl -l
+
+   ID   PROVIDER            MODULE                          FUNCTION NAME
+ 1286  perl59340     libperl.dylib            Perl_dtrace_probe_load loaded-file
+ 1287  perl59340     libperl.dylib            Perl_dtrace_probe_load loading-file
+ 1288  perl59340     libperl.dylib              Perl_runops_standard op-entry
+ 1289  perl59340     libperl.dylib                 Perl_runops_debug op-entry
+ 1290  perl59340     libperl.dylib                        S_run_body op-entry
+ 1291  perl59340     libperl.dylib                          perl_run op-entry
+ 1292  perl59340     libperl.dylib                        perl_parse op-entry
+ 1293  perl59340     libperl.dylib                     perl_destruct op-entry
+ 1294  perl59340     libperl.dylib              Perl_dtrace_probe_op op-entry
+ 1295  perl59340     libperl.dylib           Perl_dtrace_probe_phase phase-change
+ 1296  perl59340     libperl.dylib                   Perl_cx_pushsub sub-entry
+ 1297  perl59340     libperl.dylib                      Perl_pp_sort sub-entry
+ 1298  perl59340     libperl.dylib                  Perl_pp_entersub sub-entry
+ 1299  perl59340     libperl.dylib                  Perl_pp_leavesub sub-entry
+ 1300  perl59340     libperl.dylib                   Perl_pp_require sub-entry
+ 1301  perl59340     libperl.dylib                   Perl_pp_dbstate sub-entry
+ 1302  perl59340     libperl.dylib                    Perl_cx_popsub sub-entry
+ 1303  perl59340     libperl.dylib            Perl_dtrace_probe_call sub-entry
+ 1304  perl59340     libperl.dylib            Perl_dtrace_probe_call sub-return
+
 =item Most frequently called functions

  # dtrace -qZn 'sub-entry { @[strjoin(strjoin(copyinstr(arg3),"::"),copyinstr(arg0))] = count() } END {trunc(@, 10)}'