Hi Seeteena, Jiri,

On 1/17/19 6:02 PM, Jiri Olsa wrote:
> On Thu, Jan 17, 2019 at 03:15:28PM +0530, Seeteena Thoufeek wrote:
>> Support both Python 2 and Python 3 in check-perf-trace.py.
>> ``print`` is now a function rather than a statement. This should have
>> no functional change.
>>
>> Fix indentation issue, replace spaces with tab
>>
>> Signed-off-by: Seeteena Thoufeek <s1see...@linux.vnet.ibm.com>
>> Reviewed-by: Ravi Bangoria <ravi.bango...@linux.ibm.com>
> 
> hum, could you please add some info about testing those changes?
> (or even some global into 0/.. patch)
> 
> this is working for me on python2:
> 
>       [root@krava perf]# perf script rec check-perf-trace
>       ^C
>       [root@krava perf]# perf script   -s scripts/python/check-perf-trace.py
>       trace_begin
> 
>       unhandled events:
> 
> 
>       event                                          count
> 
>       ----------------------------------------  -----------
> 
>       raw_syscalls__sys_enter                      3509879
> 
> 
> but fails for python3:
> 
>       [root@ibm-x3650m4-01-vm-04 perf]# perf script rec check-perf-trace
>       ^C[ perf record: Woken up 0 times to write data ]
>       Warning:
>       1 out of order events recorded.
>       [ perf record: Captured and wrote 43.132 MB perf.data (490171 samples) ]
> 
>       [root@ibm-x3650m4-01-vm-04 perf]# perf script   -s 
> scripts/python/check-perf-trace.py
>       Traceback (most recent call last):
>         File "scripts/python/check-perf-trace.py", line 18, in <module>
>           from perf_trace_context import *
>       ModuleNotFoundError: No module named 'perf_trace_context'
>       Error running python script scripts/python/check-perf-trace.py

Yes I'm seeing the same error with check-perf-trace.py.

I think the issue happens only when we use 'perf script -s path/to/script.py'
instead of 'perf script report script_name':

Ex:

  # PERF_EXEC_PATH=`pwd` ./perf.python3 script record stackcollapse
    ^C[ perf record: Woken up 1 times to write data ]
    [ perf record: Captured and wrote 0.263 MB perf.data (497 samples) ]

  # PERF_EXEC_PATH=`pwd` ./perf.python3 script report stackcollapse
    migration/21 1
    migration/41 1
    perf 9
    rngd 1
    sshd 1
    swapper 482
    xfsaild/sda5 2

  # PERF_EXEC_PATH=`pwd` ./perf.python3 script -s 
scripts/python/stackcollapse.py 
    Traceback (most recent call last):
      File "scripts/python/stackcollapse.py", line 31, in <module>
        from perf_trace_context import *
    ModuleNotFoundError: No module named 'perf_trace_context'
    Error running python script scripts/python/stackcollapse.py

So, it seems, this is not the script issue. Something is wrong when we build 
perf
with python3?


Here is my test summary on Powerpc Fedora 29:

                              Python2           Python3
 check-perf-trace.py          ok                FAIL (No module named 
'perf_trace_context')
 event_analyzing_sample.py    ok                ok
 export-to-sqlite.py          ok                ok
 exported-sql-viewer.py       ok                FAIL (details at the end)
 export-to-postgresql.py      FAIL              FAIL
 failed-syscalls-by-pid.py    ok                ok
 futex-contention.py          ok                ok
 intel-pt-events.py           NOT TESTED        NOT TESTED
 mem-phys-addr.py             NOT TESTED        NOT TESTED
 net_dropmonitor.py           ok                ok
 netdev-times.py              ok                ok
 powerpc-hcalls.py            ok                ok
 sctop.py                     ok                ok
 stackcollapse.py             ok                ok
 stat-cpi.py                  FAIL (Seg fault)  FAIL (Seg fault)
 syscall-counts-by-pid.py     ok                ok
 syscall-counts.py            ok                ok


exported-sql-viewer.py FAILURE:
===============================
  # PERF_EXEC_PATH=`pwd` ./perf.python3 script -s 
./scripts/python/exported-sql-viewer.py my_test_db
    Traceback (most recent call last):
    File "./scripts/python/exported-sql-viewer.py", line 2614, in <module>
       Main()
    File "./scripts/python/exported-sql-viewer.py", line 2601, in Main
      db, dbname = dbref.Open("main")
    File "./scripts/python/exported-sql-viewer.py", line 2573, in Open
      raise Exception("Failed to open database " + dbname + " error: " + 
db.lastError().text())
    Exception: Failed to open database my_test_db error: could not connect to 
server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
    QPSQL: Unable to connect
    Error running python script ./scripts/python/exported-sql-viewer.py

Thanks,
Ravi

Reply via email to