def _extract_process_metrics(json_data): """ :type json_data: dict :rtype : dict """ fields = dict(exit='exit', duration='duration') context = JsonPreprocessor.extract_props(json_data, fields) context = JsonPreprocessor.convert_fields(context, int, ['exit']) context = JsonPreprocessor.convert_fields(context, float, ['duration']) return context
def _extract_process_context(json_data): """ :type json_data: dict :rtype : dict """ fields = dict(flags='program-flags', branch='program-branch', problem='problem', path='path', task_size='task-size', resolution='timer-resolution', start='run-started-at', nproc='nproc', version='program-revision') context = JsonPreprocessor.extract_props(json_data, fields) context = JsonPreprocessor.convert_fields( context, lambda x: datetime.strptime(x, '%m/%d/%y %H:%M:%S'), ['start']) return context
def _extract_event_metrics(json_data): """ :type json_data: dict :rtype : dict """ fields = dict(call='call-count', call_max='call-count-max', call_min='call-count-min', call_sum='call-count-sum', duration='cumul-time', time='cumul-time', time_max='cumul-time-max', time_min='cumul-time-min', time_sum='cumul-time-sum') context = JsonPreprocessor.extract_props(json_data, fields) context = JsonPreprocessor.convert_fields( context, lambda x: datetime.strptime(x, '%m/%d/%y %H:%M:%S'), ['start']) return context