aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxingfeng2510 <xingfeng25100@163.com>2022-03-24 10:51:26 +0800
committeryonghong-song <ys114321@gmail.com>2022-03-23 23:19:06 -0700
commit7b2c114a8049196aa52281f55929cf51c363cc77 (patch)
tree57e4de56bf9f2036b30240e9ee7700fba263744d
parent43fec8b8eddaf3dd8805ff0cfcf4bd031db60f38 (diff)
downloadbcc-7b2c114a8049196aa52281f55929cf51c363cc77.tar.gz
tools: Flush stdout explicitly in event loop
-rwxr-xr-xtools/compactsnoop.py3
-rwxr-xr-xtools/drsnoop.py3
-rwxr-xr-xtools/hardirqs.py3
-rwxr-xr-xtools/mountsnoop.py1
-rwxr-xr-xtools/softirqs.py3
-rwxr-xr-xtools/syncsnoop.py2
6 files changed, 15 insertions, 0 deletions
diff --git a/tools/compactsnoop.py b/tools/compactsnoop.py
index 71ef95b0..9daaf485 100755
--- a/tools/compactsnoop.py
+++ b/tools/compactsnoop.py
@@ -18,6 +18,7 @@ from bcc import BPF
import argparse
import platform
from datetime import datetime, timedelta
+import sys
# arguments
examples = """examples:
@@ -390,6 +391,8 @@ def print_event(cpu, data, size):
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 e4ea9222..e0344d12 100755
--- a/tools/drsnoop.py
+++ b/tools/drsnoop.py
@@ -20,6 +20,7 @@ import argparse
from datetime import datetime, timedelta
import os
import math
+import sys
# symbols
kallsyms = "/proc/kallsyms"
@@ -224,6 +225,8 @@ def print_event(cpu, data, size):
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 239d8139..3bcf6492 100755
--- a/tools/hardirqs.py
+++ b/tools/hardirqs.py
@@ -19,6 +19,7 @@ from __future__ import print_function
from bcc import BPF
from time import sleep, strftime
import argparse
+import sys
# arguments
examples = """examples:
@@ -248,6 +249,8 @@ while (1):
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 a6d7ecee..d186602d 100755
--- a/tools/mountsnoop.py
+++ b/tools/mountsnoop.py
@@ -420,6 +420,7 @@ def print_event(mounts, umounts, parent, cpu, data, size):
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 d98b9387..21862772 100755
--- a/tools/softirqs.py
+++ b/tools/softirqs.py
@@ -17,6 +17,7 @@ from __future__ import print_function
from bcc import BPF
from time import sleep, strftime
import argparse
+import sys
# arguments
examples = """examples:
@@ -175,6 +176,8 @@ while (1):
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 e5fa78e3..e96cd3c4 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 @@ print("%-18s %s" % ("TIME(s)", "CALL"))
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)