| From 640432e6bed08e9d5d2ba26856ba3f55008b07e3 Mon Sep 17 00:00:00 2001 |
| From: Adrian Hunter <adrian.hunter@intel.com> |
| Date: Mon, 29 Jun 2020 12:19:50 +0300 |
| Subject: perf scripts python: export-to-postgresql.py: Fix struct.pack() int argument |
| |
| From: Adrian Hunter <adrian.hunter@intel.com> |
| |
| commit 640432e6bed08e9d5d2ba26856ba3f55008b07e3 upstream. |
| |
| Python 3.8 is requiring that arguments being packed as integers are also |
| integers. Add int() accordingly. |
| |
| Before: |
| |
| $ perf record -e intel_pt//u uname |
| $ perf script --itrace=bep -s ~/libexec/perf-core/scripts/python/export-to-postgresql.py perf_data_db branches calls |
| 2020-06-25 16:09:10.547256 Creating database... |
| 2020-06-25 16:09:10.733185 Writing to intermediate files... |
| Traceback (most recent call last): |
| File "/home/ahunter/libexec/perf-core/scripts/python/export-to-postgresql.py", line 1106, in synth_data |
| cbr(id, raw_buf) |
| File "/home/ahunter/libexec/perf-core/scripts/python/export-to-postgresql.py", line 1058, in cbr |
| value = struct.pack("!hiqiiiiii", 4, 8, id, 4, cbr, 4, MHz, 4, percent) |
| struct.error: required argument is not an integer |
| Fatal Python error: problem in Python trace event handler |
| Python runtime state: initialized |
| |
| Current thread 0x00007f35d3695780 (most recent call first): |
| <no Python frame> |
| Aborted (core dumped) |
| |
| After: |
| |
| $ dropdb perf_data_db |
| $ rm -rf perf_data_db-perf-data |
| $ perf script --itrace=bep -s ~/libexec/perf-core/scripts/python/export-to-postgresql.py perf_data_db branches calls |
| 2020-06-25 16:09:40.990267 Creating database... |
| 2020-06-25 16:09:41.207009 Writing to intermediate files... |
| 2020-06-25 16:09:41.270915 Copying to database... |
| 2020-06-25 16:09:41.382030 Removing intermediate files... |
| 2020-06-25 16:09:41.384630 Adding primary keys |
| 2020-06-25 16:09:41.541894 Adding foreign keys |
| 2020-06-25 16:09:41.677044 Dropping unused tables |
| 2020-06-25 16:09:41.703761 Done |
| |
| Fixes: aba44287a224 ("perf scripts python: export-to-postgresql.py: Export Intel PT power and ptwrite events") |
| Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> |
| Cc: Jiri Olsa <jolsa@redhat.com> |
| Cc: stable@vger.kernel.org |
| Link: http://lore.kernel.org/lkml/20200629091955.17090-2-adrian.hunter@intel.com |
| Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| tools/perf/scripts/python/export-to-postgresql.py | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/tools/perf/scripts/python/export-to-postgresql.py |
| +++ b/tools/perf/scripts/python/export-to-postgresql.py |
| @@ -1055,7 +1055,7 @@ def cbr(id, raw_buf): |
| cbr = data[0] |
| MHz = (data[4] + 500) / 1000 |
| percent = ((cbr * 1000 / data[2]) + 5) / 10 |
| - value = struct.pack("!hiqiiiiii", 4, 8, id, 4, cbr, 4, MHz, 4, percent) |
| + value = struct.pack("!hiqiiiiii", 4, 8, id, 4, cbr, 4, int(MHz), 4, int(percent)) |
| cbr_file.write(value) |
| |
| def mwait(id, raw_buf): |