Re: [PATCH 34/37] perf script python: Add Python3 support to stackcollapse.py

From: Paolo Bonzini
Date: Tue Feb 26 2019 - 06:49:25 EST


On 25/02/19 22:20, Arnaldo Carvalho de Melo wrote:
> From: Tony Jones <tonyj@xxxxxxx>
>
> Support both Python2 and Python3 in the stackcollapse.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@xxxxxxx>
> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> <pbonzini@xxxxxxxxxx>
> Link: http://lkml.kernel.org/r/20190222230619.17887-12-tonyj@xxxxxxx
> Signed-off-by: Seeteena Thoufeek <s1seetee@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> ---
> tools/perf/scripts/python/stackcollapse.py | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/tools/perf/scripts/python/stackcollapse.py b/tools/perf/scripts/python/stackcollapse.py
> index 1697b5e18c96..5e703efaddcc 100755
> --- a/tools/perf/scripts/python/stackcollapse.py
> +++ b/tools/perf/scripts/python/stackcollapse.py
> @@ -19,6 +19,8 @@
> # Written by Paolo Bonzini <pbonzini@xxxxxxxxxx>
> # Based on Brendan Gregg's stackcollapse-perf.pl script.
>
> +from __future__ import print_function
> +
> import os
> import sys
> from collections import defaultdict
> @@ -120,7 +122,6 @@ def process_event(param_dict):
> lines[stack_string] = lines[stack_string] + 1
>
> def trace_end():
> - list = lines.keys()
> - list.sort()
> + list = sorted(lines)
> for stack in list:
> - print "%s %d" % (stack, lines[stack])
> + print("%s %d" % (stack, lines[stack]))
>

Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>