lkml.org 
[lkml]   [2019]   [Feb]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 06/37] perf scripts python: exported-sql-viewer.py: Hide Call Graph option if no calls table
    Date
    From: Adrian Hunter <adrian.hunter@intel.com>

    The Call Graph depends on the calls table which is optional when exporting
    data, so hide the Call Graph option if there is no calls table.

    Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    tools/perf/scripts/python/exported-sql-viewer.py | 13 ++++++++++++-
    1 file changed, 12 insertions(+), 1 deletion(-)

    diff --git a/tools/perf/scripts/python/exported-sql-viewer.py b/tools/perf/scripts/python/exported-sql-viewer.py
    index c20b510ace8f..58a95241ff70 100755
    --- a/tools/perf/scripts/python/exported-sql-viewer.py
    +++ b/tools/perf/scripts/python/exported-sql-viewer.py
    @@ -1786,6 +1786,16 @@ def GetEventList(db):
    events.append(query.value(0))
    return events

    +# Is a table selectable
    +
    +def IsSelectable(db, table):
    + query = QSqlQuery(db)
    + try:
    + QueryExec(query, "SELECT * FROM " + table + " LIMIT 1")
    + except:
    + return False
    + return True
    +
    # SQL data preparation

    def SQLTableDataPrep(query, count):
    @@ -2298,7 +2308,8 @@ class MainWindow(QMainWindow):
    edit_menu.addAction(CreateAction("&Enlarge Font", "Make text bigger", self.EnlargeFont, self, [QKeySequence("Ctrl++")]))

    reports_menu = menu.addMenu("&Reports")
    - reports_menu.addAction(CreateAction("Context-Sensitive Call &Graph", "Create a new window containing a context-sensitive call graph", self.NewCallGraph, self))
    + if IsSelectable(glb.db, "calls"):
    + reports_menu.addAction(CreateAction("Context-Sensitive Call &Graph", "Create a new window containing a context-sensitive call graph", self.NewCallGraph, self))

    self.EventMenu(GetEventList(glb.db), reports_menu)

    --
    2.20.1
    \
     
     \ /
      Last update: 2019-02-25 22:21    [W:3.028 / U:0.256 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site