diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 01:02:38 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 01:02:38 +0000 |
commit | 08b74a000942a380fe028845f92cd3a0dee827d5 (patch) | |
tree | aa78b4e12607c3e1fcce8d5cc42df4330792f118 /debian/patches/bugfix/all/perf-script-python-Add-Python3-support-to-event_anal.patch | |
parent | Adding upstream version 4.19.249. (diff) | |
download | linux-debian/4.19.249-2.tar.xz linux-debian/4.19.249-2.zip |
Adding debian version 4.19.249-2.debian/4.19.249-2debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/patches/bugfix/all/perf-script-python-Add-Python3-support-to-event_anal.patch')
-rw-r--r-- | debian/patches/bugfix/all/perf-script-python-Add-Python3-support-to-event_anal.patch | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/debian/patches/bugfix/all/perf-script-python-Add-Python3-support-to-event_anal.patch b/debian/patches/bugfix/all/perf-script-python-Add-Python3-support-to-event_anal.patch new file mode 100644 index 000000000..d50476bca --- /dev/null +++ b/debian/patches/bugfix/all/perf-script-python-Add-Python3-support-to-event_anal.patch @@ -0,0 +1,153 @@ +From: Tony Jones <tonyj@suse.de> +Date: Fri, 1 Mar 2019 17:19:00 -0800 +Subject: perf script python: Add Python3 support to event_analyzing_sample.py +Origin: https://git.kernel.org/linus/c253c72e9d6723c8b078beb362f050059ef5de39 +Bug-Debian: https://bugs.debian.org/944641 + +Support both Python2 and Python3 in the event_analyzing_sample.py script + +There may be differences in the ordering of output lines due to +differences in dictionary ordering etc. However the format within lines +should be unchanged. + +The use of 'from __future__' implies the minimum supported Python2 version +is now v2.6 + +Signed-off-by: Tony Jones <tonyj@suse.de> +Cc: Feng Tang <feng.tang@intel.com> +Link: http://lkml.kernel.org/r/20190302011903.2416-5-tonyj@suse.de +Signed-off-by: Seeteena Thoufeek <s1seetee@linux.vnet.ibm.com> +Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> +--- + tools/perf/scripts/python/event_analyzing_sample.py | 48 ++++++++++---------- + 1 file changed, 25 insertions(+), 23 deletions(-) + +--- a/tools/perf/scripts/python/event_analyzing_sample.py ++++ b/tools/perf/scripts/python/event_analyzing_sample.py +@@ -15,6 +15,8 @@ + # for a x86 HW PMU event: PEBS with load latency data. + # + ++from __future__ import print_function ++ + import os + import sys + import math +@@ -37,7 +39,7 @@ con = sqlite3.connect("/dev/shm/perf.db" + con.isolation_level = None + + def trace_begin(): +- print "In trace_begin:\n" ++ print("In trace_begin:\n") + + # + # Will create several tables at the start, pebs_ll is for PEBS data with +@@ -76,12 +78,12 @@ def process_event(param_dict): + name = param_dict["ev_name"] + + # Symbol and dso info are not always resolved +- if (param_dict.has_key("dso")): ++ if ("dso" in param_dict): + dso = param_dict["dso"] + else: + dso = "Unknown_dso" + +- if (param_dict.has_key("symbol")): ++ if ("symbol" in param_dict): + symbol = param_dict["symbol"] + else: + symbol = "Unknown_symbol" +@@ -102,7 +104,7 @@ def insert_db(event): + event.ip, event.status, event.dse, event.dla, event.lat)) + + def trace_end(): +- print "In trace_end:\n" ++ print("In trace_end:\n") + # We show the basic info for the 2 type of event classes + show_general_events() + show_pebs_ll() +@@ -123,29 +125,29 @@ def show_general_events(): + # Check the total record number in the table + count = con.execute("select count(*) from gen_events") + for t in count: +- print "There is %d records in gen_events table" % t[0] ++ print("There is %d records in gen_events table" % t[0]) + if t[0] == 0: + return + +- print "Statistics about the general events grouped by thread/symbol/dso: \n" ++ print("Statistics about the general events grouped by thread/symbol/dso: \n") + + # Group by thread + commq = con.execute("select comm, count(comm) from gen_events group by comm order by -count(comm)") +- print "\n%16s %8s %16s\n%s" % ("comm", "number", "histogram", "="*42) ++ print("\n%16s %8s %16s\n%s" % ("comm", "number", "histogram", "="*42)) + for row in commq: +- print "%16s %8d %s" % (row[0], row[1], num2sym(row[1])) ++ print("%16s %8d %s" % (row[0], row[1], num2sym(row[1]))) + + # Group by symbol +- print "\n%32s %8s %16s\n%s" % ("symbol", "number", "histogram", "="*58) ++ print("\n%32s %8s %16s\n%s" % ("symbol", "number", "histogram", "="*58)) + symbolq = con.execute("select symbol, count(symbol) from gen_events group by symbol order by -count(symbol)") + for row in symbolq: +- print "%32s %8d %s" % (row[0], row[1], num2sym(row[1])) ++ print("%32s %8d %s" % (row[0], row[1], num2sym(row[1]))) + + # Group by dso +- print "\n%40s %8s %16s\n%s" % ("dso", "number", "histogram", "="*74) ++ print("\n%40s %8s %16s\n%s" % ("dso", "number", "histogram", "="*74)) + dsoq = con.execute("select dso, count(dso) from gen_events group by dso order by -count(dso)") + for row in dsoq: +- print "%40s %8d %s" % (row[0], row[1], num2sym(row[1])) ++ print("%40s %8d %s" % (row[0], row[1], num2sym(row[1]))) + + # + # This function just shows the basic info, and we could do more with the +@@ -156,35 +158,35 @@ def show_pebs_ll(): + + count = con.execute("select count(*) from pebs_ll") + for t in count: +- print "There is %d records in pebs_ll table" % t[0] ++ print("There is %d records in pebs_ll table" % t[0]) + if t[0] == 0: + return + +- print "Statistics about the PEBS Load Latency events grouped by thread/symbol/dse/latency: \n" ++ print("Statistics about the PEBS Load Latency events grouped by thread/symbol/dse/latency: \n") + + # Group by thread + commq = con.execute("select comm, count(comm) from pebs_ll group by comm order by -count(comm)") +- print "\n%16s %8s %16s\n%s" % ("comm", "number", "histogram", "="*42) ++ print("\n%16s %8s %16s\n%s" % ("comm", "number", "histogram", "="*42)) + for row in commq: +- print "%16s %8d %s" % (row[0], row[1], num2sym(row[1])) ++ print("%16s %8d %s" % (row[0], row[1], num2sym(row[1]))) + + # Group by symbol +- print "\n%32s %8s %16s\n%s" % ("symbol", "number", "histogram", "="*58) ++ print("\n%32s %8s %16s\n%s" % ("symbol", "number", "histogram", "="*58)) + symbolq = con.execute("select symbol, count(symbol) from pebs_ll group by symbol order by -count(symbol)") + for row in symbolq: +- print "%32s %8d %s" % (row[0], row[1], num2sym(row[1])) ++ print("%32s %8d %s" % (row[0], row[1], num2sym(row[1]))) + + # Group by dse + dseq = con.execute("select dse, count(dse) from pebs_ll group by dse order by -count(dse)") +- print "\n%32s %8s %16s\n%s" % ("dse", "number", "histogram", "="*58) ++ print("\n%32s %8s %16s\n%s" % ("dse", "number", "histogram", "="*58)) + for row in dseq: +- print "%32s %8d %s" % (row[0], row[1], num2sym(row[1])) ++ print("%32s %8d %s" % (row[0], row[1], num2sym(row[1]))) + + # Group by latency + latq = con.execute("select lat, count(lat) from pebs_ll group by lat order by lat") +- print "\n%32s %8s %16s\n%s" % ("latency", "number", "histogram", "="*58) ++ print("\n%32s %8s %16s\n%s" % ("latency", "number", "histogram", "="*58)) + for row in latq: +- print "%32s %8d %s" % (row[0], row[1], num2sym(row[1])) ++ print("%32s %8d %s" % (row[0], row[1], num2sym(row[1]))) + + def trace_unhandled(event_name, context, event_fields_dict): +- print ' '.join(['%s=%s'%(k,str(v))for k,v in sorted(event_fields_dict.items())]) ++ print (' '.join(['%s=%s'%(k,str(v))for k,v in sorted(event_fields_dict.items())])) |