diff options
| author | Michael Petlan <mpetlan@redhat.com> | 2020-03-11 14:28:36 +0100 | 
|---|---|---|
| committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2020-03-11 11:20:24 -0300 | 
| commit | 67439d555f7d46349deef56886129da96bd15744 (patch) | |
| tree | 32f98af9a531c443812c1ddebd3624c62315eb6a /tools/perf/scripts/perl/rw-by-file.pl | |
| parent | ec2eab9deb8009fd8c69d61d04c66b77d438f17d (diff) | |
perf scripting perl: Add common_callchain to fix argument order
Since common_callchain has been added to the argument array, we need to
reflect it in perl-based scripts, because otherwise the following args
would be shifted and thus incorrect. E.g. rw-by-pid and calculation of
read and written bytes:
Before:
  read counts by pid:
     pid                  comm     # reads  bytes_requested  bytes_read
  ------  --------------------  -----------  ----------  ----------
   19301  dd                             4  424510450039736           0
After:
  read counts by pid:
     pid                  comm     # reads  bytes_requested  bytes_read
  ------  --------------------  -----------  ----------  ----------
   19301  dd                             4        9536             4341
Committer testing:
To see before after first do:
  # perf script record rw-by-pid
  ^C
Now you'll have a perf.data file to report on, then do before and after
using:
  # perf script report rw-by-pid
Anbd notice the bytes_request/bytes_read, as above.
Signed-off-by: Michael Petlan <mpetlan@redhat.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Benjamin Salon <bsalon@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
LPU-Reference: 20200311132836.12693-1-mpetlan@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/scripts/perl/rw-by-file.pl')
| -rw-r--r-- | tools/perf/scripts/perl/rw-by-file.pl | 6 | 
1 files changed, 3 insertions, 3 deletions
| diff --git a/tools/perf/scripts/perl/rw-by-file.pl b/tools/perf/scripts/perl/rw-by-file.pl index 168fa5e94b44..92a750b8552b 100644 --- a/tools/perf/scripts/perl/rw-by-file.pl +++ b/tools/perf/scripts/perl/rw-by-file.pl @@ -28,7 +28,7 @@ my %writes;  sub syscalls::sys_enter_read  {      my ($event_name, $context, $common_cpu, $common_secs, $common_nsecs, -	$common_pid, $common_comm, $nr, $fd, $buf, $count) = @_; +	$common_pid, $common_comm, $common_callchain, $nr, $fd, $buf, $count) = @_;      if ($common_comm eq $for_comm) {  	$reads{$fd}{bytes_requested} += $count; @@ -39,7 +39,7 @@ sub syscalls::sys_enter_read  sub syscalls::sys_enter_write  {      my ($event_name, $context, $common_cpu, $common_secs, $common_nsecs, -	$common_pid, $common_comm, $nr, $fd, $buf, $count) = @_; +	$common_pid, $common_comm, $common_callchain, $nr, $fd, $buf, $count) = @_;      if ($common_comm eq $for_comm) {  	$writes{$fd}{bytes_written} += $count; @@ -98,7 +98,7 @@ sub print_unhandled  sub trace_unhandled  {      my ($event_name, $context, $common_cpu, $common_secs, $common_nsecs, -	$common_pid, $common_comm) = @_; +	$common_pid, $common_comm, $common_callchain) = @_;      $unhandled{$event_name}++;  } | 
