Skip to content

Commit 7aa6bd8

Browse files
author
Brinick Simmons
committed
Improve code in jobreport parsing function
1 parent 401dbfb commit 7aa6bd8

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

pilot/user/atlas/common.py

+14-1
Original file line numberDiff line numberDiff line change
@@ -1251,7 +1251,7 @@ def get(self, path, dst_dict, dst_key):
12511251
dst_dict[dst_key] = v[last_key]
12521252

12531253

1254-
def parse_jobreport_data(job_report):
1254+
def parse_jobreport_data(job_report): # noqa: C901
12551255
"""
12561256
Parse a job report and extract relevant fields.
12571257
@@ -1316,6 +1316,19 @@ def parse_jobreport_data(job_report):
13161316
exc_report.extend(list(v['memory']['Max'].items())) # Python 2/3
13171317
for x in exc_report:
13181318
fin_report[x[0]] += x[1]
1319+
1320+
# Proposed version
1321+
fin_report_brinick = defaultdict(int)
1322+
for value in j.values():
1323+
mem = value.get('memory', {})
1324+
for key in ('Avg', 'Max'):
1325+
for subk, subv in mem.get(key, {}).items():
1326+
fin_report_brinick[subk] += subv
1327+
1328+
# Compare output from the original and the proposed versions
1329+
logger.debug("Original code yields fin_report: %s", fin_report)
1330+
logger.debug("Proposed code yields fin_report: %s", fin_report_brinick)
1331+
13191332
work_attributes.update(fin_report)
13201333

13211334
workdir_size = get_workdir_size()

0 commit comments

Comments
 (0)