perf scripts python: exported-sql-viewer.py: Use new 'has_calls' column
authorAdrian Hunter <adrian.hunter@intel.com>
Wed, 10 Jul 2019 08:58:05 +0000 (11:58 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 10 Jul 2019 15:31:25 +0000 (12:31 -0300)
If the new 'has_calls' column is present, use it with the call graph and
call tree to select only comms that have calls.

Committer testing:

Just started the exported-sql-view.py and accessed all the reports, no
backtraces.

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-17-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/scripts/python/exported-sql-viewer.py

index dbbd7a5..61b3911 100755 (executable)
@@ -623,8 +623,11 @@ class CallGraphRootItem(CallGraphLevelItemBase):
                super(CallGraphRootItem, self).__init__(glb, params, 0, None)
                self.dbid = 0
                self.query_done = True
+               if_has_calls = ""
+               if IsSelectable(glb.db, "comms", columns = "has_calls"):
+                       if_has_calls = " WHERE has_calls = TRUE"
                query = QSqlQuery(glb.db)
-               QueryExec(query, "SELECT id, comm FROM comms")
+               QueryExec(query, "SELECT id, comm FROM comms" + if_has_calls)
                while query.next():
                        if not query.value(0):
                                continue
@@ -900,8 +903,11 @@ class CallTreeRootItem(CallGraphLevelItemBase):
                super(CallTreeRootItem, self).__init__(glb, params, 0, None)
                self.dbid = 0
                self.query_done = True
+               if_has_calls = ""
+               if IsSelectable(glb.db, "comms", columns = "has_calls"):
+                       if_has_calls = " WHERE has_calls = TRUE"
                query = QSqlQuery(glb.db)
-               QueryExec(query, "SELECT id, comm FROM comms")
+               QueryExec(query, "SELECT id, comm FROM comms" + if_has_calls)
                while query.next():
                        if not query.value(0):
                                continue