def update_averages(self): #damage "in" latency: (the time it takes for damage requests to be processed only) if len(self.damage_in_latency) > 0: data = [(when, latency) for when, _, _, latency in list(self.damage_in_latency)] self.avg_damage_in_latency, self.recent_damage_in_latency = calculate_time_weighted_average( data) #damage "out" latency: (the time it takes for damage requests to be processed and sent out) if len(self.damage_out_latency) > 0: data = [(when, latency) for when, _, _, latency in list(self.damage_out_latency)] self.avg_damage_out_latency, self.recent_damage_out_latency = calculate_time_weighted_average( data) #client decode speed: if len(self.client_decode_time) > 0: #the elapsed time recorded is in microseconds, so multiply by 1000*1000 to get the real value: self.avg_decode_speed, self.recent_decode_speed = calculate_timesize_weighted_average( list(self.client_decode_time), sizeunit=1000 * 1000) #network send speed: if len(self.damage_send_speed) > 0: self.avg_send_speed, self.recent_send_speed = calculate_timesize_weighted_average( list(self.damage_send_speed)) all_l = [ 0.1, self.avg_damage_in_latency, self.recent_damage_in_latency, self.avg_damage_out_latency, self.recent_damage_out_latency ] self.max_latency = max(all_l)
def update_averages(self): if len(self.client_latency)>0: data = [(when, latency) for _, when, _, latency in list(self.client_latency)] self.min_client_latency = min([x for _,x in data]) self.avg_client_latency, self.recent_client_latency = calculate_time_weighted_average(data) #client ping latency: from ping packets if len(self.client_ping_latency)>0: data = list(self.client_ping_latency) self.min_client_ping_latency = min([x for _,x in data]) self.avg_client_ping_latency, self.recent_client_ping_latency = calculate_time_weighted_average(data) #server ping latency: from ping packets if len(self.server_ping_latency)>0: data = list(self.server_ping_latency) self.min_server_ping_latency = min([x for _,x in data]) self.avg_server_ping_latency, self.recent_server_ping_latency = calculate_time_weighted_average(data)
def update_averages(self): if len(self.client_latency) > 0: data = [(when, latency) for _, when, _, latency in list(self.client_latency)] self.min_client_latency = min([x for _, x in data]) self.avg_client_latency, self.recent_client_latency = calculate_time_weighted_average( data) #client ping latency: from ping packets if len(self.client_ping_latency) > 0: data = list(self.client_ping_latency) self.min_client_ping_latency = min([x for _, x in data]) self.avg_client_ping_latency, self.recent_client_ping_latency = calculate_time_weighted_average( data) #server ping latency: from ping packets if len(self.server_ping_latency) > 0: data = list(self.server_ping_latency) self.min_server_ping_latency = min([x for _, x in data]) self.avg_server_ping_latency, self.recent_server_ping_latency = calculate_time_weighted_average( data)
def update_averages(self): #damage "in" latency: (the time it takes for damage requests to be processed only) if len(self.damage_in_latency)>0: data = [(when, latency) for when, _, _, latency in list(self.damage_in_latency)] self.avg_damage_in_latency, self.recent_damage_in_latency = calculate_time_weighted_average(data) #damage "out" latency: (the time it takes for damage requests to be processed and sent out) if len(self.damage_out_latency)>0: data = [(when, latency) for when, _, _, latency in list(self.damage_out_latency)] self.avg_damage_out_latency, self.recent_damage_out_latency = calculate_time_weighted_average(data) #client decode speed: if len(self.client_decode_time)>0: #the elapsed time recorded is in microseconds, so multiply by 1000*1000 to get the real value: self.avg_decode_speed, self.recent_decode_speed = calculate_timesize_weighted_average(list(self.client_decode_time), sizeunit=1000*1000) #network send speed: if len(self.damage_send_speed)>0: self.avg_send_speed, self.recent_send_speed = calculate_timesize_weighted_average(list(self.damage_send_speed)) all_l = [0.1, self.avg_damage_in_latency, self.recent_damage_in_latency, self.avg_damage_out_latency, self.recent_damage_out_latency] self.max_latency = max(all_l)
def test_calculate_time_weighted_average(): #event_time, value now = time.time() sample_size = 100000 data = [] t = now - sample_size for _ in xrange(sample_size): #v = random.randint(0, 10000) v = random.random() data.append((t, v)) t += 1 start = time.time() v = calculate_time_weighted_average(data) end = time.time() print("calculate_time_weighted_average(%s records)=%s" % (len(data), v)) print("elapsed time: %.1fms" % (1000*(end-start)))
def test_calculate_time_weighted_average(): #event_time, value now = time.time() sample_size = 100000 data = [] t = now - sample_size for _ in xrange(sample_size): #v = random.randint(0, 10000) v = random.random() data.append((t, v)) t += 1 start = time.time() v = calculate_time_weighted_average(data) end = time.time() print("calculate_time_weighted_average(%s records)=%s" % (len(data), v)) print("elapsed time: %.1fms" % (1000 * (end - start)))