added comparison between trex08 and trex07 to asciidoc, changed bars to be colored... 64/5164/1
authoritraviv <[email protected]>
Thu, 15 Dec 2016 14:38:34 +0000 (16:38 +0200)
committeritraviv <[email protected]>
Thu, 15 Dec 2016 14:38:50 +0000 (16:38 +0200)
Signed-off-by: itraviv <[email protected]>
doc/TRexDataAnalysis.py
doc/trex_analytics.asciidoc

index ed67426..4f0f376 100755 (executable)
@@ -76,7 +76,8 @@ def create_plot_for_dframe_arr(dframe_arr, setup_name, start_date, end_date, sho
 \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
@@ -96,7 +97,7 @@ def create_all_data_per_setup(setup_dict, setup_name, start_date, end_date, show
         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
@@ -105,28 +106,65 @@ def create_all_data_per_setup(setup_dict, setup_name, start_date, end_date, show
         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
index 3c4873e..6635a06 100755 (executable)
@@ -186,6 +186,14 @@ image:images/trex07_trend_graph.png[title="trex07_trend_graph",align="left",widt
 include::build/images/trex07_trend_stats.csv[]
 |===
 
+== Comparison between Mellanox ConnectX-4 (2x100GbE) (trex-07) and XL710 (4x40GbE)  (trex-08)
+image:images/_comparison.png[title="comparison",align="left",width={p_width}, link="images/_comparison.png"]
+[format="csv", options="header",halign='center']
+|===
+include::build/images/_comparison_stats_table.csv[]
+|===
+
 
 == Raw information