diff options
| author | Tony Jones <tonyj@suse.de> | 2019-03-01 20:18:59 -0500 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2019-03-06 16:10:46 -0500 |
| commit | 57e604b16362273af6a517abaa6cd1133a7fc732 (patch) | |
| tree | a2218c8ccbfb56bfa2ca51799da573bf84f25fc1 /tools/perf/scripts/python | |
| parent | de2ec16bd438945813198d4de2339a396904c206 (diff) | |
perf script python: add Python3 support to check-perf-trace.py
Support both Python 2 and Python 3 in the check-perf-trace.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 version of
Python2 is now v2.6
Signed-off-by: Tony Jones <tonyj@suse.de>
Cc: Tom Zanussi <tzanussi@gmail.com>
Link: http://lkml.kernel.org/r/20190302011903.2416-4-tonyj@suse.de
Signed-off-by: Seeteena Thoufeek <s1seetee@linux.vnet.ibm.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/scripts/python')
| -rw-r--r-- | tools/perf/scripts/python/check-perf-trace.py | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/tools/perf/scripts/python/check-perf-trace.py b/tools/perf/scripts/python/check-perf-trace.py index f4838db3e518..d2c22954800d 100644 --- a/tools/perf/scripts/python/check-perf-trace.py +++ b/tools/perf/scripts/python/check-perf-trace.py | |||
| @@ -7,6 +7,8 @@ | |||
| 7 | # events, etc. Basically, if this script runs successfully and | 7 | # events, etc. Basically, if this script runs successfully and |
| 8 | # displays expected results, Python scripting support should be ok. | 8 | # displays expected results, Python scripting support should be ok. |
| 9 | 9 | ||
| 10 | from __future__ import print_function | ||
| 11 | |||
| 10 | import os | 12 | import os |
| 11 | import sys | 13 | import sys |
| 12 | 14 | ||
| @@ -19,7 +21,7 @@ from perf_trace_context import * | |||
| 19 | unhandled = autodict() | 21 | unhandled = autodict() |
| 20 | 22 | ||
| 21 | def trace_begin(): | 23 | def trace_begin(): |
| 22 | print "trace_begin" | 24 | print("trace_begin") |
| 23 | pass | 25 | pass |
| 24 | 26 | ||
| 25 | def trace_end(): | 27 | def trace_end(): |
| @@ -33,7 +35,7 @@ def irq__softirq_entry(event_name, context, common_cpu, | |||
| 33 | 35 | ||
| 34 | print_uncommon(context) | 36 | print_uncommon(context) |
| 35 | 37 | ||
| 36 | print "vec=%s\n" % (symbol_str("irq__softirq_entry", "vec", vec)), | 38 | print("vec=%s" % (symbol_str("irq__softirq_entry", "vec", vec))) |
| 37 | 39 | ||
| 38 | def kmem__kmalloc(event_name, context, common_cpu, | 40 | def kmem__kmalloc(event_name, context, common_cpu, |
| 39 | common_secs, common_nsecs, common_pid, common_comm, | 41 | common_secs, common_nsecs, common_pid, common_comm, |
| @@ -44,10 +46,10 @@ def kmem__kmalloc(event_name, context, common_cpu, | |||
| 44 | 46 | ||
| 45 | print_uncommon(context) | 47 | print_uncommon(context) |
| 46 | 48 | ||
| 47 | print "call_site=%u, ptr=%u, bytes_req=%u, " \ | 49 | print("call_site=%u, ptr=%u, bytes_req=%u, " |
| 48 | "bytes_alloc=%u, gfp_flags=%s\n" % \ | 50 | "bytes_alloc=%u, gfp_flags=%s" % |
| 49 | (call_site, ptr, bytes_req, bytes_alloc, | 51 | (call_site, ptr, bytes_req, bytes_alloc, |
| 50 | flag_str("kmem__kmalloc", "gfp_flags", gfp_flags)), | 52 | flag_str("kmem__kmalloc", "gfp_flags", gfp_flags))) |
| 51 | 53 | ||
| 52 | def trace_unhandled(event_name, context, event_fields_dict): | 54 | def trace_unhandled(event_name, context, event_fields_dict): |
| 53 | try: | 55 | try: |
| @@ -56,26 +58,27 @@ def trace_unhandled(event_name, context, event_fields_dict): | |||
| 56 | unhandled[event_name] = 1 | 58 | unhandled[event_name] = 1 |
| 57 | 59 | ||
| 58 | def print_header(event_name, cpu, secs, nsecs, pid, comm): | 60 | def print_header(event_name, cpu, secs, nsecs, pid, comm): |
| 59 | print "%-20s %5u %05u.%09u %8u %-20s " % \ | 61 | print("%-20s %5u %05u.%09u %8u %-20s " % |
| 60 | (event_name, cpu, secs, nsecs, pid, comm), | 62 | (event_name, cpu, secs, nsecs, pid, comm), |
| 63 | end=' ') | ||
| 61 | 64 | ||
| 62 | # print trace fields not included in handler args | 65 | # print trace fields not included in handler args |
| 63 | def print_uncommon(context): | 66 | def print_uncommon(context): |
| 64 | print "common_preempt_count=%d, common_flags=%s, " \ | 67 | print("common_preempt_count=%d, common_flags=%s, " |
| 65 | "common_lock_depth=%d, " % \ | 68 | "common_lock_depth=%d, " % |
| 66 | (common_pc(context), trace_flag_str(common_flags(context)), | 69 | (common_pc(context), trace_flag_str(common_flags(context)), |
| 67 | common_lock_depth(context)) | 70 | common_lock_depth(context))) |
| 68 | 71 | ||
| 69 | def print_unhandled(): | 72 | def print_unhandled(): |
| 70 | keys = unhandled.keys() | 73 | keys = unhandled.keys() |
| 71 | if not keys: | 74 | if not keys: |
| 72 | return | 75 | return |
| 73 | 76 | ||
| 74 | print "\nunhandled events:\n\n", | 77 | print("\nunhandled events:\n") |
| 75 | 78 | ||
| 76 | print "%-40s %10s\n" % ("event", "count"), | 79 | print("%-40s %10s" % ("event", "count")) |
| 77 | print "%-40s %10s\n" % ("----------------------------------------", \ | 80 | print("%-40s %10s" % ("----------------------------------------", |
| 78 | "-----------"), | 81 | "-----------")) |
| 79 | 82 | ||
| 80 | for event_name in keys: | 83 | for event_name in keys: |
| 81 | print "%-40s %10d\n" % (event_name, unhandled[event_name]) | 84 | print("%-40s %10d\n" % (event_name, unhandled[event_name])) |
