PERF-SCRIPT-PERL(1) perf Manual PERF-SCRIPT-PERL(1) (NAME) perf-script-perl - Perl (SYNOPSIS) perf script [-s [Perl]:script[.pl] ] (DESCRIPTION) perf script perf script Perl perf . Perl . (STARTER SCRIPTS) perf script -g perl perf.data . . ~/libexec/perf-core/scripts/perl . check-perf-script.pl . (EVENT HANDLERS) perf script . ( trace_unhandled ) . - perf ( ). perf record sched_wakeup : # perf record -a -e sched:sched_wakeup : -a . sched_wakeup ( /sys/kernel/tracing/events/sched/sched_wakeup/format ): .ft C format: field:unsigned short common_type; field:unsigned char common_flags; field:unsigned char common_preempt_count; field:int common_pid; field:char comm[TASK_COMM_LEN]; field:pid_t pid; field:int prio; field:int success; field:int target_cpu; .ft : .ft C sub sched::sched_wakeup { my ($event_name, $context, $common_cpu, $common_secs, $common_nsecs, $common_pid, $common_comm, $comm, $pid, $prio, $success, $target_cpu) = @_; } .ft subsystem::event_name . $common_* common_* common_* . : $event_name $context ('cookie') perf $common_cpu $common_secs $common_nsecs $common_pid (PID) $common_comm . . . (SCRIPT LAYOUT) Perl perf script Perl ('use' ) ( ): .ft C use lib "$ENV{'PERF_EXEC_PATH'}/scripts/perl/Perf-Trace-Util/lib"; use lib "./Perf-Trace-Util/lib"; use Perf::Trace::Core; use Perf::Trace::Context; use Perf::Trace::Util; .ft . : trace_begin : .ft C sub trace_begin { } .ft trace_end : .ft C sub trace_end { } .ft trace_unhandled . : .ft C sub trace_unhandled { my ($event_name, $context, $common_cpu, $common_secs, $common_nsecs, $common_pid, $common_comm) = @_; } .ft Perl perf script . (AVAILABLE MODULES AND FUNCTIONS) Perl Perf::Trace::* . use Perf::Trace::XXX perf script . Perf::Trace::Core . flag_str symbol_str . print fmt : flag_str($event_name, $field_name, $field_value) - $field_value $field_name $event_name symbol_str($event_name, $field_name, $field_value) - $field_value $field_name $event_name Perf::Trace::Context common . Perf::Trace::Context . $context $context . common_pc($context) - common_preempt count common_flags($context) - common_flags common_lock_depth($context) - common_lock_depth Perf::Trace::Util perf script: nsecs($secs, $nsecs) - nsecs secs/nsecs nsecs_secs($nsecs) - nsecs nsecs_nsecs($nsecs) - nsecs nsecs nsecs_str($nsecs) - secs.nsecs avg($total, $n) - (SEE ALSO) perf-script(1) perf 09/04/2026 PERF-SCRIPT-PERL(1)