elkowar / eww

ElKowars wacky widgets
https://elkowar.github.io/eww
MIT License
8.78k stars 366 forks source link

Fix: EWW_NET wrong values for TX/RX stats #1108

Open mario-kr opened 1 month ago

mario-kr commented 1 month ago

Description

The sysinfo crate, structure Networks, basically caches one value of total_received/total_transmitted each (as well as other metrics) and returns the difference between those two values when queried via the received() and transmitted() functions.

These values are updated by both the refresh() and refresh_list() functions; so by calling both of them right after each other like previously done here, sets both the cached total_received/... and the current total_received/... to nearly the same value.

refresh_list() also updates the list of interfaces on a host, with a marginally small performance impact for doing so (I measured slightly more than 100 microseconds on my machine (0.1 milliseconds), around 20-25% more than with refresh()), especially considering this is run only every 2 seconds.

Fixes #1070

Usage

N/A

Showcase

N/A

Additional Notes

I tested by running my panel config, which includes a network widget showing these two values. What was displayed was comparable to the network stats in bottom/btm.

Checklist

Please make sure you can check all the boxes that apply to this PR.