hardbyte / python-can

The can package provides controller area network support for Python developers
https://python-can.readthedocs.io
GNU Lesser General Public License v3.0
1.31k stars 604 forks source link

Add CAN bus utilization tracking #1895

Open ilanbiala opened 1 week ago

ilanbiala commented 1 week ago

Is your feature request related to a problem? Please describe.

For some testing, it is helpful to know the current CAN bus load as tests are being performed, or for load testing.

Describe the solution you'd like

Having python-can be able to provide the utilization for the past N seconds (provided either at bus initialization and running on an ongoing basis, or something like a bus.start_monitoring_utilization(window_time_s=5.0) and then having a valid value for that 5s window) would be useful, rather than having to implement this above the bus level.

Describe alternatives you've considered

Implementing this above the bus level would lead to many duplicate implementations across projects.

Additional context

canbusload provides this feature, but not in a programmatic library call available in Python as far as I could tell.