Source code for darshan.experimental.aggregators.records_as_dict

from darshan.report import *

[docs]def records_as_dict(self, mode='append', recs=None): """ Convert all counters to dictionaries with human-readable names. Args: mode (str): Whether to 'append' (default) or to 'return' aggregation. Return: None or dict: Depending on mode """ # convienience if recs is None: recs = self.records ctx = {} # aggragate for mod in recs: if mod in ['DXT_POSIX']: continue # check records for module are present if mod not in ctx: ctx[mod] = [] for rec in recs[mod]: c = None fc = None if 'counters' in rec: c = dict(zip(self.counters[mod]['counters'], rec['counters'].tolist())) if 'fcounters' in rec: fc = dict(zip(self.counters[mod]['fcounters'], rec['fcounters'].tolist())) if rec['id'] in self.name_records: nrec = self.name_records[rec['id']] else: nrec = None ctx[mod].append({'id': rec['id'], 'rank': rec['rank'], 'counters': c, 'fcounters': fc, 'name_record': nrec}) return ctx