40
41 args = parse()
42 verbosity = args.verbose
43 input_latencies = args.latencies
44 input_raw = args.raw
45
46
47 print("Loading TAs from hdf5");
49 ta_data.read_all_fragments()
50 print("Loading TPs from csv");
51 tp_data_latencies = pd.read_csv(input_latencies)
52
53
54 output_array = np.zeros((len(ta_data.tp_data), 5), dtype=np.uint64)
55
56
57 tpidx_making_tas = np.where(tp_data_latencies.iloc[:, 3].values == 1)
58
59 last_tpidx_making_tas = 0
60
61
62 for taidx, ta in enumerate(ta_data.tp_data):
63
64 first_tp_time = ta_data.ta_data[taidx]["time_start"]
65 last_tp_time = ta_data.ta_data[taidx]["time_end"]
66 first_tp_idx = np.searchsorted(tp_data_latencies.iloc[:, 0], first_tp_time)
67 last_tp_idx = np.searchsorted(tp_data_latencies.iloc[:, 0], last_tp_time, side="right")
68
69
70 window_df = tp_data_latencies.iloc[first_tp_idx:last_tp_idx + 1]
71 latencies_tawindow_sum = window_df.iloc[:, 2].sum()
72 latencies_tawindow_mean = window_df.iloc[:, 2].mean()
73
74
75
76
77
78
79
80
81
82
83 tp_making_ta_idx = None
84 for idx, tpidx in enumerate(tpidx_making_tas[0][last_tpidx_making_tas:]):
85 if tp_data_latencies.iloc[tpidx, 0] > first_tp_time:
86 tp_making_ta_idx = tpidx
87
88 if (idx + last_tpidx_making_tas) > last_tpidx_making_tas:
89 last_tpidx_making_tas = idx + last_tpidx_making_tas
90 break
91
92
93 if tp_making_ta_idx == None: continue
94 latencies_whole = tp_data_latencies.iloc[first_tp_idx + 1:tp_making_ta_idx + 1,2].sum()
95 latencies_lasttp = tp_data_latencies.iloc[tp_making_ta_idx,2]
96
97 output_array[taidx][0] = latencies_lasttp
98 output_array[taidx][1] = latencies_whole
99 output_array[taidx][2] = latencies_tawindow_sum
100 output_array[taidx][3] = latencies_tawindow_mean
101 output_array[taidx][4] = len(ta)
102
103 df = pd.DataFrame(output_array)
104 output_dir, output_filename = os.path.split(input_latencies)
105 output_file = os.path.join(output_dir, os.path.splitext(output_filename)[0] + '_simplified.csv')
106
107 print(f'Saving the output in csv file: {output_file}')
108 df.to_csv(output_file,index=False, header=False)
109
int main(int argc, char **argv)