aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python/exported-sql-viewer.py
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@intel.com>2019-02-22 02:27:23 -0500
committerArnaldo Carvalho de Melo <acme@redhat.com>2019-02-22 14:52:07 -0500
commit0bf0947a954f58517747ca215b3122b47ced3424 (patch)
tree4cb351372dad265f5a02944f3156ac52bb2b397e /tools/perf/scripts/python/exported-sql-viewer.py
parent0924cd687fe7bd4fdf81721c2420b65234b16357 (diff)
perf scripts python: exported-sql-viewer.py: Factor out ReportVars
Factor out ReportVars to provide a single container for information from report dialogs. 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>
Diffstat (limited to 'tools/perf/scripts/python/exported-sql-viewer.py')
-rwxr-xr-xtools/perf/scripts/python/exported-sql-viewer.py37
1 files changed, 23 insertions, 14 deletions
diff --git a/tools/perf/scripts/python/exported-sql-viewer.py b/tools/perf/scripts/python/exported-sql-viewer.py
index d3ffb3e9d1fc..03428df8ddd5 100755
--- a/tools/perf/scripts/python/exported-sql-viewer.py
+++ b/tools/perf/scripts/python/exported-sql-viewer.py
@@ -1398,18 +1398,26 @@ class BranchModel(TreeModel):
1398 def HasMoreRecords(self): 1398 def HasMoreRecords(self):
1399 return self.more 1399 return self.more
1400 1400
1401# Report Variables
1402
1403class ReportVars():
1404
1405 def __init__(self, where_clause = ""):
1406 self.where_clause = where_clause
1407
1408 def UniqueId(self):
1409 return str(self.where_clause)
1410
1401# Branch window 1411# Branch window
1402 1412
1403class BranchWindow(QMdiSubWindow): 1413class BranchWindow(QMdiSubWindow):
1404 1414
1405 def __init__(self, glb, event_id, name, where_clause, parent=None): 1415 def __init__(self, glb, event_id, name, report_vars, parent=None):
1406 super(BranchWindow, self).__init__(parent) 1416 super(BranchWindow, self).__init__(parent)
1407 1417
1408 model_name = "Branch Events " + str(event_id) 1418 model_name = "Branch Events " + str(event_id) + " " + report_vars.UniqueId()
1409 if len(where_clause):
1410 model_name = where_clause + " " + model_name
1411 1419
1412 self.model = LookupCreateModel(model_name, lambda: BranchModel(glb, event_id, where_clause)) 1420 self.model = LookupCreateModel(model_name, lambda: BranchModel(glb, event_id, report_vars.where_clause))
1413 1421
1414 self.view = QTreeView() 1422 self.view = QTreeView()
1415 self.view.setUniformRowHeights(True) 1423 self.view.setUniformRowHeights(True)
@@ -1703,7 +1711,7 @@ class ReportDialogBase(QDialog):
1703 self.glb = glb 1711 self.glb = glb
1704 1712
1705 self.name = "" 1713 self.name = ""
1706 self.where_clause = "" 1714 self.report_vars = ReportVars()
1707 1715
1708 self.setWindowTitle(title) 1716 self.setWindowTitle(title)
1709 self.setMinimumWidth(600) 1717 self.setMinimumWidth(600)
@@ -1742,6 +1750,7 @@ class ReportDialogBase(QDialog):
1742 self.setLayout(self.vbox); 1750 self.setLayout(self.vbox);
1743 1751
1744 def Ok(self): 1752 def Ok(self):
1753 vars = self.report_vars
1745 self.name = self.data_items[0].value 1754 self.name = self.data_items[0].value
1746 if not self.name: 1755 if not self.name:
1747 self.ShowMessage("Report name is required") 1756 self.ShowMessage("Report name is required")
@@ -1751,14 +1760,14 @@ class ReportDialogBase(QDialog):
1751 return 1760 return
1752 for d in self.data_items[1:]: 1761 for d in self.data_items[1:]:
1753 if len(d.value): 1762 if len(d.value):
1754 if len(self.where_clause): 1763 if len(vars.where_clause):
1755 self.where_clause += " AND " 1764 vars.where_clause += " AND "
1756 self.where_clause += d.value 1765 vars.where_clause += d.value
1757 if len(self.where_clause): 1766 if len(vars.where_clause):
1758 if self.partial: 1767 if self.partial:
1759 self.where_clause = " AND ( " + self.where_clause + " ) " 1768 vars.where_clause = " AND ( " + vars.where_clause + " ) "
1760 else: 1769 else:
1761 self.where_clause = " WHERE " + self.where_clause + " " 1770 vars.where_clause = " WHERE " + vars.where_clause + " "
1762 else: 1771 else:
1763 self.ShowMessage("No selection") 1772 self.ShowMessage("No selection")
1764 return 1773 return
@@ -2383,13 +2392,13 @@ class MainWindow(QMainWindow):
2383 CallGraphWindow(self.glb, self) 2392 CallGraphWindow(self.glb, self)
2384 2393
2385 def NewBranchView(self, event_id): 2394 def NewBranchView(self, event_id):
2386 BranchWindow(self.glb, event_id, "", "", self) 2395 BranchWindow(self.glb, event_id, "", ReportVars(), self)
2387 2396
2388 def NewSelectedBranchView(self, event_id): 2397 def NewSelectedBranchView(self, event_id):
2389 dialog = SelectedBranchDialog(self.glb, self) 2398 dialog = SelectedBranchDialog(self.glb, self)
2390 ret = dialog.exec_() 2399 ret = dialog.exec_()
2391 if ret: 2400 if ret:
2392 BranchWindow(self.glb, event_id, dialog.name, dialog.where_clause, self) 2401 BranchWindow(self.glb, event_id, dialog.name, dialog.report_vars, self)
2393 2402
2394 def NewTableView(self, table_name): 2403 def NewTableView(self, table_name):
2395 TableWindow(self.glb, table_name, self) 2404 TableWindow(self.glb, table_name, self)