mirror of https://gitee.com/openkylin/linux.git
perf scripts python: export-to-postgresql.py: Add support for pyside2
pyside2 is the future for pyside support. Note pyside use Qt4 whereas pyside2 uses Qt5. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Link: http://lkml.kernel.org/r/20190412113830.4126-6-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
bfb3170e24
commit
3cd3216dbb
|
@ -27,18 +27,31 @@ import datetime
|
||||||
#
|
#
|
||||||
# fedora:
|
# fedora:
|
||||||
#
|
#
|
||||||
# $ sudo yum install postgresql postgresql-server python-pyside qt-postgresql
|
# $ sudo yum install postgresql postgresql-server qt-postgresql
|
||||||
# $ sudo su - postgres -c initdb
|
# $ sudo su - postgres -c initdb
|
||||||
# $ sudo service postgresql start
|
# $ sudo service postgresql start
|
||||||
# $ sudo su - postgres
|
# $ sudo su - postgres
|
||||||
# $ createuser <your user id here>
|
# $ createuser -s <your user id here> # Older versions may not support -s, in which case answer the prompt below:
|
||||||
# Shall the new role be a superuser? (y/n) y
|
# Shall the new role be a superuser? (y/n) y
|
||||||
|
# $ sudo yum install python-pyside
|
||||||
|
#
|
||||||
|
# Alternately, to use Python3 and/or pyside 2, one of the following:
|
||||||
|
# $ sudo yum install python3-pyside
|
||||||
|
# $ pip install --user PySide2
|
||||||
|
# $ pip3 install --user PySide2
|
||||||
#
|
#
|
||||||
# ubuntu:
|
# ubuntu:
|
||||||
#
|
#
|
||||||
# $ sudo apt-get install postgresql python-pyside.qtsql libqt4-sql-psql
|
# $ sudo apt-get install postgresql
|
||||||
# $ sudo su - postgres
|
# $ sudo su - postgres
|
||||||
# $ createuser -s <your user id here>
|
# $ createuser -s <your user id here>
|
||||||
|
# $ sudo apt-get install python-pyside.qtsql libqt4-sql-psql
|
||||||
|
#
|
||||||
|
# Alternately, to use Python3 and/or pyside 2, one of the following:
|
||||||
|
#
|
||||||
|
# $ sudo apt-get install python3-pyside.qtsql libqt4-sql-psql
|
||||||
|
# $ sudo apt-get install python-pyside2.qtsql libqt5sql5-psql
|
||||||
|
# $ sudo apt-get install python3-pyside2.qtsql libqt5sql5-psql
|
||||||
#
|
#
|
||||||
# An example of using this script with Intel PT:
|
# An example of using this script with Intel PT:
|
||||||
#
|
#
|
||||||
|
@ -199,7 +212,16 @@ import datetime
|
||||||
# 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))
|
# 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))
|
||||||
# call_path_id = query.value(6)
|
# call_path_id = query.value(6)
|
||||||
|
|
||||||
from PySide.QtSql import *
|
pyside_version_1 = True
|
||||||
|
if not "pyside-version-1" in sys.argv:
|
||||||
|
try:
|
||||||
|
from PySide2.QtSql import *
|
||||||
|
pyside_version_1 = False
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
if pyside_version_1:
|
||||||
|
from PySide.QtSql import *
|
||||||
|
|
||||||
if sys.version_info < (3, 0):
|
if sys.version_info < (3, 0):
|
||||||
def toserverstr(str):
|
def toserverstr(str):
|
||||||
|
@ -255,11 +277,12 @@ def printdate(*args, **kw_args):
|
||||||
print(datetime.datetime.today(), *args, sep=' ', **kw_args)
|
print(datetime.datetime.today(), *args, sep=' ', **kw_args)
|
||||||
|
|
||||||
def usage():
|
def usage():
|
||||||
printerr("Usage is: export-to-postgresql.py <database name> [<columns>] [<calls>] [<callchains>]")
|
printerr("Usage is: export-to-postgresql.py <database name> [<columns>] [<calls>] [<callchains>] [<pyside-version-1>]");
|
||||||
printerr("where: columns 'all' or 'branches'")
|
printerr("where: columns 'all' or 'branches'");
|
||||||
printerr(" calls 'calls' => create calls and call_paths table")
|
printerr(" calls 'calls' => create calls and call_paths table");
|
||||||
printerr(" callchains 'callchains' => create call_paths table")
|
printerr(" callchains 'callchains' => create call_paths table");
|
||||||
raise Exception("Too few arguments")
|
printerr(" pyside-version-1 'pyside-version-1' => use pyside version 1");
|
||||||
|
raise Exception("Too few or bad arguments")
|
||||||
|
|
||||||
if (len(sys.argv) < 2):
|
if (len(sys.argv) < 2):
|
||||||
usage()
|
usage()
|
||||||
|
@ -281,6 +304,8 @@ for i in range(3,len(sys.argv)):
|
||||||
perf_db_export_calls = True
|
perf_db_export_calls = True
|
||||||
elif (sys.argv[i] == "callchains"):
|
elif (sys.argv[i] == "callchains"):
|
||||||
perf_db_export_callchains = True
|
perf_db_export_callchains = True
|
||||||
|
elif (sys.argv[i] == "pyside-version-1"):
|
||||||
|
pass
|
||||||
else:
|
else:
|
||||||
usage()
|
usage()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue