summaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@intel.com>2018-10-01 09:28:41 +0300
committerArnaldo Carvalho de Melo <acme@redhat.com>2018-10-23 14:23:31 -0300
commit5f9dfef1bb7fadfb2d001244ef23359982fedd06 (patch)
treed5f5e09077b0413879f49b999725914e0063fe85 /tools/perf/scripts
parentb2556c46a69b4c0e6bbf690ac4ca2913cbe90e1e (diff)
downloadlinux-5f9dfef1bb7fadfb2d001244ef23359982fedd06.tar.gz
linux-5f9dfef1bb7fadfb2d001244ef23359982fedd06.tar.bz2
linux-5f9dfef1bb7fadfb2d001244ef23359982fedd06.zip
perf scripts python: call-graph-from-sql.py: Add a class for global data
Keep global data in a single object that is easy to pass around as needed, without polluting the global namespace. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Link: http://lkml.kernel.org/r/20181001062853.28285-8-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/scripts')
-rw-r--r--tools/perf/scripts/python/call-graph-from-sql.py26
1 files changed, 21 insertions, 5 deletions
diff --git a/tools/perf/scripts/python/call-graph-from-sql.py b/tools/perf/scripts/python/call-graph-from-sql.py
index 9d056deab2b1..0a4dc13d4818 100644
--- a/tools/perf/scripts/python/call-graph-from-sql.py
+++ b/tools/perf/scripts/python/call-graph-from-sql.py
@@ -264,17 +264,19 @@ class TreeModel(QAbstractItemModel):
class MainWindow(QMainWindow):
- def __init__(self, db, dbname, parent=None):
+ def __init__(self, glb, parent=None):
super(MainWindow, self).__init__(parent)
+ self.glb = glb
+
self.setObjectName("MainWindow")
- self.setWindowTitle("Call Graph: " + dbname)
+ self.setWindowTitle("Call Graph: " + glb.dbname)
self.move(100, 100)
self.resize(800, 600)
self.setWindowIcon(self.style().standardIcon(QStyle.SP_ComputerIcon))
self.setMinimumSize(200, 100)
- self.model = TreeModel(db)
+ self.model = TreeModel(glb.db)
self.view = QTreeView()
self.view.setModel(self.model)
@@ -284,6 +286,17 @@ class MainWindow(QMainWindow):
self.setCentralWidget(self.view)
+# Global data
+
+class Glb():
+
+ def __init__(self, dbref, db, dbname):
+ self.dbref = dbref
+ self.db = db
+ self.dbname = dbname
+ self.app = None
+ self.mainwindow = None
+
# Database reference
class DBRef():
@@ -340,9 +353,12 @@ def Main():
dbref = DBRef(is_sqlite3, dbname)
db, dbname = dbref.Open("main")
+ glb = Glb(dbref, db, dbname)
app = QApplication(sys.argv)
- window = MainWindow(db, dbname)
- window.show()
+ glb.app = app
+ mainwindow = MainWindow(glb)
+ glb.mainwindow = mainwindow
+ mainwindow.show()
err = app.exec_()
db.close()
sys.exit(err)