From beabafba454ee9552b0b268b46c74465e42cd779 Mon Sep 17 00:00:00 2001 From: leobago Date: Wed, 11 Jan 2023 17:20:19 +0100 Subject: [PATCH] Adding failure rate logging --- DAS/simulator.py | 4 ++-- DAS/validator.py | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/DAS/simulator.py b/DAS/simulator.py index be41f23..fcfeb2e 100644 --- a/DAS/simulator.py +++ b/DAS/simulator.py @@ -89,7 +89,6 @@ class Simulator: self.steps = 0 while(missingSamples > 0): oldMissingSamples = missingSamples - self.logger.info("Step %d:" % self.steps, extra=self.format) for i in range(1,self.numberValidators): self.validators[i].receiveRowsColumns() for i in range(1,self.numberValidators): @@ -102,7 +101,8 @@ class Simulator: arrived, expected = self.glob.checkStatus(self.validators) missingSamples = expected - arrived - self.logger.info("step %d, missing %d of %d" % (self.steps, missingSamples, expected), extra=self.format) + missingRate = missingSamples*100/expected + self.logger.info("step %d, missing %d of %d (%0.02f %%)" % (self.steps, missingSamples, expected, missingRate), extra=self.format) if missingSamples == oldMissingSamples: break elif missingSamples == 0: diff --git a/DAS/validator.py b/DAS/validator.py index 00b4610..eaeb0a0 100644 --- a/DAS/validator.py +++ b/DAS/validator.py @@ -68,10 +68,13 @@ class Validator: random.shuffle(order) while(order): i = order.pop() - if (random.randint(0,99) > self.failureRate): + if (random.randint(0,99) >= self.failureRate): self.block.data[i] = 1 else: self.block.data[i] = 0 + nbFailures = self.block.data.count(0) + measuredFailureRate = nbFailures * 100 / (self.blockSize * self.blockSize) + self.logger.info("Number of failures: %d (%0.02f %%)", nbFailures, measuredFailureRate, extra=self.format) #broadcasted.print() for id in range(self.blockSize): self.sendColumn(id)