in benchmarking/reporters/local_reporter/local_reporter.py [0:0]
def report(self, content):
data = content[self.DATA]
if data is None or len(data) == 0:
getLogger().info("No data to write")
return
meta = content[self.META]
net_name = meta["net_name"]
netdir = getFilename(net_name)
platform_name = meta[self.PLATFORM]
platformdir = getFilename(platform_name)
framework_name = meta["framework"]
frameworkdir = getFilename(framework_name)
metric_name = meta["metric"]
metric_dir = getFilename(metric_name)
id_dir = getFilename(meta["identifier"])
ts = float(meta["commit_time"])
commit = meta["commit"]
datedir = getDirectory(commit, ts)
dirname = os.path.join(
self.local_reporter,
platformdir,
frameworkdir,
netdir,
metric_dir,
id_dir,
datedir,
)
i = 0
while os.path.exists(os.path.join(dirname, str(i))):
i = i + 1
dirname = os.path.join(dirname, str(i))
os.makedirs(dirname)
for d in data:
filename = os.path.join(dirname, getFilename(d) + ".txt")
content_d = json.dumps(data[d], indent=2, sort_keys=True)
with open(filename, "w") as file:
file.write(content_d)
filename = os.path.join(dirname, getFilename(self.META) + ".txt")
with open(filename, "w") as file:
content_meta = json.dumps(meta, indent=2, sort_keys=True)
file.write(content_meta)
pname = platform_name
if "platform_hash" in meta:
pname = pname + " ({})".format(meta["platform_hash"])
getLogger().info("Writing file for {}: {}".format(pname, dirname))