def _dump_mcs_trace(self, dag=None, mcs_trace_path=None): if dag is None: dag = self.dag if mcs_trace_path is None: mcs_trace_path = self.mcs_trace_path # Dump the mcs trace input_logger = InputLogger(output_path=mcs_trace_path) input_logger.open(os.path.dirname(mcs_trace_path)) for e in dag.events: input_logger.log_input_event(e) input_logger.close(self, self.simulation_cfg, skip_mcs_cfg=True)
def dump_mcs_trace(self, dag, control_flow, mcs_trace_path=None): if mcs_trace_path is None: mcs_trace_path = self.mcs_trace_path for extension in ["", ".notimeouts"]: output_path = mcs_trace_path + extension input_logger = InputLogger() input_logger.open(os.path.dirname(output_path), output_filename="mcs.trace" + extension) for e in dag.events: if extension == ".notimeouts" and e.timed_out: continue input_logger.log_input_event(e) input_logger.close(control_flow, self.simulation_cfg, skip_mcs_cfg=True)
def main(args): if args.dp_trace_path is None: args.dp_trace_path = os.path.dirname(args.input) + "/dataplane.trace" dp_trace = Trace(args.dp_trace_path).dataplane_trace event_logger = InputLogger() event_logger.open(results_dir="/tmp/events.trace") with open(args.input) as input_file: trace = parse(input_file) for event in trace: if type(event) == replay_events.TrafficInjection: event.dp_event = dp_trace.pop(0) event_logger.log_input_event(event) event_logger.output.close()