39 lines
1.7 KiB
Python
39 lines
1.7 KiB
Python
import sys
|
|
import lib
|
|
import numpy as np
|
|
|
|
time_data, ping_data, jitter_data, up_data, down_data = lib.import_csv(sys.argv[1:])
|
|
|
|
averaged_data = dict()
|
|
|
|
for i in range(0, len(time_data)):
|
|
hour_truncated_time = time_data[i].replace(year=time_data[0].year, month=time_data[0].month, day=time_data[0].day, hour=time_data[i].hour, minute=0, second=0, microsecond=0)
|
|
averaged_data[hour_truncated_time] = [0, 0, 0, 0, 0]
|
|
|
|
|
|
for i in range(0, len(time_data)):
|
|
hour_truncated_time = time_data[i].replace(year=time_data[0].year, month=time_data[0].month, day=time_data[0].day, hour=time_data[i].hour, minute=0, second=0, microsecond=0)
|
|
averaged_data[hour_truncated_time][0] += ping_data[i]
|
|
averaged_data[hour_truncated_time][1] += jitter_data[i]
|
|
averaged_data[hour_truncated_time][2] += down_data[i]
|
|
averaged_data[hour_truncated_time][3] += up_data[i]
|
|
averaged_data[hour_truncated_time][4] += 1
|
|
|
|
truncated_hours = []
|
|
averaged_ping_data = []
|
|
averaged_jitter_data = []
|
|
averaged_down_data = []
|
|
averaged_up_data = []
|
|
|
|
for date in sorted(averaged_data):
|
|
truncated_hours.append(date.hour)
|
|
averaged_ping_data.append(averaged_data[date][0] / averaged_data[date][4])
|
|
averaged_jitter_data.append(averaged_data[date][1] / averaged_data[date][4])
|
|
averaged_down_data.append(averaged_data[date][2] / averaged_data[date][4])
|
|
averaged_up_data.append(averaged_data[date][3] / averaged_data[date][4])
|
|
|
|
xticks = np.arange(0, 23, step=2)
|
|
lib.plot(truncated_hours, averaged_down_data, averaged_up_data, 'down', 'up', 'bandwidth.svg', autofmt=False, xticks=xticks)
|
|
lib.plot(truncated_hours, averaged_ping_data, averaged_jitter_data, 'ping', 'jitter', 'ping_jitter.svg', autofmt=False, xticks=xticks)
|
|
|