SOLARIS_QT6_DAQ/Aux/netTraffic.py

44 lines
1.5 KiB
Python
Executable File

#!/usr/bin/env python3
import psutil
import time
from datetime import datetime
def calculate_speed(interface, interval=1):
# Get the initial number of bytes sent and received
initial_bytes_sent = psutil.net_io_counters(pernic=True)[interface].bytes_sent
initial_bytes_recv = psutil.net_io_counters(pernic=True)[interface].bytes_recv
# Wait for the specified interval
time.sleep(interval)
# Get the number of bytes sent and received after the interval
final_bytes_sent = psutil.net_io_counters(pernic=True)[interface].bytes_sent
final_bytes_recv = psutil.net_io_counters(pernic=True)[interface].bytes_recv
# Calculate the data speed in bytes per second
sent_speed = final_bytes_sent - initial_bytes_sent
recv_speed = final_bytes_recv - initial_bytes_recv
return sent_speed, recv_speed
# Define the network interface
interface = 'enp6s0f0'
print("Monitoring data speed for interface: {}".format(interface))
# Continuous monitoring loop
while True:
# Calculate the data speed for the interface
sent_speed, recv_speed = calculate_speed(interface, 6)
# Convert bytes
sent_speed_mbps = sent_speed / 1024.
recv_speed_mbps = recv_speed / 1024.
current_time = datetime.now().strftime("%H:%M:%S")
print("{}| Data speed (sent): {:10f} KiB/s (received): {:10f} KiB/s".format(current_time, sent_speed_mbps,recv_speed_mbps))
# Wait for one second before the next iteration
#time.sleep(1)