• Namhyung Kim's avatar
    perf script/python: Print array argument as string · e646fe73
    Namhyung Kim authored
    With the Sebastian's change of handling num array argument (of raw
    syscall enter), the script still failed to work like this:
    
      $ perf record -e raw_syscalls:* sleep 1
      $ perf script -g python
      $ perf script -s perf-script.py
      ...
      Traceback (most recent call last):
        File "perf-script.py", line 42, in raw_syscalls__sys_enter
          (id, args),
      TypeError: %u format: a number is required, not list
      Fatal Python error: problem in Python trace event handler
      Aborted (core dumped)
    
    This is because the generated script tries to print the array arg as
    unsigned integer (%u).  Since the python seems to convert arguments to
    strings by default, just using %s solved the problem for me.
    Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Cc: Tom Zanussi <tzanussi@gmail.com>
    Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Link: http://lkml.kernel.org/r/1401338695-18837-1-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarJiri Olsa <jolsa@kernel.org>
    e646fe73
trace-event-python.c 17.9 KB