\r
def create_bar_plot_for_latest_runs_per_setup(dframe_all_tests_latest, setup_name, show='no', save_path=''):\r
plt.figure()\r
- dframe_all_tests_latest['MPPS'].plot(kind='bar', legend=False)\r
+ colors_for_bars = ['b', 'g', 'r', 'c', 'm', 'y']\r
+ dframe_all_tests_latest['MPPS'].plot(kind='bar', legend=False, color = colors_for_bars)\r
dframe_all_tests_latest = dframe_all_tests_latest[['Test Name', 'Setup', 'Date', 'MPPS']]\r
plt.xticks(rotation='horizontal')\r
plt.xlabel('Index of Tests')\r
end_date, setup_name,\r
setup_dict)\r
if detailed_test_stats:\r
- detailed_table = create_detailed_table(dframe_detailed, setup_name, save_path)\r
+ detailed_table = create_detailed_table(dframe_detailed)\r
else:\r
detailed_table = []\r
create_bar_plot_for_latest_runs_per_setup(dframe_latest_arr, setup_name, show=show, save_path=save_path)\r
stats_arr = stats_arr.round(2)\r
stats_arr.to_csv(os.path.join(save_path, setup_name + '_trend_stats.csv'))\r
plt.close('all')\r
- return detailed_table\r
+ return detailed_table, dframe_latest_arr\r
\r
\r
-def create_detailed_table(dframe_arr_detailed, setup_name, save_path=''):\r
+def create_detailed_table(dframe_arr_detailed):\r
result = reduce(lambda x, y: pd.merge(x, y, on=('Build Id', 'Setup')), dframe_arr_detailed)\r
return result\r
\r
\r
+def latest_runs_comparison_bar_chart(setup_name1, setup_name2, setup1_latest_result, setup2_latest_result, save_path='',\r
+ show='no'):\r
+ s1_res = setup1_latest_result[['Test Name', 'MPPS']]\r
+ s2_res = setup2_latest_result[['Test Name', 'MPPS','Date']]\r
+ s1_res.columns = ['Test Name', setup_name1]\r
+ s2_res.columns = ['Test Name', setup_name2, 'Date']\r
+ compare_dframe = pd.merge(s1_res, s2_res, on='Test Name')\r
+ compare_dframe.plot(kind='bar')\r
+ plt.legend(fontsize='small', loc='best')\r
+ plt.xticks(rotation='horizontal')\r
+ plt.xlabel('Index of Tests')\r
+ plt.ylabel('MPPS')\r
+ plt.title("Comparison between " + setup_name1 + " and " + setup_name2)\r
+ if save_path:\r
+ plt.savefig(os.path.join(save_path, "_comparison.png"))\r
+ compare_dframe.to_csv(os.path.join(save_path, '_comparison_stats_table.csv'))\r
+ if show == 'yes':\r
+ plt.show()\r
+\r
+\r
# WARNING: if the file _all_stats.csv already exists, this script deletes it, to prevent overflowing of data\r
# since data is appended to the file\r
def create_all_data(ga_data, setup_names, start_date, end_date, save_path='', add_stats='', detailed_test_stats=''):\r
total_detailed_data = []\r
+ trex07_latest = []\r
+ trex08_latest = []\r
if detailed_test_stats:\r
if os.path.exists(os.path.join(save_path, '_detailed_table.csv')):\r
os.remove(os.path.join(save_path, '_detailed_table.csv'))\r
for setup_name in setup_names:\r
- if setup_name == 'trex11':\r
- continue\r
- detailed_setup_data = create_all_data_per_setup(ga_data[setup_name], setup_name, start_date, end_date,\r
- show='no', save_path=save_path,\r
- add_stats=add_stats, detailed_test_stats=detailed_test_stats)\r
+ if setup_name == 'trex07':\r
+ detailed_setup_data, trex07_latest = create_all_data_per_setup(ga_data[setup_name], setup_name, start_date,\r
+ end_date,\r
+ show='no', save_path=save_path,\r
+ add_stats=add_stats,\r
+ detailed_test_stats=detailed_test_stats)\r
+ elif setup_name == 'trex08':\r
+ detailed_setup_data, trex08_latest = create_all_data_per_setup(ga_data[setup_name], setup_name, start_date,\r
+ end_date,\r
+ show='no', save_path=save_path,\r
+ add_stats=add_stats,\r
+ detailed_test_stats=detailed_test_stats)\r
+ else:\r
+ detailed_setup_data = create_all_data_per_setup(ga_data[setup_name], setup_name, start_date, end_date,\r
+ show='no', save_path=save_path,\r
+ add_stats=add_stats,\r
+ detailed_test_stats=detailed_test_stats)[0]\r
total_detailed_data.append(detailed_setup_data)\r
if detailed_test_stats:\r
total_detailed_dframe = pd.DataFrame().append(total_detailed_data)\r
total_detailed_dframe.to_csv(os.path.join(save_path, '_detailed_table.csv'))\r
+ latest_runs_comparison_bar_chart('Mellanox ConnectX-4',\r
+ 'Intel XL710', trex07_latest, trex08_latest,\r
+ save_path=save_path, show='no')\r