tools: Flush stdout explicitly in event loop
diff --git a/tools/compactsnoop.py b/tools/compactsnoop.py
index 71ef95b..9daaf48 100755
--- a/tools/compactsnoop.py
+++ b/tools/compactsnoop.py
@@ -18,6 +18,7 @@
import argparse
import platform
from datetime import datetime, timedelta
+import sys
# arguments
examples = """examples:
@@ -390,6 +391,8 @@
print("\t%s" % sym)
print("")
+ sys.stdout.flush()
+
# loop with callback to print_event
b["events"].open_perf_buffer(print_event, page_cnt=64)
start_time = datetime.now()
diff --git a/tools/drsnoop.py b/tools/drsnoop.py
index e4ea922..e0344d1 100755
--- a/tools/drsnoop.py
+++ b/tools/drsnoop.py
@@ -20,6 +20,7 @@
from datetime import datetime, timedelta
import os
import math
+import sys
# symbols
kallsyms = "/proc/kallsyms"
@@ -224,6 +225,8 @@
else:
print("")
+ sys.stdout.flush()
+
# loop with callback to print_event
b["events"].open_perf_buffer(print_event, page_cnt=64)
diff --git a/tools/hardirqs.py b/tools/hardirqs.py
index 239d813..3bcf649 100755
--- a/tools/hardirqs.py
+++ b/tools/hardirqs.py
@@ -19,6 +19,7 @@
from bcc import BPF
from time import sleep, strftime
import argparse
+import sys
# arguments
examples = """examples:
@@ -248,6 +249,8 @@
print("%-26s %11d" % (k.name.decode('utf-8', 'replace'), v.value / factor))
dist.clear()
+ sys.stdout.flush()
+
countdown -= 1
if exiting or countdown == 0:
exit()
diff --git a/tools/mountsnoop.py b/tools/mountsnoop.py
index a6d7ece..d186602 100755
--- a/tools/mountsnoop.py
+++ b/tools/mountsnoop.py
@@ -420,6 +420,7 @@
print('{:16} {:<7} {:<7} {:<11} {}'.format(
syscall['comm'].decode('utf-8', 'replace'), syscall['tgid'],
syscall['pid'], syscall['mnt_ns'], call))
+ sys.stdout.flush()
except KeyError:
# This might happen if we lost an event.
pass
diff --git a/tools/softirqs.py b/tools/softirqs.py
index d98b938..2186277 100755
--- a/tools/softirqs.py
+++ b/tools/softirqs.py
@@ -17,6 +17,7 @@
from bcc import BPF
from time import sleep, strftime
import argparse
+import sys
# arguments
examples = """examples:
@@ -175,6 +176,8 @@
print("%-16s %11d" % (vec_to_name(k.vec), v.value / factor))
dist.clear()
+ sys.stdout.flush()
+
countdown -= 1
if exiting or countdown == 0:
exit()
diff --git a/tools/syncsnoop.py b/tools/syncsnoop.py
index e5fa78e..e96cd3c 100755
--- a/tools/syncsnoop.py
+++ b/tools/syncsnoop.py
@@ -15,6 +15,7 @@
from __future__ import print_function
from bcc import BPF
+import sys
# load BPF program
b = BPF(text="""
@@ -40,6 +41,7 @@
def print_event(cpu, data, size):
event = b["events"].event(data)
print("%-18.9f sync()" % (float(event.ts) / 1000000))
+ sys.stdout.flush()
# loop with callback to print_event
b["events"].open_perf_buffer(print_event)