Skip to content
Snippets Groups Projects
Commit df917304 authored by Jake Taylor's avatar Jake Taylor
Browse files

added median to e2eReport.py

parent 0fe82ddf
No related branches found
No related tags found
1 merge request!4Release
...@@ -6,6 +6,7 @@ import glob ...@@ -6,6 +6,7 @@ import glob
import os import os
import logging as log import logging as log
import datetime import datetime
import statistics
resultsDir = "./results/clients" resultsDir = "./results/clients"
...@@ -76,7 +77,8 @@ def main(): ...@@ -76,7 +77,8 @@ def main():
# Capture message timestamp # Capture message timestamp
received_timestamp_str = re.findall('INFO (.{19}\.{0,1}\d{0,6})', line)[0] received_timestamp_str = re.findall('INFO (.{19}\.{0,1}\d{0,6})', line)[0]
try: try:
received_timestamp = datetime.datetime.strptime(received_timestamp_str, '%Y/%m/%d %H:%M:%S.%f') received_timestamp = datetime.datetime.strptime(received_timestamp_str,
'%Y/%m/%d %H:%M:%S.%f')
except ValueError: except ValueError:
received_timestamp = datetime.datetime.strptime(received_timestamp_str, '%Y/%m/%d %H:%M:%S') received_timestamp = datetime.datetime.strptime(received_timestamp_str, '%Y/%m/%d %H:%M:%S')
log.debug("Located received timestamp: {}".format(received_timestamp)) log.debug("Located received timestamp: {}".format(received_timestamp))
...@@ -91,11 +93,13 @@ def main(): ...@@ -91,11 +93,13 @@ def main():
# Print results # Print results
num_successful = 0 num_successful = 0
total_latency = datetime.timedelta() total_latency = datetime.timedelta() # Keep track of the total message latencies to calculate a mean
latencies = [] # Keep track of each message's latency in order to calculate a median
for msgDigest, senderDict in messages_sent.items(): for msgDigest, senderDict in messages_sent.items():
if msgDigest in messages_received: if msgDigest in messages_received:
num_successful += 1 num_successful += 1
message_latency = messages_received[msgDigest]["received"] - messages_sent[msgDigest]["sent"] message_latency = messages_received[msgDigest]["received"] - messages_sent[msgDigest]["sent"]
latencies.append(message_latency)
total_latency += message_latency total_latency += message_latency
log.info("Message {} sent by {} on round {} was received after {}".format(msgDigest, log.info("Message {} sent by {} on round {} was received after {}".format(msgDigest,
senderDict["sender"], senderDict["sender"],
...@@ -111,9 +115,10 @@ def main(): ...@@ -111,9 +115,10 @@ def main():
else: else:
log.warning("Round {} was NOT confirmed successful, messages may have been dropped".format(round_id)) log.warning("Round {} was NOT confirmed successful, messages may have been dropped".format(round_id))
log.info("{}/{} messages received successfully after an average of {}!".format(num_successful, log.info("{}/{} messages received successfully! Average: {}, Median: {}".format(num_successful,
len(messages_sent), len(messages_sent),
total_latency / num_successful)) total_latency / num_successful,
statistics.median(latencies)))
if __name__ == "__main__": if __name__ == "__main__":
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment