mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-02 16:44:10 +08:00
4d161f0360
Adds a set of scripts that aggregate system call totals and system call errors. Most are Python scripts that also test basic functionality of the new Python engine, but there's also one Perl script added for comparison and for reference in some new Documentation contained in a later patch. Signed-off-by: Tom Zanussi <tzanussi@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Keiichi KII <k-keiichi@bx.jp.nec.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Paul Mackerras <paulus@samba.org> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> LKML-Reference: <1264580883-15324-8-git-send-email-tzanussi@gmail.com> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
39 lines
1.0 KiB
Raku
39 lines
1.0 KiB
Raku
# failed system call counts
|
|
# (c) 2010, Tom Zanussi <tzanussi@gmail.com>
|
|
# Licensed under the terms of the GNU GPL License version 2
|
|
#
|
|
# Displays system-wide failed system call totals
|
|
# If a [comm] arg is specified, only syscalls called by [comm] are displayed.
|
|
|
|
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;
|
|
|
|
my %failed_syscalls;
|
|
|
|
sub raw_syscalls::sys_exit
|
|
{
|
|
my ($event_name, $context, $common_cpu, $common_secs, $common_nsecs,
|
|
$common_pid, $common_comm,
|
|
$id, $ret) = @_;
|
|
|
|
if ($ret < 0) {
|
|
$failed_syscalls{$common_comm}++;
|
|
}
|
|
}
|
|
|
|
sub trace_end
|
|
{
|
|
printf("\nfailed syscalls by comm:\n\n");
|
|
|
|
printf("%-20s %10s\n", "comm", "# errors");
|
|
printf("%-20s %6s %10s\n", "--------------------", "----------");
|
|
|
|
foreach my $comm (sort {$failed_syscalls{$b} <=> $failed_syscalls{$a}}
|
|
keys %failed_syscalls) {
|
|
printf("%-20s %10s\n", $comm, $failed_syscalls{$comm});
|
|
}
|
|
}
|