perf scripts python: export-to-sqlite.py: Add has_calls column to comms table
authorAdrian Hunter <adrian.hunter@intel.com>
Wed, 10 Jul 2019 08:58:02 +0000 (11:58 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 10 Jul 2019 15:23:55 +0000 (12:23 -0300)
Now that a thread's current comm is exported, it shows up in the call
graph and call tree even if it has no calls. That can happen because the
calls are recorded against the main thread's initial comm.

Add a table column to make it easy for the exported-sql-viewer.py script
to select only comms with calls.

Committer notes:

Running the export-to-sqlite.py worked without warnings and using the
exported-sql-viewer.py worked as before.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/20190710085810.1650-14-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/scripts/python/export-to-sqlite.py

index 97aa66d..9156f6a 100644 (file)
@@ -606,6 +606,8 @@ def trace_end():
        if perf_db_export_calls:
                do_query(query, 'CREATE INDEX pcpid_idx ON calls (parent_call_path_id)')
                do_query(query, 'CREATE INDEX pid_idx ON calls (parent_id)')
+               do_query(query, 'ALTER TABLE comms ADD has_calls boolean')
+               do_query(query, 'UPDATE comms SET has_calls = 1 WHERE comms.id IN (SELECT DISTINCT comm_id FROM calls)')
 
        printdate("Dropping unused tables")
        if is_table_empty("ptwrite"):