From: Nathan Binkert Date: Mon, 19 Dec 2005 07:02:58 +0000 (-0500) Subject: Add a little bit of support to grab info for making graphs X-Git-Tag: m5_2.0_beta1~263 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=adf47c95b0e1cdea9f17569f6c26a118f32f574b;p=gem5.git Add a little bit of support to grab info for making graphs without using the jobfile. util/stats/db.py: util/stats/profile.py: Make it possible to send job as a string and to set the system separately from the job. --HG-- extra : convert_revision : 08aaebd3f9a1643bd41953b43f3b80dc97e6592f --- diff --git a/util/stats/db.py b/util/stats/db.py index 8e57f9043..d9b78c7d1 100644 --- a/util/stats/db.py +++ b/util/stats/db.py @@ -152,17 +152,24 @@ class Database(object): self.method = 'sum' self._method = type(self).sum - def get(self, job, stat): - run = self.allRunNames.get(job.name, None) + def get(self, job, stat, system=None): + run = self.allRunNames.get(str(job), None) if run is None: return None - from info import scalar, vector, value, values, total, len - stat.system = self[job.system] - if scalar(stat): - return value(stat, run.run) - if vector(stat): - return values(stat, run.run) + from info import ProxyError, scalar, vector, value, values, total, len + if system is None and hasattr('system', job): + system = job.system + + if system is not None: + stat.system = self[system] + try: + if scalar(stat): + return value(stat, run.run) + if vector(stat): + return values(stat, run.run) + except ProxyError: + return None return None diff --git a/util/stats/profile.py b/util/stats/profile.py index 151170280..f28c5867c 100644 --- a/util/stats/profile.py +++ b/util/stats/profile.py @@ -283,13 +283,16 @@ class Profile(object): for cpu,data in cpus.iteritems(): yield run,cpu,data - def get(self, job, stat): - if job.system is None: + def get(self, job, stat, system=None): + if system is None and hasattr('system', job): + system = job.system + + if system is None: raise AttributeError, 'The job must have a system set' - run = job.name - cpu = '%s.run%d' % (job.system, self.cpu) - data = self.getdata(run, cpu) + cpu = '%s.run%d' % (system, self.cpu) + + data = self.getdata(str(job), cpu) if not data: return None