From: Bruce Richardson <bruce.richardson@intel.com>
To: dev@dpdk.org
Cc: Bruce Richardson <bruce.richardson@intel.com>
Subject: [RFC PATCH 4/7] usertools/telemetry-watcher: add total and one-line opts
Date: Wed, 10 Dec 2025 16:55:29 +0000 [thread overview]
Message-ID: <20251210165532.103450-5-bruce.richardson@intel.com> (raw)
In-Reply-To: <20251210165532.103450-1-bruce.richardson@intel.com>
Add options to the script to print out totals at the end of each line,
and to print each line replacing the previous one, saving the output
scrolling up the screen constantly.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
usertools/dpdk-telemetry-watcher.py | 27 ++++++++++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)
diff --git a/usertools/dpdk-telemetry-watcher.py b/usertools/dpdk-telemetry-watcher.py
index 8af9af867c..bdf1423dd3 100755
--- a/usertools/dpdk-telemetry-watcher.py
+++ b/usertools/dpdk-telemetry-watcher.py
@@ -210,10 +210,13 @@ def monitor_stats(process, args):
header = "Time".ljust(10)
for spec, _, _ in parsed_specs:
header += spec.rjust(25)
+ if args.total:
+ header += "Total".rjust(25)
print(header)
# Monitor loop - once per second
count = 0
+ line_ending = "\r" if args.single_line else "\n"
try:
while args.timeout is None or count < args.timeout:
time.sleep(1)
@@ -223,6 +226,7 @@ def monitor_stats(process, args):
row = timestamp.ljust(10)
current_values = []
+ total = 0
for i, (spec, command, field) in enumerate(parsed_specs):
data = query_telemetry(process, command)
current_value = data[field]
@@ -233,11 +237,17 @@ def monitor_stats(process, args):
else:
display_value = current_value
+ total += display_value
row += str(display_value).rjust(25)
- print(row)
+ if args.total:
+ row += str(total).rjust(25)
+
+ print(row, end=line_ending, flush=True)
prev_values = current_values
except KeyboardInterrupt:
+ if args.single_line:
+ print() # Add newline before exit message
print("\nMonitoring stopped")
@@ -282,6 +292,21 @@ def main():
default=False,
help="Display delta values instead of absolute values",
)
+ parser.add_argument(
+ "-T",
+ "--total",
+ action="store_true",
+ default=False,
+ help="Display a total column at the end of each row",
+ )
+ parser.add_argument(
+ "-1",
+ "--single-line",
+ action="store_true",
+ default=False,
+ dest="single_line",
+ help="Display output on a single line, replacing the previous output",
+ )
parser.add_argument(
"stats",
nargs="*",
--
2.51.0
next prev parent reply other threads:[~2025-12-10 16:56 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-10 16:55 [RFC PATCH 0/7] Add script for real-time telemetry monitoring Bruce Richardson
2025-12-10 16:55 ` [RFC PATCH 1/7] usertools: add new script to monitor telemetry on terminal Bruce Richardson
2025-12-10 16:55 ` [RFC PATCH 2/7] usertools/telemetry-watcher: add displaying stats Bruce Richardson
2025-12-10 16:55 ` [RFC PATCH 3/7] usertools/telemetry-watcher: add delta and timeout opts Bruce Richardson
2025-12-10 16:55 ` Bruce Richardson [this message]
2025-12-10 16:55 ` [RFC PATCH 5/7] usertools/telemetry-watcher: add thousands separator Bruce Richardson
2025-12-10 16:55 ` [RFC PATCH 6/7] usertools/telemetry-watcher: add eth name shortcuts Bruce Richardson
2025-12-10 16:55 ` [RFC PATCH 7/7] usertools/telemetry-watcher: support reconnection Bruce Richardson
2025-12-11 1:09 ` [RFC PATCH 0/7] Add script for real-time telemetry monitoring Stephen Hemminger
2025-12-11 9:10 ` Bruce Richardson
2025-12-12 5:32 ` Stephen Hemminger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251210165532.103450-5-bruce.richardson@intel.com \
--to=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).