aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/scripts/python')
-rw-r--r--tools/perf/scripts/python/call-graph-from-sql.py63
1 files changed, 38 insertions, 25 deletions
diff --git a/tools/perf/scripts/python/call-graph-from-sql.py b/tools/perf/scripts/python/call-graph-from-sql.py
index 2b74b94eeccc..9d056deab2b1 100644
--- a/tools/perf/scripts/python/call-graph-from-sql.py
+++ b/tools/perf/scripts/python/call-graph-from-sql.py
@@ -284,6 +284,42 @@ class MainWindow(QMainWindow):
284 284
285 self.setCentralWidget(self.view) 285 self.setCentralWidget(self.view)
286 286
287# Database reference
288
289class DBRef():
290
291 def __init__(self, is_sqlite3, dbname):
292 self.is_sqlite3 = is_sqlite3
293 self.dbname = dbname
294
295 def Open(self, connection_name):
296 dbname = self.dbname
297 if self.is_sqlite3:
298 db = QSqlDatabase.addDatabase("QSQLITE", connection_name)
299 else:
300 db = QSqlDatabase.addDatabase("QPSQL", connection_name)
301 opts = dbname.split()
302 for opt in opts:
303 if "=" in opt:
304 opt = opt.split("=")
305 if opt[0] == "hostname":
306 db.setHostName(opt[1])
307 elif opt[0] == "port":
308 db.setPort(int(opt[1]))
309 elif opt[0] == "username":
310 db.setUserName(opt[1])
311 elif opt[0] == "password":
312 db.setPassword(opt[1])
313 elif opt[0] == "dbname":
314 dbname = opt[1]
315 else:
316 dbname = opt
317
318 db.setDatabaseName(dbname)
319 if not db.open():
320 raise Exception("Failed to open database " + dbname + " error: " + db.lastError().text())
321 return db, dbname
322
287# Main 323# Main
288 324
289def Main(): 325def Main():
@@ -302,31 +338,8 @@ def Main():
302 except: 338 except:
303 pass 339 pass
304 340
305 if is_sqlite3: 341 dbref = DBRef(is_sqlite3, dbname)
306 db = QSqlDatabase.addDatabase('QSQLITE') 342 db, dbname = dbref.Open("main")
307 else:
308 db = QSqlDatabase.addDatabase('QPSQL')
309 opts = dbname.split()
310 for opt in opts:
311 if '=' in opt:
312 opt = opt.split('=')
313 if opt[0] == 'hostname':
314 db.setHostName(opt[1])
315 elif opt[0] == 'port':
316 db.setPort(int(opt[1]))
317 elif opt[0] == 'username':
318 db.setUserName(opt[1])
319 elif opt[0] == 'password':
320 db.setPassword(opt[1])
321 elif opt[0] == 'dbname':
322 dbname = opt[1]
323 else:
324 dbname = opt
325
326 db.setDatabaseName(dbname)
327 if not db.open():
328 raise Exception("Failed to open database " + dbname + " error: " + db.lastError().text())
329
330 app = QApplication(sys.argv) 343 app = QApplication(sys.argv)
331 window = MainWindow(db, dbname) 344 window = MainWindow(db, dbname)
332 window.show() 345 window.show()