Punit Agrawal <punitagrawal@xxxxxxxxx> writes: > From: Punit Agrawal <punit1.agrawal@xxxxxxxxxxxxx> > > The cyclictest.py module uses a temporary file to store the output > from "cyclictest" which is deleted at the end of the run. As the > collected log contains information that can be useful for development > or debugging, having the ability to persist the logs is useful. > > With this goal, introduce a configuration option for the cyclictest.py > module, "savelogs", that can be used to enable persisting the > cyclictest output to a logfile. As the logs an be quite large, the > default is to not save them. > > Signed-off-by: Punit Agrawal <punit1.agrawal@xxxxxxxxxxxxx> > --- > rteval/modules/measurement/cyclictest.py | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/rteval/modules/measurement/cyclictest.py b/rteval/modules/measurement/cyclictest.py > index b1755d4f4421..ee1de883d844 100644 > --- a/rteval/modules/measurement/cyclictest.py > +++ b/rteval/modules/measurement/cyclictest.py > @@ -197,6 +197,8 @@ class Cyclictest(rtevalModulePrototype): > self.__numanodes = int(self.__cfg.setdefault('numanodes', 0)) > self.__priority = int(self.__cfg.setdefault('priority', 95)) > self.__buckets = int(self.__cfg.setdefault('buckets', 2000)) > + self.__reportdir = self.__cfg.setdefault('reportdir', os.getcwd()) > + self.__save_logs = self.__cfg.setdefault('savelogs', False) > self.__numcores = 0 > self.__cpus = [] > self.__cyclicdata = {} > @@ -255,6 +257,8 @@ class Cyclictest(rtevalModulePrototype): > mounts.close() > return ret > > + def _open_logfile(self, name): > + return open(os.path.join(self.__reportdir, "logs", name), 'w+b') > > def _WorkloadSetup(self): > self.__cyclicprocess = None > @@ -288,7 +292,10 @@ class Cyclictest(rtevalModulePrototype): > self.__cmd.append("--tracemark") > > # Buffer for cyclictest data written to stdout > - self.__cyclicoutput = tempfile.SpooledTemporaryFile(mode='w+b') > + if self.__save_logs: > + self.__cyclicoutput = self._open_logfile('cyclictest.stdout') > + else: > + self.__cyclicoutput = tempfile.SpooledTemporaryFile(mode='w+b') > > > def _WorkloadTask(self): Ping! This patch was missed when reviewing / merging the other patches in the series. Please consider merging if there are no issues. Thanks. (and apologies for the extra messages)