Add packet loss statistics

master
hans362 3 years ago
parent 4f2e987fd9
commit f1e069f1b8
Signed by: hans362
GPG Key ID: B186D77ABEC2A785

@ -38,6 +38,21 @@ def RegisterRecord(apiEndpoint, secret, agentId, nodeId, latency):
print(e) print(e)
def PingNode(hostname, count=4, unit='ms'):
sum = 0
times = count
for i in range(count):
latency = ping(hostname, unit=unit)
if latency != None and latency != False:
sum += latency
else:
times -= 1
if times == 0:
return None, 1.00
else:
return round(sum/times, 2), round((count-times)/count, 2)
# Accept args from command line # Accept args from command line
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument('-a', '--apiEndpoint', parser.add_argument('-a', '--apiEndpoint',
@ -62,10 +77,10 @@ if nodeList == None:
# Ping nodes # Ping nodes
for node in nodeList: for node in nodeList:
print('Pinging ' + node['hostname']) print('Pinging ' + node['hostname'])
latency = ping(node['hostname'], unit='ms') latency, loss = PingNode(node['hostname'])
if latency == None or latency == False: if latency == None:
latency = -1 latency = -1
latency = int(latency)
print('latency: ' + str(latency)) print('latency: ' + str(latency))
print('loss: ' + str(loss))
RegisterRecord(args.apiEndpoint, args.secret, RegisterRecord(args.apiEndpoint, args.secret,
str(agentId), str(node['id']), str(latency)) str(agentId), str(node['id']), str(latency), str(loss))

Loading…
Cancel
Save