From df9173042c0c874dc0218b27d63a95cae07aec99 Mon Sep 17 00:00:00 2001 From: Jake Taylor <jake@elixxir.io> Date: Mon, 24 May 2021 14:47:48 -0500 Subject: [PATCH] added median to e2eReport.py --- basice2e/e2eReport.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/basice2e/e2eReport.py b/basice2e/e2eReport.py index 8bfc888..5d19a62 100644 --- a/basice2e/e2eReport.py +++ b/basice2e/e2eReport.py @@ -6,6 +6,7 @@ import glob import os import logging as log import datetime +import statistics resultsDir = "./results/clients" @@ -76,7 +77,8 @@ def main(): # Capture message timestamp received_timestamp_str = re.findall('INFO (.{19}\.{0,1}\d{0,6})', line)[0] 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: received_timestamp = datetime.datetime.strptime(received_timestamp_str, '%Y/%m/%d %H:%M:%S') log.debug("Located received timestamp: {}".format(received_timestamp)) @@ -91,11 +93,13 @@ def main(): # Print results 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(): if msgDigest in messages_received: num_successful += 1 message_latency = messages_received[msgDigest]["received"] - messages_sent[msgDigest]["sent"] + latencies.append(message_latency) total_latency += message_latency log.info("Message {} sent by {} on round {} was received after {}".format(msgDigest, senderDict["sender"], @@ -111,9 +115,10 @@ def main(): else: 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, - len(messages_sent), - total_latency / num_successful)) + log.info("{}/{} messages received successfully! Average: {}, Median: {}".format(num_successful, + len(messages_sent), + total_latency / num_successful, + statistics.median(latencies))) if __name__ == "__main__": -- GitLab