42 verbosity = args.verbose
43 input_latencies = args.latencies
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)
54 output_array = np.zeros((len(ta_data.tp_data), 5), dtype=np.uint64)
57 tpidx_making_tas = np.where(tp_data_latencies.iloc[:, 3].values == 1)
59 last_tpidx_making_tas = 0
62 for taidx, ta
in enumerate(ta_data.tp_data):
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")
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()
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
88 if (idx + last_tpidx_making_tas) > last_tpidx_making_tas:
89 last_tpidx_making_tas = idx + last_tpidx_making_tas
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]
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)
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')
107 print(f
'Saving the output in csv file: {output_file}')
108 df.to_csv(output_file,index=
False, header=
False)