mirror of
https://github.com/logos-storage/das-research.git
synced 2026-01-07 15:43:08 +00:00
save progress and traffic statistics to XML
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
This commit is contained in:
parent
23af30e381
commit
eb4f451303
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
import networkx as nx
|
import networkx as nx
|
||||||
import logging, random
|
import logging, random
|
||||||
|
import pandas as pd
|
||||||
from functools import partial, partialmethod
|
from functools import partial, partialmethod
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from DAS.tools import *
|
from DAS.tools import *
|
||||||
@ -168,6 +169,7 @@ class Simulator:
|
|||||||
arrived, expected, ready, validated = self.glob.checkStatus(self.validators)
|
arrived, expected, ready, validated = self.glob.checkStatus(self.validators)
|
||||||
missingSamples = expected - arrived
|
missingSamples = expected - arrived
|
||||||
missingVector = []
|
missingVector = []
|
||||||
|
progressVector = []
|
||||||
trafficStatsVector = []
|
trafficStatsVector = []
|
||||||
steps = 0
|
steps = 0
|
||||||
while(True):
|
while(True):
|
||||||
@ -199,6 +201,31 @@ class Simulator:
|
|||||||
missingSamples, sampleProgress, nodeProgress, validatorProgress = self.glob.getProgress(self.validators)
|
missingSamples, sampleProgress, nodeProgress, validatorProgress = self.glob.getProgress(self.validators)
|
||||||
self.logger.debug("step %d, arrived %0.02f %%, ready %0.02f %%, validated %0.02f %%"
|
self.logger.debug("step %d, arrived %0.02f %%, ready %0.02f %%, validated %0.02f %%"
|
||||||
% (steps, sampleProgress*100, nodeProgress*100, validatorProgress*100), extra=self.format)
|
% (steps, sampleProgress*100, nodeProgress*100, validatorProgress*100), extra=self.format)
|
||||||
|
|
||||||
|
cnS = "samples received"
|
||||||
|
cnN = "nodes ready"
|
||||||
|
cnV = "validators ready"
|
||||||
|
cnT0 = "TX builder mean"
|
||||||
|
cnT1 = "TX class1 mean"
|
||||||
|
cnT2 = "TX class2 mean"
|
||||||
|
cnR1 = "RX class1 mean"
|
||||||
|
cnR2 = "RX class2 mean"
|
||||||
|
cnD1 = "Dup class1 mean"
|
||||||
|
cnD2 = "Dup class2 mean"
|
||||||
|
|
||||||
|
progressVector.append({
|
||||||
|
cnS:sampleProgress,
|
||||||
|
cnN:nodeProgress,
|
||||||
|
cnV:validatorProgress,
|
||||||
|
cnT0: trafficStats[0]["Tx"]["mean"],
|
||||||
|
cnT1: trafficStats[1]["Tx"]["mean"],
|
||||||
|
cnT2: trafficStats[2]["Tx"]["mean"],
|
||||||
|
cnR1: trafficStats[1]["Rx"]["mean"],
|
||||||
|
cnR2: trafficStats[2]["Rx"]["mean"],
|
||||||
|
cnD1: trafficStats[1]["RxDup"]["mean"],
|
||||||
|
cnD2: trafficStats[2]["RxDup"]["mean"],
|
||||||
|
})
|
||||||
|
|
||||||
if missingSamples == oldMissingSamples:
|
if missingSamples == oldMissingSamples:
|
||||||
self.logger.debug("The block cannot be recovered, failure rate %d!" % self.shape.failureRate, extra=self.format)
|
self.logger.debug("The block cannot be recovered, failure rate %d!" % self.shape.failureRate, extra=self.format)
|
||||||
missingVector.append(missingSamples)
|
missingVector.append(missingSamples)
|
||||||
@ -210,7 +237,9 @@ class Simulator:
|
|||||||
else:
|
else:
|
||||||
steps += 1
|
steps += 1
|
||||||
|
|
||||||
|
progress = pd.DataFrame(progressVector)
|
||||||
|
if self.config.saveProgress:
|
||||||
|
self.result.addMetric("progress", progress.to_dict(orient='list'))
|
||||||
self.result.populate(self.shape, missingVector)
|
self.result.populate(self.shape, missingVector)
|
||||||
self.result.addMetric("trafficStats", trafficStatsVector)
|
|
||||||
return self.result
|
return self.result
|
||||||
|
|
||||||
|
|||||||
@ -19,6 +19,9 @@ import numpy as np
|
|||||||
from DAS.shape import Shape
|
from DAS.shape import Shape
|
||||||
|
|
||||||
dumpXML = 1
|
dumpXML = 1
|
||||||
|
|
||||||
|
# save progress vectors to XML
|
||||||
|
saveProgress = 1
|
||||||
visualization = 1
|
visualization = 1
|
||||||
logLevel = logging.INFO
|
logLevel = logging.INFO
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user