summaryrefslogtreecommitdiffstats
path: root/recipes-devtools/bcc/bcc/0001-BCC-Use-python-3.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-devtools/bcc/bcc/0001-BCC-Use-python-3.patch')
-rw-r--r--recipes-devtools/bcc/bcc/0001-BCC-Use-python-3.patch1662
1 files changed, 1662 insertions, 0 deletions
diff --git a/recipes-devtools/bcc/bcc/0001-BCC-Use-python-3.patch b/recipes-devtools/bcc/bcc/0001-BCC-Use-python-3.patch
new file mode 100644
index 0000000..e1db752
--- /dev/null
+++ b/recipes-devtools/bcc/bcc/0001-BCC-Use-python-3.patch
@@ -0,0 +1,1662 @@
1From 7491be67e0795f00566d46e5f055a955ea0aac8e Mon Sep 17 00:00:00 2001
2From: Leo Yan <leo.yan@linaro.org>
3Date: Sat, 22 Feb 2020 16:22:33 +0000
4Subject: [PATCH] BCC: Use python 3
5
6Signed-off-by: Leo Yan <leo.yan@linaro.org>
7---
8 examples/hello_world.py | 2 +-
9 examples/networking/distributed_bridge/main.py | 2 +-
10 examples/networking/distributed_bridge/tunnel.py | 2 +-
11 examples/networking/distributed_bridge/tunnel_mesh.py | 2 +-
12 examples/networking/dns_matching/dns_matching.py | 2 +-
13 examples/networking/http_filter/http-parse-complete.py | 2 +-
14 examples/networking/http_filter/http-parse-simple.py | 2 +-
15 examples/networking/neighbor_sharing/tc_neighbor_sharing.py | 2 +-
16 examples/networking/simple_tc.py | 2 +-
17 examples/networking/tc_perf_event.py | 2 +-
18 examples/networking/tunnel_monitor/main.py | 2 +-
19 examples/networking/tunnel_monitor/monitor.py | 2 +-
20 examples/networking/vlan_filter/data-plane-tracing.py | 2 +-
21 examples/networking/vlan_learning/vlan_learning.py | 2 +-
22 examples/networking/xdp/xdp_drop_count.py | 2 +-
23 examples/networking/xdp/xdp_macswap_count.py | 2 +-
24 examples/networking/xdp/xdp_redirect_cpu.py | 2 +-
25 examples/networking/xdp/xdp_redirect_map.py | 2 +-
26 examples/tracing/bitehist.py | 2 +-
27 examples/tracing/dddos.py | 2 +-
28 examples/tracing/disksnoop.py | 2 +-
29 examples/tracing/hello_fields.py | 2 +-
30 examples/tracing/hello_perf_output.py | 2 +-
31 examples/tracing/kvm_hypercall.py | 2 +-
32 examples/tracing/mallocstacks.py | 2 +-
33 examples/tracing/mysqld_query.py | 2 +-
34 examples/tracing/nodejs_http_server.py | 2 +-
35 examples/tracing/stack_buildid_example.py | 2 +-
36 examples/tracing/stacksnoop.py | 2 +-
37 examples/tracing/strlen_count.py | 2 +-
38 examples/tracing/strlen_hist.py | 2 +-
39 examples/tracing/strlen_snoop.py | 2 +-
40 examples/tracing/sync_timing.py | 2 +-
41 examples/tracing/task_switch.py | 2 +-
42 examples/tracing/tcpv4connect.py | 2 +-
43 examples/tracing/trace_fields.py | 2 +-
44 examples/tracing/trace_perf_output.py | 2 +-
45 examples/tracing/urandomread-explicit.py | 2 +-
46 examples/tracing/urandomread.py | 2 +-
47 examples/tracing/vfsreadlat.py | 2 +-
48 examples/usdt_sample/scripts/lat_avg.py | 2 +-
49 examples/usdt_sample/scripts/lat_dist.py | 2 +-
50 examples/usdt_sample/scripts/latency.py | 2 +-
51 tools/argdist.py | 2 +-
52 tools/bashreadline.py | 2 +-
53 tools/biolatency.py | 2 +-
54 tools/biosnoop.py | 2 +-
55 tools/biotop.py | 2 +-
56 tools/bitesize.py | 2 +-
57 tools/bpflist.py | 2 +-
58 tools/btrfsdist.py | 2 +-
59 tools/btrfsslower.py | 2 +-
60 tools/cachestat.py | 2 +-
61 tools/cachetop.py | 2 +-
62 tools/capable.py | 2 +-
63 tools/cpudist.py | 2 +-
64 tools/cpuunclaimed.py | 2 +-
65 tools/criticalstat.py | 2 +-
66 tools/dbslower.py | 2 +-
67 tools/dbstat.py | 2 +-
68 tools/dcsnoop.py | 2 +-
69 tools/dcstat.py | 2 +-
70 tools/deadlock.py | 2 +-
71 tools/drsnoop.py | 2 +-
72 tools/execsnoop.py | 2 +-
73 tools/exitsnoop.py | 2 +-
74 tools/ext4dist.py | 2 +-
75 tools/ext4slower.py | 2 +-
76 tools/filelife.py | 2 +-
77 tools/fileslower.py | 2 +-
78 tools/filetop.py | 2 +-
79 tools/funccount.py | 2 +-
80 tools/funclatency.py | 2 +-
81 tools/funcslower.py | 2 +-
82 tools/gethostlatency.py | 2 +-
83 tools/hardirqs.py | 2 +-
84 tools/inject.py | 2 +-
85 tools/killsnoop.py | 2 +-
86 tools/klockstat.py | 2 +-
87 tools/lib/ucalls.py | 2 +-
88 tools/lib/uflow.py | 2 +-
89 tools/lib/ugc.py | 2 +-
90 tools/lib/uobjnew.py | 2 +-
91 tools/lib/ustat.py | 2 +-
92 tools/lib/uthreads.py | 2 +-
93 tools/llcstat.py | 2 +-
94 tools/mdflush.py | 2 +-
95 tools/memleak.py | 2 +-
96 tools/mountsnoop.py | 2 +-
97 tools/mysqld_qslower.py | 2 +-
98 tools/nfsdist.py | 2 +-
99 tools/nfsslower.py | 2 +-
100 tools/offcputime.py | 2 +-
101 tools/offwaketime.py | 2 +-
102 tools/old/bashreadline.py | 2 +-
103 tools/old/biosnoop.py | 2 +-
104 tools/old/filelife.py | 2 +-
105 tools/old/gethostlatency.py | 2 +-
106 tools/old/killsnoop.py | 2 +-
107 tools/old/memleak.py | 2 +-
108 tools/old/offcputime.py | 2 +-
109 tools/old/offwaketime.py | 2 +-
110 tools/old/oomkill.py | 2 +-
111 tools/old/opensnoop.py | 2 +-
112 tools/old/profile.py | 2 +-
113 tools/old/softirqs.py | 2 +-
114 tools/old/stackcount.py | 2 +-
115 tools/old/stacksnoop.py | 2 +-
116 tools/old/statsnoop.py | 2 +-
117 tools/old/syncsnoop.py | 2 +-
118 tools/old/tcpaccept.py | 2 +-
119 tools/old/tcpconnect.py | 2 +-
120 tools/old/wakeuptime.py | 2 +-
121 tools/oomkill.py | 2 +-
122 tools/opensnoop.py | 2 +-
123 tools/pidpersec.py | 2 +-
124 tools/profile.py | 2 +-
125 tools/runqlat.py | 2 +-
126 tools/runqlen.py | 2 +-
127 tools/runqslower.py | 2 +-
128 tools/shmsnoop.py | 2 +-
129 tools/slabratetop.py | 2 +-
130 tools/sofdsnoop.py | 2 +-
131 tools/softirqs.py | 2 +-
132 tools/solisten.py | 2 +-
133 tools/sslsniff.py | 2 +-
134 tools/stackcount.py | 2 +-
135 tools/statsnoop.py | 2 +-
136 tools/syncsnoop.py | 2 +-
137 tools/syscount.py | 2 +-
138 tools/tcpaccept.py | 2 +-
139 tools/tcpconnect.py | 2 +-
140 tools/tcpconnlat.py | 2 +-
141 tools/tcpdrop.py | 2 +-
142 tools/tcplife.py | 2 +-
143 tools/tcpretrans.py | 2 +-
144 tools/tcpstates.py | 2 +-
145 tools/tcpsubnet.py | 2 +-
146 tools/tcptop.py | 2 +-
147 tools/tcptracer.py | 2 +-
148 tools/tplist.py | 2 +-
149 tools/trace.py | 2 +-
150 tools/ttysnoop.py | 2 +-
151 tools/vfscount.py | 2 +-
152 tools/vfsstat.py | 2 +-
153 tools/wakeuptime.py | 2 +-
154 tools/xfsdist.py | 2 +-
155 tools/xfsslower.py | 2 +-
156 tools/zfsdist.py | 2 +-
157 tools/zfsslower.py | 2 +-
158 150 files changed, 150 insertions(+), 150 deletions(-)
159
160diff --git a/examples/hello_world.py b/examples/hello_world.py
161index bb52f3e7..e36c09b0 100755
162--- a/examples/hello_world.py
163+++ b/examples/hello_world.py
164@@ -1,4 +1,4 @@
165-#!/usr/bin/python
166+#!/usr/bin/python3
167 # Copyright (c) PLUMgrid, Inc.
168 # Licensed under the Apache License, Version 2.0 (the "License")
169
170diff --git a/examples/networking/distributed_bridge/main.py b/examples/networking/distributed_bridge/main.py
171index c72360ea..5cda7dfd 100755
172--- a/examples/networking/distributed_bridge/main.py
173+++ b/examples/networking/distributed_bridge/main.py
174@@ -1,4 +1,4 @@
175-#!/usr/bin/python
176+#!/usr/bin/python3
177 # Copyright (c) PLUMgrid, Inc.
178 # Licensed under the Apache License, Version 2.0 (the "License")
179
180diff --git a/examples/networking/distributed_bridge/tunnel.py b/examples/networking/distributed_bridge/tunnel.py
181index 11b59f06..2f7905c9 100755
182--- a/examples/networking/distributed_bridge/tunnel.py
183+++ b/examples/networking/distributed_bridge/tunnel.py
184@@ -1,4 +1,4 @@
185-#!/usr/bin/python
186+#!/usr/bin/python3
187 # Copyright (c) PLUMgrid, Inc.
188 # Licensed under the Apache License, Version 2.0 (the "License")
189
190diff --git a/examples/networking/distributed_bridge/tunnel_mesh.py b/examples/networking/distributed_bridge/tunnel_mesh.py
191index 54ecfcd8..a83330bb 100644
192--- a/examples/networking/distributed_bridge/tunnel_mesh.py
193+++ b/examples/networking/distributed_bridge/tunnel_mesh.py
194@@ -1,4 +1,4 @@
195-#!/usr/bin/python
196+#!/usr/bin/python3
197 # Copyright (c) PLUMgrid, Inc.
198 # Licensed under the Apache License, Version 2.0 (the "License")
199
200diff --git a/examples/networking/dns_matching/dns_matching.py b/examples/networking/dns_matching/dns_matching.py
201index 943dca59..47d99453 100755
202--- a/examples/networking/dns_matching/dns_matching.py
203+++ b/examples/networking/dns_matching/dns_matching.py
204@@ -1,4 +1,4 @@
205-#!/usr/bin/python
206+#!/usr/bin/python3
207
208 from __future__ import print_function
209 from bcc import BPF
210diff --git a/examples/networking/http_filter/http-parse-complete.py b/examples/networking/http_filter/http-parse-complete.py
211index f1e5e0a2..e364d9aa 100644
212--- a/examples/networking/http_filter/http-parse-complete.py
213+++ b/examples/networking/http_filter/http-parse-complete.py
214@@ -1,4 +1,4 @@
215-#!/usr/bin/python
216+#!/usr/bin/python3
217 #
218 #Bertrone Matteo - Polytechnic of Turin
219 #November 2015
220diff --git a/examples/networking/http_filter/http-parse-simple.py b/examples/networking/http_filter/http-parse-simple.py
221index b702393d..78745ee2 100644
222--- a/examples/networking/http_filter/http-parse-simple.py
223+++ b/examples/networking/http_filter/http-parse-simple.py
224@@ -1,4 +1,4 @@
225-#!/usr/bin/python
226+#!/usr/bin/python3
227 #
228 #Bertrone Matteo - Polytechnic of Turin
229 #November 2015
230diff --git a/examples/networking/neighbor_sharing/tc_neighbor_sharing.py b/examples/networking/neighbor_sharing/tc_neighbor_sharing.py
231index 8d13c43f..6c071791 100755
232--- a/examples/networking/neighbor_sharing/tc_neighbor_sharing.py
233+++ b/examples/networking/neighbor_sharing/tc_neighbor_sharing.py
234@@ -1,4 +1,4 @@
235-#!/usr/bin/python
236+#!/usr/bin/python3
237 # Copyright (c) PLUMgrid, Inc.
238 # Licensed under the Apache License, Version 2.0 (the "License")
239
240diff --git a/examples/networking/simple_tc.py b/examples/networking/simple_tc.py
241index 38180132..1d42fa95 100755
242--- a/examples/networking/simple_tc.py
243+++ b/examples/networking/simple_tc.py
244@@ -1,4 +1,4 @@
245-#!/usr/bin/python
246+#!/usr/bin/python3
247 # Copyright (c) PLUMgrid, Inc.
248 # Licensed under the Apache License, Version 2.0 (the "License")
249
250diff --git a/examples/networking/tc_perf_event.py b/examples/networking/tc_perf_event.py
251index 99f0e9eb..188acd19 100755
252--- a/examples/networking/tc_perf_event.py
253+++ b/examples/networking/tc_perf_event.py
254@@ -1,4 +1,4 @@
255-#!/usr/bin/python
256+#!/usr/bin/python3
257 #
258 # tc_perf_event.py Output skb and meta data through perf event
259 #
260diff --git a/examples/networking/tunnel_monitor/main.py b/examples/networking/tunnel_monitor/main.py
261index 7d3acb8e..60978f69 100755
262--- a/examples/networking/tunnel_monitor/main.py
263+++ b/examples/networking/tunnel_monitor/main.py
264@@ -1,4 +1,4 @@
265-#!/usr/bin/python
266+#!/usr/bin/python3
267 # Copyright (c) PLUMgrid, Inc.
268 # Licensed under the Apache License, Version 2.0 (the "License")
269
270diff --git a/examples/networking/tunnel_monitor/monitor.py b/examples/networking/tunnel_monitor/monitor.py
271index fb3613ee..24792fcd 100644
272--- a/examples/networking/tunnel_monitor/monitor.py
273+++ b/examples/networking/tunnel_monitor/monitor.py
274@@ -1,4 +1,4 @@
275-#!/usr/bin/python
276+#!/usr/bin/python3
277 # Copyright (c) PLUMgrid, Inc.
278 # Licensed under the Apache License, Version 2.0 (the "License")
279
280diff --git a/examples/networking/vlan_filter/data-plane-tracing.py b/examples/networking/vlan_filter/data-plane-tracing.py
281index efaa7f10..37cd0aef 100755
282--- a/examples/networking/vlan_filter/data-plane-tracing.py
283+++ b/examples/networking/vlan_filter/data-plane-tracing.py
284@@ -1,4 +1,4 @@
285-#!/usr/bin/python
286+#!/usr/bin/python3
287 from __future__ import print_function
288 from bcc import BPF
289
290diff --git a/examples/networking/vlan_learning/vlan_learning.py b/examples/networking/vlan_learning/vlan_learning.py
291index 7229176a..a814ec88 100755
292--- a/examples/networking/vlan_learning/vlan_learning.py
293+++ b/examples/networking/vlan_learning/vlan_learning.py
294@@ -1,4 +1,4 @@
295-#!/usr/bin/python
296+#!/usr/bin/python3
297 # Copyright (c) PLUMgrid, Inc.
298 # Licensed under the Apache License, Version 2.0 (the "License")
299
300diff --git a/examples/networking/xdp/xdp_drop_count.py b/examples/networking/xdp/xdp_drop_count.py
301index f03273e9..5273e658 100755
302--- a/examples/networking/xdp/xdp_drop_count.py
303+++ b/examples/networking/xdp/xdp_drop_count.py
304@@ -1,4 +1,4 @@
305-#!/usr/bin/python
306+#!/usr/bin/python3
307 #
308 # xdp_drop_count.py Drop incoming packets on XDP layer and count for which
309 # protocol type
310diff --git a/examples/networking/xdp/xdp_macswap_count.py b/examples/networking/xdp/xdp_macswap_count.py
311index 0e2b21ca..dcd8cf83 100755
312--- a/examples/networking/xdp/xdp_macswap_count.py
313+++ b/examples/networking/xdp/xdp_macswap_count.py
314@@ -1,4 +1,4 @@
315-#!/usr/bin/python
316+#!/usr/bin/python3
317 #
318 # xdp_macswap_count.py Swap Source and Destination MAC addresses on
319 # incoming packets and transmit packets back on
320diff --git a/examples/networking/xdp/xdp_redirect_cpu.py b/examples/networking/xdp/xdp_redirect_cpu.py
321index 15b0d09b..18d643a6 100755
322--- a/examples/networking/xdp/xdp_redirect_cpu.py
323+++ b/examples/networking/xdp/xdp_redirect_cpu.py
324@@ -1,4 +1,4 @@
325-#!/usr/bin/python
326+#!/usr/bin/python3
327 #
328 # xdp_redirect_cpu.py Redirect the incoming packet to the specific CPU
329 #
330diff --git a/examples/networking/xdp/xdp_redirect_map.py b/examples/networking/xdp/xdp_redirect_map.py
331index 4a622723..d1d2a043 100755
332--- a/examples/networking/xdp/xdp_redirect_map.py
333+++ b/examples/networking/xdp/xdp_redirect_map.py
334@@ -1,4 +1,4 @@
335-#!/usr/bin/python
336+#!/usr/bin/python3
337 #
338 # xdp_redirect_map.py Redirect the incoming packet to another interface
339 # with the helper: bpf_redirect_map()
340diff --git a/examples/tracing/bitehist.py b/examples/tracing/bitehist.py
341index 4d7c7958..ea793f94 100755
342--- a/examples/tracing/bitehist.py
343+++ b/examples/tracing/bitehist.py
344@@ -1,4 +1,4 @@
345-#!/usr/bin/python
346+#!/usr/bin/python3
347 #
348 # bitehist.py Block I/O size histogram.
349 # For Linux, uses BCC, eBPF. Embedded C.
350diff --git a/examples/tracing/dddos.py b/examples/tracing/dddos.py
351index 5b544241..2b77725e 100755
352--- a/examples/tracing/dddos.py
353+++ b/examples/tracing/dddos.py
354@@ -1,4 +1,4 @@
355-#!/usr/bin/python
356+#!/usr/bin/python3
357 #
358 # dddos.py DDOS dectection system.
359 #
360diff --git a/examples/tracing/disksnoop.py b/examples/tracing/disksnoop.py
361index 1101e6f2..433593f0 100755
362--- a/examples/tracing/disksnoop.py
363+++ b/examples/tracing/disksnoop.py
364@@ -1,4 +1,4 @@
365-#!/usr/bin/python
366+#!/usr/bin/python3
367 #
368 # disksnoop.py Trace block device I/O: basic version of iosnoop.
369 # For Linux, uses BCC, eBPF. Embedded C.
370diff --git a/examples/tracing/hello_fields.py b/examples/tracing/hello_fields.py
371index 9ed6da5d..a5940560 100755
372--- a/examples/tracing/hello_fields.py
373+++ b/examples/tracing/hello_fields.py
374@@ -1,4 +1,4 @@
375-#!/usr/bin/python
376+#!/usr/bin/python3
377 #
378 # This is a Hello World example that formats output as fields.
379
380diff --git a/examples/tracing/hello_perf_output.py b/examples/tracing/hello_perf_output.py
381index fdc74deb..ba1972c5 100755
382--- a/examples/tracing/hello_perf_output.py
383+++ b/examples/tracing/hello_perf_output.py
384@@ -1,4 +1,4 @@
385-#!/usr/bin/python
386+#!/usr/bin/python3
387 #
388 # This is a Hello World example that uses BPF_PERF_OUTPUT.
389
390diff --git a/examples/tracing/kvm_hypercall.py b/examples/tracing/kvm_hypercall.py
391index 5f1d3d7a..4573ed3c 100755
392--- a/examples/tracing/kvm_hypercall.py
393+++ b/examples/tracing/kvm_hypercall.py
394@@ -1,4 +1,4 @@
395-#!/usr/bin/python
396+#!/usr/bin/python3
397 #
398 # kvm_hypercall.py
399 #
400diff --git a/examples/tracing/mallocstacks.py b/examples/tracing/mallocstacks.py
401index 4b10e6c2..e89b09f6 100755
402--- a/examples/tracing/mallocstacks.py
403+++ b/examples/tracing/mallocstacks.py
404@@ -1,4 +1,4 @@
405-#!/usr/bin/python
406+#!/usr/bin/python3
407 #
408 # mallocstacks Trace malloc() calls in a process and print the full
409 # stack trace for all callsites.
410diff --git a/examples/tracing/mysqld_query.py b/examples/tracing/mysqld_query.py
411index ace07150..291b16b0 100755
412--- a/examples/tracing/mysqld_query.py
413+++ b/examples/tracing/mysqld_query.py
414@@ -1,4 +1,4 @@
415-#!/usr/bin/python
416+#!/usr/bin/python3
417 #
418 # mysqld_query Trace MySQL server queries. Example of USDT tracing.
419 # For Linux, uses BCC, BPF. Embedded C.
420diff --git a/examples/tracing/nodejs_http_server.py b/examples/tracing/nodejs_http_server.py
421index a86ca956..b38b42f1 100755
422--- a/examples/tracing/nodejs_http_server.py
423+++ b/examples/tracing/nodejs_http_server.py
424@@ -1,4 +1,4 @@
425-#!/usr/bin/python
426+#!/usr/bin/python3
427 #
428 # nodejs_http_server Basic example of node.js USDT tracing.
429 # For Linux, uses BCC, BPF. Embedded C.
430diff --git a/examples/tracing/stack_buildid_example.py b/examples/tracing/stack_buildid_example.py
431index 706d7507..6fae0851 100755
432--- a/examples/tracing/stack_buildid_example.py
433+++ b/examples/tracing/stack_buildid_example.py
434@@ -1,4 +1,4 @@
435-#!/usr/bin/python
436+#!/usr/bin/python3
437 #
438 # An example usage of stack_build_id
439 # Most of the code here is borrowed from tools/profile.py
440diff --git a/examples/tracing/stacksnoop.py b/examples/tracing/stacksnoop.py
441index 8a68e69b..d6b19789 100755
442--- a/examples/tracing/stacksnoop.py
443+++ b/examples/tracing/stacksnoop.py
444@@ -1,4 +1,4 @@
445-#!/usr/bin/python
446+#!/usr/bin/python3
447 #
448 # stacksnoop Trace a kernel function and print all kernel stack traces.
449 # For Linux, uses BCC, eBPF, and currently x86_64 only. Inline C.
450diff --git a/examples/tracing/strlen_count.py b/examples/tracing/strlen_count.py
451index f1bb1b7e..df525305 100755
452--- a/examples/tracing/strlen_count.py
453+++ b/examples/tracing/strlen_count.py
454@@ -1,4 +1,4 @@
455-#!/usr/bin/python
456+#!/usr/bin/python3
457 #
458 # strlen_count Trace strlen() and print a frequency count of strings.
459 # For Linux, uses BCC, eBPF. Embedded C.
460diff --git a/examples/tracing/strlen_hist.py b/examples/tracing/strlen_hist.py
461index dda1cb23..fce4df06 100755
462--- a/examples/tracing/strlen_hist.py
463+++ b/examples/tracing/strlen_hist.py
464@@ -1,4 +1,4 @@
465-#!/usr/bin/python
466+#!/usr/bin/python3
467
468 #
469 # strlen_hist.py Histogram of system-wide strlen return values
470diff --git a/examples/tracing/strlen_snoop.py b/examples/tracing/strlen_snoop.py
471index c3c7199e..d4331b51 100755
472--- a/examples/tracing/strlen_snoop.py
473+++ b/examples/tracing/strlen_snoop.py
474@@ -1,4 +1,4 @@
475-#!/usr/bin/python
476+#!/usr/bin/python3
477 #
478 # strlen_snoop Trace strlen() library function for a given PID.
479 # For Linux, uses BCC, eBPF. Embedded C.
480diff --git a/examples/tracing/sync_timing.py b/examples/tracing/sync_timing.py
481index 1d89ce55..8dd90c4f 100755
482--- a/examples/tracing/sync_timing.py
483+++ b/examples/tracing/sync_timing.py
484@@ -1,4 +1,4 @@
485-#!/usr/bin/python
486+#!/usr/bin/python3
487 #
488 # sync_timing.py Trace time between syncs.
489 # For Linux, uses BCC, eBPF. Embedded C.
490diff --git a/examples/tracing/task_switch.py b/examples/tracing/task_switch.py
491index 43a4f3f8..6db5ada7 100755
492--- a/examples/tracing/task_switch.py
493+++ b/examples/tracing/task_switch.py
494@@ -1,4 +1,4 @@
495-#!/usr/bin/python
496+#!/usr/bin/python3
497 # Copyright (c) PLUMgrid, Inc.
498 # Licensed under the Apache License, Version 2.0 (the "License")
499
500diff --git a/examples/tracing/tcpv4connect.py b/examples/tracing/tcpv4connect.py
501index 26d93763..56e2a61c 100755
502--- a/examples/tracing/tcpv4connect.py
503+++ b/examples/tracing/tcpv4connect.py
504@@ -1,4 +1,4 @@
505-#!/usr/bin/python
506+#!/usr/bin/python3
507 #
508 # tcpv4connect Trace TCP IPv4 connect()s.
509 # For Linux, uses BCC, eBPF. Embedded C.
510diff --git a/examples/tracing/trace_fields.py b/examples/tracing/trace_fields.py
511index 1c5beef2..a8b64686 100755
512--- a/examples/tracing/trace_fields.py
513+++ b/examples/tracing/trace_fields.py
514@@ -1,4 +1,4 @@
515-#!/usr/bin/python
516+#!/usr/bin/python3
517 # Copyright (c) PLUMgrid, Inc.
518 # Licensed under the Apache License, Version 2.0 (the "License")
519
520diff --git a/examples/tracing/trace_perf_output.py b/examples/tracing/trace_perf_output.py
521index 635be129..5a58df53 100755
522--- a/examples/tracing/trace_perf_output.py
523+++ b/examples/tracing/trace_perf_output.py
524@@ -1,4 +1,4 @@
525-#!/usr/bin/python
526+#!/usr/bin/python3
527 # Copyright (c) PLUMgrid, Inc.
528 # Licensed under the Apache License, Version 2.0 (the "License")
529
530diff --git a/examples/tracing/urandomread-explicit.py b/examples/tracing/urandomread-explicit.py
531index 9291402b..91f8d5fe 100755
532--- a/examples/tracing/urandomread-explicit.py
533+++ b/examples/tracing/urandomread-explicit.py
534@@ -1,4 +1,4 @@
535-#!/usr/bin/python
536+#!/usr/bin/python3
537 #
538 # urandomread-explicit Example of instrumenting a kernel tracepoint.
539 # For Linux, uses BCC, BPF. Embedded C.
540diff --git a/examples/tracing/urandomread.py b/examples/tracing/urandomread.py
541index 69bcf8d1..11424f0b 100755
542--- a/examples/tracing/urandomread.py
543+++ b/examples/tracing/urandomread.py
544@@ -1,4 +1,4 @@
545-#!/usr/bin/python
546+#!/usr/bin/python3
547 #
548 # urandomread Example of instrumenting a kernel tracepoint.
549 # For Linux, uses BCC, BPF. Embedded C.
550diff --git a/examples/tracing/vfsreadlat.py b/examples/tracing/vfsreadlat.py
551index b2c4156e..531e149a 100755
552--- a/examples/tracing/vfsreadlat.py
553+++ b/examples/tracing/vfsreadlat.py
554@@ -1,4 +1,4 @@
555-#!/usr/bin/python
556+#!/usr/bin/python3
557 #
558 # vfsreadlat.py VFS read latency distribution.
559 # For Linux, uses BCC, eBPF. See .c file.
560diff --git a/examples/usdt_sample/scripts/lat_avg.py b/examples/usdt_sample/scripts/lat_avg.py
561index 7c72e211..b968444b 100755
562--- a/examples/usdt_sample/scripts/lat_avg.py
563+++ b/examples/usdt_sample/scripts/lat_avg.py
564@@ -1,4 +1,4 @@
565-#!/usr/bin/python
566+#!/usr/bin/python3
567 import argparse
568 from time import sleep, strftime
569 from sys import argv
570diff --git a/examples/usdt_sample/scripts/lat_dist.py b/examples/usdt_sample/scripts/lat_dist.py
571index 782c960b..f9a36346 100755
572--- a/examples/usdt_sample/scripts/lat_dist.py
573+++ b/examples/usdt_sample/scripts/lat_dist.py
574@@ -1,4 +1,4 @@
575-#!/usr/bin/python
576+#!/usr/bin/python3
577 import argparse
578 from time import sleep, strftime
579 from sys import argv
580diff --git a/examples/usdt_sample/scripts/latency.py b/examples/usdt_sample/scripts/latency.py
581index 8a7ec08c..4e72e50c 100755
582--- a/examples/usdt_sample/scripts/latency.py
583+++ b/examples/usdt_sample/scripts/latency.py
584@@ -1,4 +1,4 @@
585-#!/usr/bin/python
586+#!/usr/bin/python3
587 import argparse
588 from time import sleep
589 from sys import argv
590diff --git a/tools/argdist.py b/tools/argdist.py
591index 695b5b3c..b6574987 100755
592--- a/tools/argdist.py
593+++ b/tools/argdist.py
594@@ -1,4 +1,4 @@
595-#!/usr/bin/python
596+#!/usr/bin/python3
597 #
598 # argdist Trace a function and display a distribution of its
599 # parameter values as a histogram or frequency count.
600diff --git a/tools/bashreadline.py b/tools/bashreadline.py
601index b7d98272..4a01e50d 100755
602--- a/tools/bashreadline.py
603+++ b/tools/bashreadline.py
604@@ -1,4 +1,4 @@
605-#!/usr/bin/python
606+#!/usr/bin/python3
607 #
608 # bashreadline Print entered bash commands from all running shells.
609 # For Linux, uses BCC, eBPF. Embedded C.
610diff --git a/tools/biolatency.py b/tools/biolatency.py
611index 86d99437..f9abfd8b 100755
612--- a/tools/biolatency.py
613+++ b/tools/biolatency.py
614@@ -1,4 +1,4 @@
615-#!/usr/bin/python
616+#!/usr/bin/python3
617 # @lint-avoid-python-3-compatibility-imports
618 #
619 # biolatency Summarize block device I/O latency as a histogram.
620diff --git a/tools/biosnoop.py b/tools/biosnoop.py
621index e6f708fa..87d507e6 100755
622--- a/tools/biosnoop.py
623+++ b/tools/biosnoop.py
624@@ -1,4 +1,4 @@
625-#!/usr/bin/python
626+#!/usr/bin/python3
627 # @lint-avoid-python-3-compatibility-imports
628 #
629 # biosnoop Trace block device I/O and print details including issuing PID.
630diff --git a/tools/biotop.py b/tools/biotop.py
631index cad3759a..f13edf62 100755
632--- a/tools/biotop.py
633+++ b/tools/biotop.py
634@@ -1,4 +1,4 @@
635-#!/usr/bin/python
636+#!/usr/bin/python3
637 # @lint-avoid-python-3-compatibility-imports
638 #
639 # biotop block device (disk) I/O by process.
640diff --git a/tools/bitesize.py b/tools/bitesize.py
641index f4cea7cd..569630af 100755
642--- a/tools/bitesize.py
643+++ b/tools/bitesize.py
644@@ -1,4 +1,4 @@
645-#!/usr/bin/python
646+#!/usr/bin/python3
647 #
648 # bitehist.py Block I/O size histogram.
649 # For Linux, uses BCC, eBPF. See .c file.
650diff --git a/tools/bpflist.py b/tools/bpflist.py
651index f73e945a..118fd00d 100755
652--- a/tools/bpflist.py
653+++ b/tools/bpflist.py
654@@ -1,4 +1,4 @@
655-#!/usr/bin/python
656+#!/usr/bin/python3
657 #
658 # bpflist Display processes currently using BPF programs and maps,
659 # pinned BPF programs and maps, and enabled probes.
660diff --git a/tools/btrfsdist.py b/tools/btrfsdist.py
661index 4659ab46..92cb1cb0 100755
662--- a/tools/btrfsdist.py
663+++ b/tools/btrfsdist.py
664@@ -1,4 +1,4 @@
665-#!/usr/bin/python
666+#!/usr/bin/python3
667 # @lint-avoid-python-3-compatibility-imports
668 #
669 # btrfsdist Summarize btrfs operation latency.
670diff --git a/tools/btrfsslower.py b/tools/btrfsslower.py
671index b30880a7..e34c0d64 100755
672--- a/tools/btrfsslower.py
673+++ b/tools/btrfsslower.py
674@@ -1,4 +1,4 @@
675-#!/usr/bin/python
676+#!/usr/bin/python3
677 # @lint-avoid-python-3-compatibility-imports
678 #
679 # btrfsslower Trace slow btrfs operations.
680diff --git a/tools/cachestat.py b/tools/cachestat.py
681index bb949493..a83e6615 100755
682--- a/tools/cachestat.py
683+++ b/tools/cachestat.py
684@@ -1,4 +1,4 @@
685-#!/usr/bin/python
686+#!/usr/bin/python3
687 #
688 # cachestat Count cache kernel function calls.
689 # For Linux, uses BCC, eBPF. See .c file.
690diff --git a/tools/cachetop.py b/tools/cachetop.py
691index 59de3912..5e07ae81 100755
692--- a/tools/cachetop.py
693+++ b/tools/cachetop.py
694@@ -1,4 +1,4 @@
695-#!/usr/bin/python
696+#!/usr/bin/python3
697 # @lint-avoid-python-3-compatibility-imports
698 #
699 # cachetop Count cache kernel function calls per processes
700diff --git a/tools/capable.py b/tools/capable.py
701index bb4a8435..bf8bc5a8 100755
702--- a/tools/capable.py
703+++ b/tools/capable.py
704@@ -1,4 +1,4 @@
705-#!/usr/bin/python
706+#!/usr/bin/python3
707 # @lint-avoid-python-3-compatibility-imports
708 #
709 # capable Trace security capabilitiy checks (cap_capable()).
710diff --git a/tools/cpudist.py b/tools/cpudist.py
711index 4e549ac4..663d2b87 100755
712--- a/tools/cpudist.py
713+++ b/tools/cpudist.py
714@@ -1,4 +1,4 @@
715-#!/usr/bin/python
716+#!/usr/bin/python3
717 # @lint-avoid-python-3-compatibility-imports
718 #
719 # cpudist Summarize on- and off-CPU time per task as a histogram.
720diff --git a/tools/cpuunclaimed.py b/tools/cpuunclaimed.py
721index dc0f3252..aecab249 100755
722--- a/tools/cpuunclaimed.py
723+++ b/tools/cpuunclaimed.py
724@@ -1,4 +1,4 @@
725-#!/usr/bin/python
726+#!/usr/bin/python3
727 # @lint-avoid-python-3-compatibility-imports
728 #
729 # cpuunclaimed Sample CPU run queues and calculate unclaimed idle CPU.
730diff --git a/tools/criticalstat.py b/tools/criticalstat.py
731index 250cfc4d..9b45ef2b 100755
732--- a/tools/criticalstat.py
733+++ b/tools/criticalstat.py
734@@ -1,4 +1,4 @@
735-#!/usr/bin/python
736+#!/usr/bin/python3
737 # @lint-avoid-python-3-compatibility-imports
738 #
739 # criticalstat Trace long critical sections (IRQs or preemption disabled)
740diff --git a/tools/dbslower.py b/tools/dbslower.py
741index 2f1b6a8b..17bd3842 100755
742--- a/tools/dbslower.py
743+++ b/tools/dbslower.py
744@@ -1,4 +1,4 @@
745-#!/usr/bin/python
746+#!/usr/bin/python3
747 #
748 # dbslower Trace MySQL and PostgreSQL queries slower than a threshold.
749 #
750diff --git a/tools/dbstat.py b/tools/dbstat.py
751index a89b0971..f8c612fa 100755
752--- a/tools/dbstat.py
753+++ b/tools/dbstat.py
754@@ -1,4 +1,4 @@
755-#!/usr/bin/python
756+#!/usr/bin/python3
757 #
758 # dbstat Display a histogram of MySQL and PostgreSQL query latencies.
759 #
760diff --git a/tools/dcsnoop.py b/tools/dcsnoop.py
761index 331ee30e..3f902883 100755
762--- a/tools/dcsnoop.py
763+++ b/tools/dcsnoop.py
764@@ -1,4 +1,4 @@
765-#!/usr/bin/python
766+#!/usr/bin/python3
767 # @lint-avoid-python-3-compatibility-imports
768 #
769 # dcsnoop Trace directory entry cache (dcache) lookups.
770diff --git a/tools/dcstat.py b/tools/dcstat.py
771index 5ecddd1a..d2db8d41 100755
772--- a/tools/dcstat.py
773+++ b/tools/dcstat.py
774@@ -1,4 +1,4 @@
775-#!/usr/bin/python
776+#!/usr/bin/python3
777 # @lint-avoid-python-3-compatibility-imports
778 #
779 # dcstat Directory entry cache (dcache) stats.
780diff --git a/tools/deadlock.py b/tools/deadlock.py
781index 17848720..e767759a 100755
782--- a/tools/deadlock.py
783+++ b/tools/deadlock.py
784@@ -1,4 +1,4 @@
785-#!/usr/bin/python
786+#!/usr/bin/python3
787 #
788 # deadlock Detects potential deadlocks (lock order inversions)
789 # on a running process. For Linux, uses BCC, eBPF.
790diff --git a/tools/drsnoop.py b/tools/drsnoop.py
791index c77f5206..c640b3d6 100755
792--- a/tools/drsnoop.py
793+++ b/tools/drsnoop.py
794@@ -1,4 +1,4 @@
795-#!/usr/bin/python
796+#!/usr/bin/python3
797 # @lint-avoid-python-3-compatibility-imports
798 #
799 # drsnoop Trace direct reclaim and print details including issuing PID.
800diff --git a/tools/execsnoop.py b/tools/execsnoop.py
801index e5a04903..ea3295fc 100755
802--- a/tools/execsnoop.py
803+++ b/tools/execsnoop.py
804@@ -1,4 +1,4 @@
805-#!/usr/bin/python
806+#!/usr/bin/python3
807 # @lint-avoid-python-3-compatibility-imports
808 #
809 # execsnoop Trace new processes via exec() syscalls.
810diff --git a/tools/exitsnoop.py b/tools/exitsnoop.py
811index 13a1444c..5c37fc83 100755
812--- a/tools/exitsnoop.py
813+++ b/tools/exitsnoop.py
814@@ -1,4 +1,4 @@
815-#!/usr/bin/python
816+#!/usr/bin/python3
817 # @lint-avoid-python-3-compatibility-imports
818 from __future__ import print_function
819
820diff --git a/tools/ext4dist.py b/tools/ext4dist.py
821index 384a4c14..b1d70e10 100755
822--- a/tools/ext4dist.py
823+++ b/tools/ext4dist.py
824@@ -1,4 +1,4 @@
825-#!/usr/bin/python
826+#!/usr/bin/python3
827 # @lint-avoid-python-3-compatibility-imports
828 #
829 # ext4dist Summarize ext4 operation latency.
830diff --git a/tools/ext4slower.py b/tools/ext4slower.py
831index 0524f22e..fa245ec6 100755
832--- a/tools/ext4slower.py
833+++ b/tools/ext4slower.py
834@@ -1,4 +1,4 @@
835-#!/usr/bin/python
836+#!/usr/bin/python3
837 # @lint-avoid-python-3-compatibility-imports
838 #
839 # ext4slower Trace slow ext4 operations.
840diff --git a/tools/filelife.py b/tools/filelife.py
841index 2eb4244b..47ebb8f7 100755
842--- a/tools/filelife.py
843+++ b/tools/filelife.py
844@@ -1,4 +1,4 @@
845-#!/usr/bin/python
846+#!/usr/bin/python3
847 # @lint-avoid-python-3-compatibility-imports
848 #
849 # filelife Trace the lifespan of short-lived files.
850diff --git a/tools/fileslower.py b/tools/fileslower.py
851index 31e3adf9..2a564045 100755
852--- a/tools/fileslower.py
853+++ b/tools/fileslower.py
854@@ -1,4 +1,4 @@
855-#!/usr/bin/python
856+#!/usr/bin/python3
857 # @lint-avoid-python-3-compatibility-imports
858 #
859 # fileslower Trace slow synchronous file reads and writes.
860diff --git a/tools/filetop.py b/tools/filetop.py
861index 552367a9..632b4d78 100755
862--- a/tools/filetop.py
863+++ b/tools/filetop.py
864@@ -1,4 +1,4 @@
865-#!/usr/bin/python
866+#!/usr/bin/python3
867 # @lint-avoid-python-3-compatibility-imports
868 #
869 # filetop file reads and writes by process.
870diff --git a/tools/funccount.py b/tools/funccount.py
871index 69dd01c8..8c98461a 100755
872--- a/tools/funccount.py
873+++ b/tools/funccount.py
874@@ -1,4 +1,4 @@
875-#!/usr/bin/python
876+#!/usr/bin/python3
877 # @lint-avoid-python-3-compatibility-imports
878 #
879 # funccount Count functions, tracepoints, and USDT probes.
880diff --git a/tools/funclatency.py b/tools/funclatency.py
881index 3f08a7e0..0818eaf3 100755
882--- a/tools/funclatency.py
883+++ b/tools/funclatency.py
884@@ -1,4 +1,4 @@
885-#!/usr/bin/python
886+#!/usr/bin/python3
887 # @lint-avoid-python-3-compatibility-imports
888 #
889 # funclatency Time functions and print latency as a histogram.
890diff --git a/tools/funcslower.py b/tools/funcslower.py
891index bda6a844..f9d12c57 100755
892--- a/tools/funcslower.py
893+++ b/tools/funcslower.py
894@@ -1,4 +1,4 @@
895-#!/usr/bin/python
896+#!/usr/bin/python3
897 # @lint-avoid-python-3-compatibility-imports
898 #
899 # funcslower Trace slow kernel or user function calls.
900diff --git a/tools/gethostlatency.py b/tools/gethostlatency.py
901index f7506a86..b13b3645 100755
902--- a/tools/gethostlatency.py
903+++ b/tools/gethostlatency.py
904@@ -1,4 +1,4 @@
905-#!/usr/bin/python
906+#!/usr/bin/python3
907 #
908 # gethostlatency Show latency for getaddrinfo/gethostbyname[2] calls.
909 # For Linux, uses BCC, eBPF. Embedded C.
910diff --git a/tools/hardirqs.py b/tools/hardirqs.py
911index 589a890d..02bddc79 100755
912--- a/tools/hardirqs.py
913+++ b/tools/hardirqs.py
914@@ -1,4 +1,4 @@
915-#!/usr/bin/python
916+#!/usr/bin/python3
917 # @lint-avoid-python-3-compatibility-imports
918 #
919 # hardirqs Summarize hard IRQ (interrupt) event time.
920diff --git a/tools/inject.py b/tools/inject.py
921index fa2d3887..948832c1 100755
922--- a/tools/inject.py
923+++ b/tools/inject.py
924@@ -1,4 +1,4 @@
925-#!/usr/bin/python
926+#!/usr/bin/python3
927 #
928 # This script generates a BPF program with structure inspired by trace.py. The
929 # generated program operates on PID-indexed stacks. Generally speaking,
930diff --git a/tools/killsnoop.py b/tools/killsnoop.py
931index 2fb1dcb5..8439a539 100755
932--- a/tools/killsnoop.py
933+++ b/tools/killsnoop.py
934@@ -1,4 +1,4 @@
935-#!/usr/bin/python
936+#!/usr/bin/python3
937 # @lint-avoid-python-3-compatibility-imports
938 #
939 # killsnoop Trace signals issued by the kill() syscall.
940diff --git a/tools/klockstat.py b/tools/klockstat.py
941index 343d4362..db4715d0 100755
942--- a/tools/klockstat.py
943+++ b/tools/klockstat.py
944@@ -1,4 +1,4 @@
945-#!/usr/bin/python
946+#!/usr/bin/python3
947 #
948 # klockstat traces lock events and display locks statistics.
949 #
950diff --git a/tools/lib/ucalls.py b/tools/lib/ucalls.py
951index 307df252..75b185d5 100755
952--- a/tools/lib/ucalls.py
953+++ b/tools/lib/ucalls.py
954@@ -1,4 +1,4 @@
955-#!/usr/bin/python
956+#!/usr/bin/python3
957 # @lint-avoid-python-3-compatibility-imports
958 #
959 # ucalls Summarize method calls in high-level languages and/or system calls.
960diff --git a/tools/lib/uflow.py b/tools/lib/uflow.py
961index 4779ba2c..7c64cdde 100755
962--- a/tools/lib/uflow.py
963+++ b/tools/lib/uflow.py
964@@ -1,4 +1,4 @@
965-#!/usr/bin/python
966+#!/usr/bin/python3
967 # @lint-avoid-python-3-compatibility-imports
968 #
969 # uflow Trace method execution flow in high-level languages.
970diff --git a/tools/lib/ugc.py b/tools/lib/ugc.py
971index 8841d5fa..4cbdbcc1 100755
972--- a/tools/lib/ugc.py
973+++ b/tools/lib/ugc.py
974@@ -1,4 +1,4 @@
975-#!/usr/bin/python
976+#!/usr/bin/python3
977 # @lint-avoid-python-3-compatibility-imports
978 #
979 # ugc Summarize garbage collection events in high-level languages.
980diff --git a/tools/lib/uobjnew.py b/tools/lib/uobjnew.py
981index b8eed0f7..acff495c 100755
982--- a/tools/lib/uobjnew.py
983+++ b/tools/lib/uobjnew.py
984@@ -1,4 +1,4 @@
985-#!/usr/bin/python
986+#!/usr/bin/python3
987 # @lint-avoid-python-3-compatibility-imports
988 #
989 # uobjnew Summarize object allocations in high-level languages.
990diff --git a/tools/lib/ustat.py b/tools/lib/ustat.py
991index 3f4287bf..854fd0c0 100755
992--- a/tools/lib/ustat.py
993+++ b/tools/lib/ustat.py
994@@ -1,4 +1,4 @@
995-#!/usr/bin/python
996+#!/usr/bin/python3
997 # @lint-avoid-python-3-compatibility-imports
998 #
999 # ustat Activity stats from high-level languages, including exceptions,
1000diff --git a/tools/lib/uthreads.py b/tools/lib/uthreads.py
1001index 90d0a745..41e4bde4 100755
1002--- a/tools/lib/uthreads.py
1003+++ b/tools/lib/uthreads.py
1004@@ -1,4 +1,4 @@
1005-#!/usr/bin/python
1006+#!/usr/bin/python3
1007 # @lint-avoid-python-3-compatibility-imports
1008 #
1009 # uthreads Trace thread creation/destruction events in high-level languages.
1010diff --git a/tools/llcstat.py b/tools/llcstat.py
1011index 7b7bc47a..286a7f24 100755
1012--- a/tools/llcstat.py
1013+++ b/tools/llcstat.py
1014@@ -1,4 +1,4 @@
1015-#!/usr/bin/python
1016+#!/usr/bin/python3
1017 #
1018 # llcstat.py Summarize cache references and cache misses by PID.
1019 # Cache reference and cache miss are corresponding events defined in
1020diff --git a/tools/mdflush.py b/tools/mdflush.py
1021index f1c68aee..d15acf56 100755
1022--- a/tools/mdflush.py
1023+++ b/tools/mdflush.py
1024@@ -1,4 +1,4 @@
1025-#!/usr/bin/python
1026+#!/usr/bin/python3
1027 # @lint-avoid-python-3-compatibility-imports
1028 #
1029 # mdflush Trace md flush events.
1030diff --git a/tools/memleak.py b/tools/memleak.py
1031index 9fa6805c..4174c206 100755
1032--- a/tools/memleak.py
1033+++ b/tools/memleak.py
1034@@ -1,4 +1,4 @@
1035-#!/usr/bin/python
1036+#!/usr/bin/python3
1037 #
1038 # memleak Trace and display outstanding allocations to detect
1039 # memory leaks in user-mode processes and the kernel.
1040diff --git a/tools/mountsnoop.py b/tools/mountsnoop.py
1041index 17a2edb6..82748ca5 100755
1042--- a/tools/mountsnoop.py
1043+++ b/tools/mountsnoop.py
1044@@ -1,4 +1,4 @@
1045-#!/usr/bin/python
1046+#!/usr/bin/python3
1047 #
1048 # mountsnoop Trace mount() and umount syscalls.
1049 # For Linux, uses BCC, eBPF. Embedded C.
1050diff --git a/tools/mysqld_qslower.py b/tools/mysqld_qslower.py
1051index d867d70f..cc2725bb 100755
1052--- a/tools/mysqld_qslower.py
1053+++ b/tools/mysqld_qslower.py
1054@@ -1,4 +1,4 @@
1055-#!/usr/bin/python
1056+#!/usr/bin/python3
1057 #
1058 # mysqld_qslower MySQL server queries slower than a threshold.
1059 # For Linux, uses BCC, BPF. Embedded C.
1060diff --git a/tools/nfsdist.py b/tools/nfsdist.py
1061index ff78506f..27631ade 100755
1062--- a/tools/nfsdist.py
1063+++ b/tools/nfsdist.py
1064@@ -1,4 +1,4 @@
1065-#!/usr/bin/python
1066+#!/usr/bin/python3
1067 # @lint-avoid-python-3-compatibility-imports
1068 #
1069 # nfsdist Summarize NFS operation latency
1070diff --git a/tools/nfsslower.py b/tools/nfsslower.py
1071index 36918ca0..bddfe6ab 100755
1072--- a/tools/nfsslower.py
1073+++ b/tools/nfsslower.py
1074@@ -1,4 +1,4 @@
1075-#!/usr/bin/python
1076+#!/usr/bin/python3
1077 # @lint-avoid-python-3-compatibility-imports
1078 #
1079 # nfsslower Trace slow NFS operations
1080diff --git a/tools/offcputime.py b/tools/offcputime.py
1081index ac3b7281..fbaa37a4 100755
1082--- a/tools/offcputime.py
1083+++ b/tools/offcputime.py
1084@@ -1,4 +1,4 @@
1085-#!/usr/bin/python
1086+#!/usr/bin/python3
1087 #
1088 # offcputime Summarize off-CPU time by stack trace
1089 # For Linux, uses BCC, eBPF.
1090diff --git a/tools/offwaketime.py b/tools/offwaketime.py
1091index 4809a3b6..3d3ba8be 100755
1092--- a/tools/offwaketime.py
1093+++ b/tools/offwaketime.py
1094@@ -1,4 +1,4 @@
1095-#!/usr/bin/python
1096+#!/usr/bin/python3
1097 #
1098 # offwaketime Summarize blocked time by kernel off-CPU stack + waker stack
1099 # For Linux, uses BCC, eBPF.
1100diff --git a/tools/old/bashreadline.py b/tools/old/bashreadline.py
1101index 571b6626..671188f8 100755
1102--- a/tools/old/bashreadline.py
1103+++ b/tools/old/bashreadline.py
1104@@ -1,4 +1,4 @@
1105-#!/usr/bin/python
1106+#!/usr/bin/python3
1107 #
1108 # bashreadline Print entered bash commands from all running shells.
1109 # For Linux, uses BCC, eBPF. Embedded C.
1110diff --git a/tools/old/biosnoop.py b/tools/old/biosnoop.py
1111index 37ee3f9c..7eddf518 100755
1112--- a/tools/old/biosnoop.py
1113+++ b/tools/old/biosnoop.py
1114@@ -1,4 +1,4 @@
1115-#!/usr/bin/python
1116+#!/usr/bin/python3
1117 # @lint-avoid-python-3-compatibility-imports
1118 #
1119 # biosnoop Trace block device I/O and print details including issuing PID.
1120diff --git a/tools/old/filelife.py b/tools/old/filelife.py
1121index 075be087..733ff86b 100755
1122--- a/tools/old/filelife.py
1123+++ b/tools/old/filelife.py
1124@@ -1,4 +1,4 @@
1125-#!/usr/bin/python
1126+#!/usr/bin/python3
1127 # @lint-avoid-python-3-compatibility-imports
1128 #
1129 # filelife Trace the lifespan of short-lived files.
1130diff --git a/tools/old/gethostlatency.py b/tools/old/gethostlatency.py
1131index 7d32cb82..52ca436c 100755
1132--- a/tools/old/gethostlatency.py
1133+++ b/tools/old/gethostlatency.py
1134@@ -1,4 +1,4 @@
1135-#!/usr/bin/python
1136+#!/usr/bin/python3
1137 #
1138 # gethostlatency Show latency for getaddrinfo/gethostbyname[2] calls.
1139 # For Linux, uses BCC, eBPF. Embedded C.
1140diff --git a/tools/old/killsnoop.py b/tools/old/killsnoop.py
1141index ddf9d5af..0b0b1d57 100755
1142--- a/tools/old/killsnoop.py
1143+++ b/tools/old/killsnoop.py
1144@@ -1,4 +1,4 @@
1145-#!/usr/bin/python
1146+#!/usr/bin/python3
1147 # @lint-avoid-python-3-compatibility-imports
1148 #
1149 # killsnoop Trace signals issued by the kill() syscall.
1150diff --git a/tools/old/memleak.py b/tools/old/memleak.py
1151index eca685f8..91330d5e 100755
1152--- a/tools/old/memleak.py
1153+++ b/tools/old/memleak.py
1154@@ -1,4 +1,4 @@
1155-#!/usr/bin/python
1156+#!/usr/bin/python3
1157 #
1158 # memleak Trace and display outstanding allocations to detect
1159 # memory leaks in user-mode processes and the kernel.
1160diff --git a/tools/old/offcputime.py b/tools/old/offcputime.py
1161index c0042ffc..f9f0453d 100755
1162--- a/tools/old/offcputime.py
1163+++ b/tools/old/offcputime.py
1164@@ -1,4 +1,4 @@
1165-#!/usr/bin/python
1166+#!/usr/bin/python3
1167 #
1168 # offcputime Summarize off-CPU time by kernel stack trace
1169 # For Linux, uses BCC, eBPF.
1170diff --git a/tools/old/offwaketime.py b/tools/old/offwaketime.py
1171index 42fa5ce2..56363f17 100755
1172--- a/tools/old/offwaketime.py
1173+++ b/tools/old/offwaketime.py
1174@@ -1,4 +1,4 @@
1175-#!/usr/bin/python
1176+#!/usr/bin/python3
1177 #
1178 # offwaketime Summarize blocked time by kernel off-CPU stack + waker stack
1179 # For Linux, uses BCC, eBPF.
1180diff --git a/tools/old/oomkill.py b/tools/old/oomkill.py
1181index 0973cfba..eacacaca 100755
1182--- a/tools/old/oomkill.py
1183+++ b/tools/old/oomkill.py
1184@@ -1,4 +1,4 @@
1185-#!/usr/bin/python
1186+#!/usr/bin/python3
1187 #
1188 # oomkill Trace oom_kill_process(). For Linux, uses BCC, eBPF.
1189 #
1190diff --git a/tools/old/opensnoop.py b/tools/old/opensnoop.py
1191index 5df3b417..2eabd50a 100755
1192--- a/tools/old/opensnoop.py
1193+++ b/tools/old/opensnoop.py
1194@@ -1,4 +1,4 @@
1195-#!/usr/bin/python
1196+#!/usr/bin/python3
1197 # @lint-avoid-python-3-compatibility-imports
1198 #
1199 # opensnoop Trace open() syscalls.
1200diff --git a/tools/old/profile.py b/tools/old/profile.py
1201index 7c768f43..84091007 100755
1202--- a/tools/old/profile.py
1203+++ b/tools/old/profile.py
1204@@ -1,4 +1,4 @@
1205-#!/usr/bin/python
1206+#!/usr/bin/python3
1207 # @lint-avoid-python-3-compatibility-imports
1208 #
1209 # profile Profile CPU usage by sampling stack traces at a timed interval.
1210diff --git a/tools/old/softirqs.py b/tools/old/softirqs.py
1211index 5708ba69..04c97e61 100755
1212--- a/tools/old/softirqs.py
1213+++ b/tools/old/softirqs.py
1214@@ -1,4 +1,4 @@
1215-#!/usr/bin/python
1216+#!/usr/bin/python3
1217 # @lint-avoid-python-3-compatibility-imports
1218 #
1219 # softirqs Summarize soft IRQ (interrupt) event time.
1220diff --git a/tools/old/stackcount.py b/tools/old/stackcount.py
1221index b60cc4c2..a1affce9 100755
1222--- a/tools/old/stackcount.py
1223+++ b/tools/old/stackcount.py
1224@@ -1,4 +1,4 @@
1225-#!/usr/bin/python
1226+#!/usr/bin/python3
1227 #
1228 # stackcount Count kernel function calls and their stack traces.
1229 # For Linux, uses BCC, eBPF.
1230diff --git a/tools/old/stacksnoop.py b/tools/old/stacksnoop.py
1231index 9fcc12b0..de3debfd 100755
1232--- a/tools/old/stacksnoop.py
1233+++ b/tools/old/stacksnoop.py
1234@@ -1,4 +1,4 @@
1235-#!/usr/bin/python
1236+#!/usr/bin/python3
1237 #
1238 # stacksnoop Trace a kernel function and print all kernel stack traces.
1239 # For Linux, uses BCC, eBPF, and currently x86_64 only. Inline C.
1240diff --git a/tools/old/statsnoop.py b/tools/old/statsnoop.py
1241index ad54ac78..9284110f 100755
1242--- a/tools/old/statsnoop.py
1243+++ b/tools/old/statsnoop.py
1244@@ -1,4 +1,4 @@
1245-#!/usr/bin/python
1246+#!/usr/bin/python3
1247 # @lint-avoid-python-3-compatibility-imports
1248 #
1249 # statsnoop Trace stat() syscalls.
1250diff --git a/tools/old/syncsnoop.py b/tools/old/syncsnoop.py
1251index cae57ea8..27fbc87f 100755
1252--- a/tools/old/syncsnoop.py
1253+++ b/tools/old/syncsnoop.py
1254@@ -1,4 +1,4 @@
1255-#!/usr/bin/python
1256+#!/usr/bin/python3
1257 # @lint-avoid-python-3-compatibility-imports
1258 #
1259 # syncsnoop Trace sync() syscall.
1260diff --git a/tools/old/tcpaccept.py b/tools/old/tcpaccept.py
1261index 8125eaa3..cb8f4e7c 100755
1262--- a/tools/old/tcpaccept.py
1263+++ b/tools/old/tcpaccept.py
1264@@ -1,4 +1,4 @@
1265-#!/usr/bin/python
1266+#!/usr/bin/python3
1267 # @lint-avoid-python-3-compatibility-imports
1268 #
1269 # tcpaccept Trace TCP accept()s.
1270diff --git a/tools/old/tcpconnect.py b/tools/old/tcpconnect.py
1271index 579a85f9..318eb20d 100755
1272--- a/tools/old/tcpconnect.py
1273+++ b/tools/old/tcpconnect.py
1274@@ -1,4 +1,4 @@
1275-#!/usr/bin/python
1276+#!/usr/bin/python3
1277 # @lint-avoid-python-3-compatibility-imports
1278 #
1279 # tcpconnect Trace TCP connect()s.
1280diff --git a/tools/old/wakeuptime.py b/tools/old/wakeuptime.py
1281index a4cd521d..da5ae0af 100644
1282--- a/tools/old/wakeuptime.py
1283+++ b/tools/old/wakeuptime.py
1284@@ -1,4 +1,4 @@
1285-#!/usr/bin/python
1286+#!/usr/bin/python3
1287 #
1288 # wakeuptime Summarize sleep to wakeup time by waker kernel stack
1289 # For Linux, uses BCC, eBPF.
1290diff --git a/tools/oomkill.py b/tools/oomkill.py
1291index 4f3b6ce7..c9fde155 100755
1292--- a/tools/oomkill.py
1293+++ b/tools/oomkill.py
1294@@ -1,4 +1,4 @@
1295-#!/usr/bin/python
1296+#!/usr/bin/python3
1297 #
1298 # oomkill Trace oom_kill_process(). For Linux, uses BCC, eBPF.
1299 #
1300diff --git a/tools/opensnoop.py b/tools/opensnoop.py
1301index 60d11c63..a4a49d93 100755
1302--- a/tools/opensnoop.py
1303+++ b/tools/opensnoop.py
1304@@ -1,4 +1,4 @@
1305-#!/usr/bin/python
1306+#!/usr/bin/python3
1307 # @lint-avoid-python-3-compatibility-imports
1308 #
1309 # opensnoop Trace open() syscalls.
1310diff --git a/tools/pidpersec.py b/tools/pidpersec.py
1311index c4490043..38f41960 100755
1312--- a/tools/pidpersec.py
1313+++ b/tools/pidpersec.py
1314@@ -1,4 +1,4 @@
1315-#!/usr/bin/python
1316+#!/usr/bin/python3
1317 # @lint-avoid-python-3-compatibility-imports
1318 #
1319 # pidpersec Count new processes (via fork).
1320diff --git a/tools/profile.py b/tools/profile.py
1321index dfbced6a..7ff9a93b 100755
1322--- a/tools/profile.py
1323+++ b/tools/profile.py
1324@@ -1,4 +1,4 @@
1325-#!/usr/bin/python
1326+#!/usr/bin/python3
1327 # @lint-avoid-python-3-compatibility-imports
1328 #
1329 # profile Profile CPU usage by sampling stack traces at a timed interval.
1330diff --git a/tools/runqlat.py b/tools/runqlat.py
1331index 9fd40642..52463f74 100755
1332--- a/tools/runqlat.py
1333+++ b/tools/runqlat.py
1334@@ -1,4 +1,4 @@
1335-#!/usr/bin/python
1336+#!/usr/bin/python3
1337 # @lint-avoid-python-3-compatibility-imports
1338 #
1339 # runqlat Run queue (scheduler) latency as a histogram.
1340diff --git a/tools/runqlen.py b/tools/runqlen.py
1341index b56a5916..aec8a8af 100755
1342--- a/tools/runqlen.py
1343+++ b/tools/runqlen.py
1344@@ -1,4 +1,4 @@
1345-#!/usr/bin/python
1346+#!/usr/bin/python3
1347 # @lint-avoid-python-3-compatibility-imports
1348 #
1349 # runqlen Summarize scheduler run queue length as a histogram.
1350diff --git a/tools/runqslower.py b/tools/runqslower.py
1351index b6785330..8b24d6b0 100755
1352--- a/tools/runqslower.py
1353+++ b/tools/runqslower.py
1354@@ -1,4 +1,4 @@
1355-#!/usr/bin/python
1356+#!/usr/bin/python3
1357 # @lint-avoid-python-3-compatibility-imports
1358 #
1359 # runqslower Trace long process scheduling delays.
1360diff --git a/tools/shmsnoop.py b/tools/shmsnoop.py
1361index 11b4b6f6..5fb443fa 100755
1362--- a/tools/shmsnoop.py
1363+++ b/tools/shmsnoop.py
1364@@ -1,4 +1,4 @@
1365-#!/usr/bin/python
1366+#!/usr/bin/python3
1367 # @lint-avoid-python-3-compatibility-imports
1368 #
1369 # shmsnoop Trace shm*() syscalls.
1370diff --git a/tools/slabratetop.py b/tools/slabratetop.py
1371index b947e44e..ec602162 100755
1372--- a/tools/slabratetop.py
1373+++ b/tools/slabratetop.py
1374@@ -1,4 +1,4 @@
1375-#!/usr/bin/python
1376+#!/usr/bin/python3
1377 # @lint-avoid-python-3-compatibility-imports
1378 #
1379 # slabratetop Summarize kmem_cache_alloc() calls.
1380diff --git a/tools/sofdsnoop.py b/tools/sofdsnoop.py
1381index 6df7fcad..37e57900 100755
1382--- a/tools/sofdsnoop.py
1383+++ b/tools/sofdsnoop.py
1384@@ -1,4 +1,4 @@
1385-#!/usr/bin/python
1386+#!/usr/bin/python3
1387 # @lint-avoid-python-3-compatibility-imports
1388 #
1389 # sofdsnoop traces file descriptors passed via socket
1390diff --git a/tools/softirqs.py b/tools/softirqs.py
1391index 1e2daf5f..97b00f26 100755
1392--- a/tools/softirqs.py
1393+++ b/tools/softirqs.py
1394@@ -1,4 +1,4 @@
1395-#!/usr/bin/python
1396+#!/usr/bin/python3
1397 # @lint-avoid-python-3-compatibility-imports
1398 #
1399 # softirqs Summarize soft IRQ (interrupt) event time.
1400diff --git a/tools/solisten.py b/tools/solisten.py
1401index fc066d84..31951e18 100755
1402--- a/tools/solisten.py
1403+++ b/tools/solisten.py
1404@@ -1,4 +1,4 @@
1405-#!/usr/bin/python
1406+#!/usr/bin/python3
1407 #
1408 # solisten Trace TCP listen events
1409 # For Linux, uses BCC, eBPF. Embedded C.
1410diff --git a/tools/sslsniff.py b/tools/sslsniff.py
1411index e48fbb47..5e01d7c1 100755
1412--- a/tools/sslsniff.py
1413+++ b/tools/sslsniff.py
1414@@ -1,4 +1,4 @@
1415-#!/usr/bin/python
1416+#!/usr/bin/python3
1417 #
1418 # sslsniff Captures data on read/recv or write/send functions of OpenSSL,
1419 # GnuTLS and NSS
1420diff --git a/tools/stackcount.py b/tools/stackcount.py
1421index a58f9e31..0d5b9be0 100755
1422--- a/tools/stackcount.py
1423+++ b/tools/stackcount.py
1424@@ -1,4 +1,4 @@
1425-#!/usr/bin/python
1426+#!/usr/bin/python3
1427 #
1428 # stackcount Count events and their stack traces.
1429 # For Linux, uses BCC, eBPF.
1430diff --git a/tools/statsnoop.py b/tools/statsnoop.py
1431index 6cdff945..e1ba3e5a 100755
1432--- a/tools/statsnoop.py
1433+++ b/tools/statsnoop.py
1434@@ -1,4 +1,4 @@
1435-#!/usr/bin/python
1436+#!/usr/bin/python3
1437 # @lint-avoid-python-3-compatibility-imports
1438 #
1439 # statsnoop Trace stat() syscalls.
1440diff --git a/tools/syncsnoop.py b/tools/syncsnoop.py
1441index e5fa78e3..162fbc2a 100755
1442--- a/tools/syncsnoop.py
1443+++ b/tools/syncsnoop.py
1444@@ -1,4 +1,4 @@
1445-#!/usr/bin/python
1446+#!/usr/bin/python3
1447 # @lint-avoid-python-3-compatibility-imports
1448 #
1449 # syncsnoop Trace sync() syscall.
1450diff --git a/tools/syscount.py b/tools/syscount.py
1451index 7ba08dd3..94b7ad34 100755
1452--- a/tools/syscount.py
1453+++ b/tools/syscount.py
1454@@ -1,4 +1,4 @@
1455-#!/usr/bin/python
1456+#!/usr/bin/python3
1457 #
1458 # syscount Summarize syscall counts and latencies.
1459 #
1460diff --git a/tools/tcpaccept.py b/tools/tcpaccept.py
1461index 914d5183..c9ef7678 100755
1462--- a/tools/tcpaccept.py
1463+++ b/tools/tcpaccept.py
1464@@ -1,4 +1,4 @@
1465-#!/usr/bin/python
1466+#!/usr/bin/python3
1467 # @lint-avoid-python-3-compatibility-imports
1468 #
1469 # tcpaccept Trace TCP accept()s.
1470diff --git a/tools/tcpconnect.py b/tools/tcpconnect.py
1471index eb12667e..7ba92394 100755
1472--- a/tools/tcpconnect.py
1473+++ b/tools/tcpconnect.py
1474@@ -1,4 +1,4 @@
1475-#!/usr/bin/python
1476+#!/usr/bin/python3
1477 # @lint-avoid-python-3-compatibility-imports
1478 #
1479 # tcpconnect Trace TCP connect()s.
1480diff --git a/tools/tcpconnlat.py b/tools/tcpconnlat.py
1481index 8f686211..657a8cea 100755
1482--- a/tools/tcpconnlat.py
1483+++ b/tools/tcpconnlat.py
1484@@ -1,4 +1,4 @@
1485-#!/usr/bin/python
1486+#!/usr/bin/python3
1487 # @lint-avoid-python-3-compatibility-imports
1488 #
1489 # tcpconnlat Trace TCP active connection latency (connect).
1490diff --git a/tools/tcpdrop.py b/tools/tcpdrop.py
1491index 14515f75..2076aeb0 100755
1492--- a/tools/tcpdrop.py
1493+++ b/tools/tcpdrop.py
1494@@ -1,4 +1,4 @@
1495-#!/usr/bin/python
1496+#!/usr/bin/python3
1497 # @lint-avoid-python-3-compatibility-imports
1498 #
1499 # tcpdrop Trace TCP kernel-dropped packets/segments.
1500diff --git a/tools/tcplife.py b/tools/tcplife.py
1501index ed251553..c62c1fc5 100755
1502--- a/tools/tcplife.py
1503+++ b/tools/tcplife.py
1504@@ -1,4 +1,4 @@
1505-#!/usr/bin/python
1506+#!/usr/bin/python3
1507 # @lint-avoid-python-3-compatibility-imports
1508 #
1509 # tcplife Trace the lifespan of TCP sessions and summarize.
1510diff --git a/tools/tcpretrans.py b/tools/tcpretrans.py
1511index 1b2636ae..936028f6 100755
1512--- a/tools/tcpretrans.py
1513+++ b/tools/tcpretrans.py
1514@@ -1,4 +1,4 @@
1515-#!/usr/bin/python
1516+#!/usr/bin/python3
1517 # @lint-avoid-python-3-compatibility-imports
1518 #
1519 # tcpretrans Trace or count TCP retransmits and TLPs.
1520diff --git a/tools/tcpstates.py b/tools/tcpstates.py
1521index 3c78b1c4..0d3e9a0f 100755
1522--- a/tools/tcpstates.py
1523+++ b/tools/tcpstates.py
1524@@ -1,4 +1,4 @@
1525-#!/usr/bin/python
1526+#!/usr/bin/python3
1527 # -*- coding: utf-8 -*-
1528 # @lint-avoid-python-3-compatibility-imports
1529 #
1530diff --git a/tools/tcpsubnet.py b/tools/tcpsubnet.py
1531index 5f2a8062..302f7200 100755
1532--- a/tools/tcpsubnet.py
1533+++ b/tools/tcpsubnet.py
1534@@ -1,4 +1,4 @@
1535-#!/usr/bin/python
1536+#!/usr/bin/python3
1537 # @lint-avoid-python-3-compatibility-imports
1538 #
1539 # tcpsubnet Summarize TCP bytes sent to different subnets.
1540diff --git a/tools/tcptop.py b/tools/tcptop.py
1541index 5f09bed4..0eb45c54 100755
1542--- a/tools/tcptop.py
1543+++ b/tools/tcptop.py
1544@@ -1,4 +1,4 @@
1545-#!/usr/bin/python
1546+#!/usr/bin/python3
1547 # @lint-avoid-python-3-compatibility-imports
1548 #
1549 # tcptop Summarize TCP send/recv throughput by host.
1550diff --git a/tools/tcptracer.py b/tools/tcptracer.py
1551index e61fe9ba..544431c3 100755
1552--- a/tools/tcptracer.py
1553+++ b/tools/tcptracer.py
1554@@ -1,4 +1,4 @@
1555-#!/usr/bin/python
1556+#!/usr/bin/python3
1557 #
1558 # tcpv4tracer Trace TCP connections.
1559 # For Linux, uses BCC, eBPF. Embedded C.
1560diff --git a/tools/tplist.py b/tools/tplist.py
1561index 6ec2fbe1..e20eb0c3 100755
1562--- a/tools/tplist.py
1563+++ b/tools/tplist.py
1564@@ -1,4 +1,4 @@
1565-#!/usr/bin/python
1566+#!/usr/bin/python3
1567 #
1568 # tplist Display kernel tracepoints or USDT probes and their formats.
1569 #
1570diff --git a/tools/trace.py b/tools/trace.py
1571index 9afd6726..b370f8bd 100755
1572--- a/tools/trace.py
1573+++ b/tools/trace.py
1574@@ -1,4 +1,4 @@
1575-#!/usr/bin/python
1576+#!/usr/bin/python3
1577 #
1578 # trace Trace a function and print a trace message based on its
1579 # parameters, with an optional filter.
1580diff --git a/tools/ttysnoop.py b/tools/ttysnoop.py
1581index 058dc7e3..fa6280bf 100755
1582--- a/tools/ttysnoop.py
1583+++ b/tools/ttysnoop.py
1584@@ -1,4 +1,4 @@
1585-#!/usr/bin/python
1586+#!/usr/bin/python3
1587 # @lint-avoid-python-3-compatibility-imports
1588 #
1589 # ttysnoop Watch live output from a tty or pts device.
1590diff --git a/tools/vfscount.py b/tools/vfscount.py
1591index 303d3fde..fa0fe9a0 100755
1592--- a/tools/vfscount.py
1593+++ b/tools/vfscount.py
1594@@ -1,4 +1,4 @@
1595-#!/usr/bin/python
1596+#!/usr/bin/python3
1597 # @lint-avoid-python-3-compatibility-imports
1598 #
1599 # vfscount Count VFS calls ("vfs_*").
1600diff --git a/tools/vfsstat.py b/tools/vfsstat.py
1601index 1764c601..7ff54070 100755
1602--- a/tools/vfsstat.py
1603+++ b/tools/vfsstat.py
1604@@ -1,4 +1,4 @@
1605-#!/usr/bin/python
1606+#!/usr/bin/python3
1607 # @lint-avoid-python-3-compatibility-imports
1608 #
1609 # vfsstat Count some VFS calls.
1610diff --git a/tools/wakeuptime.py b/tools/wakeuptime.py
1611index a22245a7..b31fa981 100755
1612--- a/tools/wakeuptime.py
1613+++ b/tools/wakeuptime.py
1614@@ -1,4 +1,4 @@
1615-#!/usr/bin/python
1616+#!/usr/bin/python3
1617 #
1618 # wakeuptime Summarize sleep to wakeup time by waker kernel stack
1619 # For Linux, uses BCC, eBPF.
1620diff --git a/tools/xfsdist.py b/tools/xfsdist.py
1621index f409f90d..fb8c43cb 100755
1622--- a/tools/xfsdist.py
1623+++ b/tools/xfsdist.py
1624@@ -1,4 +1,4 @@
1625-#!/usr/bin/python
1626+#!/usr/bin/python3
1627 # @lint-avoid-python-3-compatibility-imports
1628 #
1629 # xfsdist Summarize XFS operation latency.
1630diff --git a/tools/xfsslower.py b/tools/xfsslower.py
1631index 9fa12566..2ad21f05 100755
1632--- a/tools/xfsslower.py
1633+++ b/tools/xfsslower.py
1634@@ -1,4 +1,4 @@
1635-#!/usr/bin/python
1636+#!/usr/bin/python3
1637 # @lint-avoid-python-3-compatibility-imports
1638 #
1639 # xfsslower Trace slow XFS operations.
1640diff --git a/tools/zfsdist.py b/tools/zfsdist.py
1641index 6b29b99b..e41d91a7 100755
1642--- a/tools/zfsdist.py
1643+++ b/tools/zfsdist.py
1644@@ -1,4 +1,4 @@
1645-#!/usr/bin/python
1646+#!/usr/bin/python3
1647 # @lint-avoid-python-3-compatibility-imports
1648 #
1649 # zfsdist Summarize ZFS operation latency.
1650diff --git a/tools/zfsslower.py b/tools/zfsslower.py
1651index 2f05b561..a88a3bef 100755
1652--- a/tools/zfsslower.py
1653+++ b/tools/zfsslower.py
1654@@ -1,4 +1,4 @@
1655-#!/usr/bin/python
1656+#!/usr/bin/python3
1657 # @lint-avoid-python-3-compatibility-imports
1658 #
1659 # zfsslower Trace slow ZFS operations.
1660--
16612.17.1
1662