Source code for spinn_front_end_common.interface.provenance.pacman_provenance_extractor

from spinn_front_end_common.utilities.utility_objs import ProvenanceDataItem


[docs]class PacmanProvenanceExtractor(object): """ Extracts Provenance data from a PACMANAlgorithmExecutor """ def __init__(self): self._data_items = list()
[docs] def extract_provenance(self, executor): """ acquires the timings from pacman algorithms (provenance data) :param executor: the pacman workflow executor :rtype: None """ for (algorithm, run_time, exec_names) in executor.algorithm_timings: names = ["pacman"] names.append(exec_names) names.extend(["run_time_of_{}".format(algorithm)]) self._data_items.append(ProvenanceDataItem(names, run_time))
@property def data_items(self): """ returns the provenance data items :return: list of provenance data items. :rtype: iterable of ProvenanceDataItem """ return self._data_items
[docs] def clear(self): """ clears the provenance data store :rtype: None """ self._data_items = list()