40 lines
995 B
Python
40 lines
995 B
Python
import matplotlib.pyplot as plt
|
|
import mysql.connector
|
|
|
|
|
|
def Average(lst):
|
|
return sum(lst) / len(lst)
|
|
|
|
|
|
# mariadb
|
|
mariadbConnection = mysql.connector.connect(
|
|
host="server0", port="3306", user="root", password="lungretter1", database="bandwidth")
|
|
mariadbCursor = mariadbConnection.cursor()
|
|
mariadbCursor.execute("SELECT times, ping, download, upload FROM speedtest")
|
|
mariadbResult = mariadbCursor.fetchall()
|
|
|
|
times = []
|
|
pings = []
|
|
downloads = []
|
|
uploads = []
|
|
sum_ping = 0.0
|
|
|
|
for i in mariadbResult:
|
|
times.append(i[0])
|
|
pings.append(i[1])
|
|
downloads.append(i[2])
|
|
uploads.append(i[3])
|
|
|
|
print("i = ", len(times))
|
|
print("avg ping = ", Average(pings), " ms")
|
|
print("avg download = ", Average(downloads) / 1000000, " mbit/s")
|
|
print("avg upload = ", Average(uploads) / 1000000, " mbit/s")
|
|
|
|
# plot
|
|
plt.plot(times, pings, label="Ping")
|
|
plt.plot(times, downloads, label="Download")
|
|
plt.plot(times, uploads, label="Upload")
|
|
plt.legend()
|
|
plt.title("bandwidth from mariadb")
|
|
plt.show()
|