aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python/export-to-postgresql.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
-rw-r--r--tools/perf/scripts/python/export-to-postgresql.py43
1 files changed, 34 insertions, 9 deletions
diff --git a/tools/perf/scripts/python/export-to-postgresql.py b/tools/perf/scripts/python/export-to-postgresql.py
index c3eae1d77d36..b2f481b0d28d 100644
--- a/tools/perf/scripts/python/export-to-postgresql.py
+++ b/tools/perf/scripts/python/export-to-postgresql.py
@@ -27,18 +27,31 @@ import datetime
27# 27#
28# fedora: 28# fedora:
29# 29#
30# $ sudo yum install postgresql postgresql-server python-pyside qt-postgresql 30# $ sudo yum install postgresql postgresql-server qt-postgresql
31# $ sudo su - postgres -c initdb 31# $ sudo su - postgres -c initdb
32# $ sudo service postgresql start 32# $ sudo service postgresql start
33# $ sudo su - postgres 33# $ sudo su - postgres
34# $ createuser <your user id here> 34# $ createuser -s <your user id here> # Older versions may not support -s, in which case answer the prompt below:
35# Shall the new role be a superuser? (y/n) y 35# Shall the new role be a superuser? (y/n) y
36# $ sudo yum install python-pyside
37#
38# Alternately, to use Python3 and/or pyside 2, one of the following:
39# $ sudo yum install python3-pyside
40# $ pip install --user PySide2
41# $ pip3 install --user PySide2
36# 42#
37# ubuntu: 43# ubuntu:
38# 44#
39# $ sudo apt-get install postgresql python-pyside.qtsql libqt4-sql-psql 45# $ sudo apt-get install postgresql
40# $ sudo su - postgres 46# $ sudo su - postgres
41# $ createuser -s <your user id here> 47# $ createuser -s <your user id here>
48# $ sudo apt-get install python-pyside.qtsql libqt4-sql-psql
49#
50# Alternately, to use Python3 and/or pyside 2, one of the following:
51#
52# $ sudo apt-get install python3-pyside.qtsql libqt4-sql-psql
53# $ sudo apt-get install python-pyside2.qtsql libqt5sql5-psql
54# $ sudo apt-get install python3-pyside2.qtsql libqt5sql5-psql
42# 55#
43# An example of using this script with Intel PT: 56# An example of using this script with Intel PT:
44# 57#
@@ -199,7 +212,16 @@ import datetime
199# print "{0:>6} {1:>10} {2:>9} {3:<30} {4:>6} {5:<30}".format(query.value(0), query.value(1), query.value(2), query.value(3), query.value(4), query.value(5)) 212# print "{0:>6} {1:>10} {2:>9} {3:<30} {4:>6} {5:<30}".format(query.value(0), query.value(1), query.value(2), query.value(3), query.value(4), query.value(5))
200# call_path_id = query.value(6) 213# call_path_id = query.value(6)
201 214
202from PySide.QtSql import * 215pyside_version_1 = True
216if not "pyside-version-1" in sys.argv:
217 try:
218 from PySide2.QtSql import *
219 pyside_version_1 = False
220 except:
221 pass
222
223if pyside_version_1:
224 from PySide.QtSql import *
203 225
204if sys.version_info < (3, 0): 226if sys.version_info < (3, 0):
205 def toserverstr(str): 227 def toserverstr(str):
@@ -255,11 +277,12 @@ def printdate(*args, **kw_args):
255 print(datetime.datetime.today(), *args, sep=' ', **kw_args) 277 print(datetime.datetime.today(), *args, sep=' ', **kw_args)
256 278
257def usage(): 279def usage():
258 printerr("Usage is: export-to-postgresql.py <database name> [<columns>] [<calls>] [<callchains>]") 280 printerr("Usage is: export-to-postgresql.py <database name> [<columns>] [<calls>] [<callchains>] [<pyside-version-1>]");
259 printerr("where: columns 'all' or 'branches'") 281 printerr("where: columns 'all' or 'branches'");
260 printerr(" calls 'calls' => create calls and call_paths table") 282 printerr(" calls 'calls' => create calls and call_paths table");
261 printerr(" callchains 'callchains' => create call_paths table") 283 printerr(" callchains 'callchains' => create call_paths table");
262 raise Exception("Too few arguments") 284 printerr(" pyside-version-1 'pyside-version-1' => use pyside version 1");
285 raise Exception("Too few or bad arguments")
263 286
264if (len(sys.argv) < 2): 287if (len(sys.argv) < 2):
265 usage() 288 usage()
@@ -281,6 +304,8 @@ for i in range(3,len(sys.argv)):
281 perf_db_export_calls = True 304 perf_db_export_calls = True
282 elif (sys.argv[i] == "callchains"): 305 elif (sys.argv[i] == "callchains"):
283 perf_db_export_callchains = True 306 perf_db_export_callchains = True
307 elif (sys.argv[i] == "pyside-version-1"):
308 pass
284 else: 309 else:
285 usage() 310 usage()
286 311