On Thu, Dec 11, 2025 at 10:09:10AM +0900, Stephen Hemminger wrote: > On Wed, 10 Dec 2025 16:55:25 +0000 > Bruce Richardson <[email protected]> wrote: > > > TL;DR > > ------ > > > > For a quick demo, apply patces, run e.g. testpmd and then in a separate > > terminal run: > > > > ./usertools/dpdk-telemetry-watcher.py -d1T eth.tx > > > > Output, updated once per second, will be traffic rate per port e.g.: > > > > Connected to application: "dpdk-testpmd" > > Time /ethdev/stats,0.opackets /ethdev/stats,1.opackets Total > > 16:29:12 5,213,119 5,214,304 10,427,423 > > > > > > Fuller details > > -------------- > > > > While we have the dpdk-telemetry.py CLI app for interactive querying of > > telemetry on the commandline, and a telemetry exporter script for > > sending telemetry to external tools for real-time monitoring, we don't > > have an app that can print real-time stats for DPDK apps on the > > terminal. This patchset adds such a script, developed with the help of > > Github copilot to fill a need that I found in my testing. Submitting it > > here in the hopes that others find it of use. > > > > The script acts as a wrapper around the existing dpdk-telemetry.py > > script, and pipes the commands to that script and reads the responses, > > querying it once per second. It takes a number of flag parameters, such > > as the ones above: > > - "-d" for delta values, i.e. PPS rather than total packets > > - "-1" for single-line output, i.e. no scrolling up the screen > > - "-T" to display a total column > > > > Other flag parameters can be seen by looking at the help output. > > > > Beyond the flags, the script also takes a number of positional > > parameters, which refer to specific stats to display. These stats must > > be numeric values, and should take the form of the telemetry command to > > send, followed by a "." and the stat within the result which is to be > > tracked. As above, a stat would be e.g. "/ethdev/stats,0.opackets", > > where we send "/ethdev/stats,0" to telemetry and extract the "opackets" > > part of the result. > > > > However, specifying individual stats can be awkward, so some shortcuts > > are provided too for the common case of monitoring ethernet ports. Any > > positional arg starting with "eth" will be replaced by the set of > > equivalent values for each port, e.g. "eth.imissed" will track the > > imissed value on all ports in use in the app. The ipackets and opackets > > values, as common metrics, are also available as shortened values as > > just "rx" and "tx", so in the example above, "eth.tx" means to track the > > opackets stat for every ethdev port. > > > > Finally, the script also has reconnection support so you can leave it > > running while you start and stop your application in another terminal. > > The watcher will try and reconnect to a running instance every second. > > > > > There was a previous submission of a nice telemetry TUI which seems to have > been abandoned, is there overlap with this? >
Possibly. I didn't remember that being submitted in the past. This was just something I came up with a while back for my own use, and find it really handy for quickly getting some perf numbers. Therefore I thought others might find it of use too. /Bruce

