diff --git a/util/tracing/visualization/fedsd.py b/util/tracing/visualization/fedsd.py index 9d482ab82..8739e83a7 100644 --- a/util/tracing/visualization/fedsd.py +++ b/util/tracing/visualization/fedsd.py @@ -334,9 +334,12 @@ def load_and_process_csv_file(csv_file) : # which boils up to having 'RTI' in the 'event' column df = df[df['event'].str.contains('Sending|Receiving|Scheduler advancing time ends') == True] - # Fix the parameters of the event 'Scheduler advancing time ends' - # We rely on the fact that the first row of the csv file cannot be the end of advancing time - id = df.iloc[-1]['self_id'] + # Determine the "self id" in the trace file based on the first 'Receiving' or 'Sending' message (or use -1, the id of the RTI, if there is none). + id = -1 + for index, row in df.iterrows(): + if ('Sending' in row['event'] or 'Receiving' in row['event']) : + id = row['self_id'] + break df['self_id'] = id df = df.astype({'self_id': 'int', 'partner_id': 'int'})