Index: /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/apv/templates/monitoring/slb/monitor/monitor.html
===================================================================
--- /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/apv/templates/monitoring/slb/monitor/monitor.html	(revision 38740)
+++ /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/apv/templates/monitoring/slb/monitor/monitor.html	(working copy)
@@ -1178,7 +1178,7 @@
                                     <el-popover placement="right" width="400" trigger="hover">
                                         <el-collapse v-model="activeHelpNames">
                                             <el-collapse-item name="1">
-                                                <template slot="title">{[gettext('SSL Handshake Success Rate Statistics')]}</template>
+                                                <template slot="title"><span>{[gettext('SSL Handshake Success Rate Statistics')]}</span></template>
                                                 <div>{[gettext('SSL handshake success rate statistics of all SSL virtual hosts and SSL real hosts.')]}</div>
                                             </el-collapse-item>
                                         </el-collapse>
@@ -6540,7 +6540,7 @@
                     let that = this
                     let monitor_type = ""
                     if (module == 'total') {
-                        monitor_type = [["slb", "slb_total", "total_throughput"],["slb", "slb_total", "curr_conn"],["slb", "slb_total", "cps"],["slb", "slb_total", "ssl_throughput"],["slb", "slb_total", "ssl_vh_throughput"],["slb", "slb_total", "ssl_rh_throughput"],["slb", "slb_total", "cache_hit_radio"],["slb", "slb_total", "compress_ratio"]]
+                        monitor_type = [["slb", "slb_total", "total_throughput"],["slb", "slb_total", "curr_conn"],["slb", "slb_total", "cps"],["slb", "slb_total", "ssl_throughput"],["slb", "slb_total", "ssl_vh_throughput"],["slb", "slb_total", "ssl_rh_throughput"],["slb", "slb_total", "global_ssl_cc"],["slb", "slb_total", "global_ssl_cps"],["slb", "slb_total", "cache_hit_radio"],["slb", "slb_total", "compress_ratio"],["slb", "slb_total", "handshake_success_rate"]]
                     }
                     if (module == 'slb_vs') {
                         monitor_type = [["slb", "vs_report", service, "vs_policy_hits"],["slb", "vs_report", service, "vs_rs_load"],["slb", "vs_report", service, "vs_cc"],["slb", "vs_report", service, "vs_cps"],["slb", "vs_report", service, "vs_throughput"],["slb", "vs_report", service, "vs_pkg_rate"],["slb", "vs_report", service, "vs_rtt"],["slb", "vs_report", service, "vs_response_code"],["slb", "vs_report", service, "vs_cache_hit_radio"],["slb", "vs_report", service, "vs_compression_radio_data"]]
Index: /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/hive/report.py
===================================================================
--- /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/hive/report.py	(revision 38740)
+++ /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/hive/report.py	(working copy)
@@ -569,10 +569,15 @@
     vhost_out_list = []
     rhost_in_list = []
     rhost_out_list = []
+    ssl_cc_list = []
+    ssl_cps_list = []
     slb_in_list = []
     slb_out_list = []
     slb_cc_list = []
     slb_cps_list = []
+    handshake_success_rate_list = []
+    handshake_total_count_list = []
+    handshake_success_count_list = []
 
     compress_sql = {'rawSql': 'select $__timeGroup(time) as timef, avg(compRatioAll) from CompressionGlobalStatistics where $__timeFilter(timef/1000) GROUP BY timef;', 
                         'to': to_time, 'from': from_time, 'format': 'time_series'}
@@ -580,7 +585,7 @@
     cache_sql = {'rawSql': 'Select $__timeGroup(time) as timef, avg(cacheHitRatio) from CacheGlobalStatistics where $__timeFilter(timef/1000) GROUP BY timef;', 
                     'to': to_time, 'from': from_time, 'format': 'time_series'}
     cache_data = query_metric(cache_sql)
-    ssl_sql = {'rawSql': 'Select $__timeGroup(time) as timef, avg(average_bandwidth_in), avg(average_bandwidth_out), avg(average_bandwidth_in_vhost), avg(average_bandwidth_out_vhost), avg(average_bandwidth_in_rhost), avg(average_bandwidth_out_rhost) from GlobalSSLThroughStats where $__timeFilter(timef/1000) GROUP BY timef;', 
+    ssl_sql = {'rawSql': 'Select $__timeGroup(time) as timef, avg(average_bandwidth_in), avg(average_bandwidth_out), avg(average_bandwidth_in_vhost), avg(average_bandwidth_out_vhost), avg(average_bandwidth_in_rhost), avg(average_bandwidth_out_rhost), avg(current_connection_count), avg(connection_per_second), avg(total_handshake_count), avg(successful_handshake_count), avg(successful_handshake_rate) from GlobalSSLThroughStats where $__timeFilter(timef/1000) GROUP BY timef;', 
                     'to': to_time, 'from': from_time, 'format': 'time_series'}
     ssl_data = query_metric(ssl_sql)
     slb_sql = {'rawSql': 'select $__timeGroup(time) as timef, avg(vsThroughputByteIn), avg(vsThroughputByteOut), max(vsTotalConnections), max(vsTotalConnectionsAll), max(clientConnectionPerSec) from GlobalStatistics where $__timeFilter(timef/1000) GROUP BY timef;', 
@@ -601,6 +606,11 @@
         vhost_out_list.append(each[4])
         rhost_in_list.append(each[5])
         rhost_out_list.append(each[6])
+        ssl_cc_list.append(each[7])
+        ssl_cps_list.append(each[8])
+        handshake_success_rate_list.append(each[9])
+        handshake_total_count_list.append(each[10])
+        handshake_success_count_list.append(each[11])
     for each in slb_data['data']:
         slb_time_list.append(time.strftime(TIMEFORMAT, time.localtime(int(each[0])/1000)))
         slb_in_list.append(each[1])
@@ -621,10 +631,15 @@
         "vhost_out_list": vhost_out_list,
         "rhost_in_list": rhost_in_list,
         "rhost_out_list": rhost_out_list,
+        "ssl_cc_list": ssl_cc_list,
+        "ssl_cps_list": ssl_cps_list,
         "slb_in_list": slb_in_list,
         "slb_out_list": slb_out_list,
         "slb_cc_list": slb_cc_list,
         "slb_cps_list": slb_cps_list,
+        "handshake_success_rate_list": handshake_success_rate_list,
+        "handshake_total_count_list": handshake_total_count_list,
+        "handshake_success_count_list": handshake_success_count_list
     }
 def generateSystemReport(from_time, to_time, system_list, env, styles, story):
     system_data_dic = get_system_data_sql(from_time, to_time)
@@ -981,6 +996,22 @@
         table_data = zip(slb_total_dic['ssl_time_list'], net_in_table, net_out_table)
         story = Draw_Line_Chart(unicode(_("SSL Real Host Throughput(bps)")), env, styles, story, slb_total_dic['ssl_time_list'], graph_item, table_data, yaxis_name)
 
+    if "global_ssl_cc" in slb_total_list:
+        graph_item = [{
+            "item_name" : unicode(_("SSL Concurrent Connections")),
+            "item_value" : slb_total_dic['ssl_cc_list']
+        }]
+        table_data = zip(slb_total_dic['ssl_time_list'], slb_total_dic['ssl_cc_list'])
+        story = Draw_Line_Chart(unicode(_("SSL Concurrent Connections")), env, styles, story, slb_total_dic['ssl_time_list'], graph_item, table_data)
+
+    if "global_ssl_cps" in slb_total_list:
+        graph_item = [{
+            "item_name" : unicode(_("SSL CPS")),
+            "item_value" : slb_total_dic['ssl_cps_list']
+        }]
+        table_data = zip(slb_total_dic['ssl_time_list'], slb_total_dic['ssl_cps_list'])
+        story = Draw_Line_Chart(unicode(_("SSL CPS")), env, styles, story, slb_total_dic['ssl_time_list'], graph_item, table_data)
+
     if 'compress_ratio' in slb_total_list:
         graph_item = [{
             "item_name" : unicode(_("Compression Ratio for All Data")),
@@ -997,6 +1028,26 @@
         table_data = zip(slb_total_dic['cache_time_list'], slb_total_dic['cache_list'])
         story = Draw_Line_Chart(unicode(_("Cache Hit Ratio(%)")), env, styles, story, slb_total_dic['cache_time_list'], graph_item, table_data)
 
+    if "handshake_success_rate" in slb_total_list:
+        graph_item = [{
+            "item_name" : unicode(_("Success Rate Statistics")),
+            "table_item_name" : unicode(_("Success Rate(%)")),
+            "item_value" : slb_total_dic['handshake_success_rate_list']
+        }, {
+            "item_name" : unicode(_("Total Number of Handshakes")),
+            "table_item_name" : unicode(_("Total Handshakes")),
+            "item_value" : slb_total_dic['handshake_total_count_list']
+        }, {
+            "item_name" : unicode(_("Number of Successful Handshakes")),
+            "table_item_name" : unicode(_("Successful Handshakes")),
+            "item_value" : slb_total_dic['handshake_success_count_list']
+        }]
+        table_data = zip(slb_total_dic['ssl_time_list'],
+                        slb_total_dic['handshake_success_rate_list'],
+                        slb_total_dic['handshake_total_count_list'],
+                        slb_total_dic['handshake_success_count_list'])
+        story = Draw_Line_Chart(unicode(_("SSL Handshake Success Rate Statistics")), env, styles, story, slb_total_dic['ssl_time_list'], graph_item, table_data)
+
     return story
 
 def generateLLBTotalReport(from_time, to_time, llb_total_list, env, styles, story):
@@ -1260,19 +1311,27 @@
         net_out_table = value_format_1024_table(slb_total_dic['ssl_out_list'])
         cw.writerow([unicode(_('SSL Throughput'))])
         cw.writerow([unicode(_('Time')), unicode(_('Inbound(bps)')), unicode(_('Outbound(bps)'))])
-        cw.writerows(zip(slb_total_dic['slb_time_list'], net_in_table, net_out_table))
+        cw.writerows(zip(slb_total_dic['ssl_time_list'], net_in_table, net_out_table))
     if 'ssl_vh_throughput' in slb_total_list:
         net_in_table = value_format_1024_table(slb_total_dic['vhost_in_list'])
         net_out_table = value_format_1024_table(slb_total_dic['vhost_out_list'])
         cw.writerow([unicode(_('SSL Virtual Host Throughput'))])
         cw.writerow([unicode(_('Time')), unicode(_('Inbound(bps)')), unicode(_('Outbound(bps)'))])
-        cw.writerows(zip(slb_total_dic['slb_time_list'], net_in_table, net_out_table))
+        cw.writerows(zip(slb_total_dic['ssl_time_list'], net_in_table, net_out_table))
     if 'ssl_rh_throughput' in slb_total_list:
         net_in_table = value_format_1024_table(slb_total_dic['rhost_in_list'])
         net_out_table = value_format_1024_table(slb_total_dic['rhost_out_list'])
         cw.writerow([unicode(_('SSL Real Host Throughput'))])
         cw.writerow([unicode(_('Time')), unicode(_('Inbound(bps)')), unicode(_('Outbound(bps)'))])
-        cw.writerows(zip(slb_total_dic['slb_time_list'], net_in_table, net_out_table))
+        cw.writerows(zip(slb_total_dic['ssl_time_list'], net_in_table, net_out_table))
+    if 'global_ssl_cc' in slb_total_list:
+        cw.writerow([unicode(_('SSL Concurrent Connections'))])
+        cw.writerow([unicode(_('Time')), unicode(_('SSL Concurrent Connections'))])
+        cw.writerows(zip(slb_total_dic['ssl_time_list'], slb_total_dic['ssl_cc_list']))
+    if 'global_ssl_cps' in slb_total_list:
+        cw.writerow([unicode(_('SSL CPS'))])
+        cw.writerow([unicode(_('Time')), unicode(_('SSL CPS'))])
+        cw.writerows(zip(slb_total_dic['ssl_time_list'], slb_total_dic['ssl_cps_list']))
     if 'cache_hit_radio' in slb_total_list:
         cw.writerow([unicode(_('Cache Hit Ratio'))])
         cw.writerow([unicode(_('Time')), unicode(_('Cache Hit Ratio(%)'))])
@@ -1281,6 +1340,16 @@
         cw.writerow([unicode(_('Compression Ratio for All Data'))])
         cw.writerow([unicode(_('Time')), unicode(_('Compression Ratio for All Data(%)'))])
         cw.writerows(zip(slb_total_dic['time'], slb_total_dic['compress_list']))
+    if 'handshake_success_rate' in slb_total_list:
+        cw.writerow([unicode(_('SSL Handshake Success Rate Statistics'))])
+        cw.writerow([unicode(_('Time')),
+                    unicode(_('Success Rate Statistics(%)')),
+                    unicode(_('Total Number of Handshakes')),
+                    unicode(_('Number of Successful Handshakes'))])
+        cw.writerows(zip(slb_total_dic['ssl_time_list'],
+                    slb_total_dic['handshake_success_rate_list'],
+                    slb_total_dic['handshake_total_count_list'],
+                    slb_total_dic['handshake_success_count_list']))
     return cw
 
 def generateSLBVSCSV(cw, from_time, to_time, vs_name, slb_vs_list):
Index: /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/media/less/general/general.less
===================================================================
--- /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/media/less/general/general.less	(revision 38740)
+++ /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/media/less/general/general.less	(working copy)
@@ -7,6 +7,10 @@
 .el-popover.el-popper .el-collapse-item__header {
 	font-size: 16px;
 	font-weight: 600;
+    line-height: 22px;
+    span {
+        margin-right: 10px;
+    }
 }
 
 input.el-input__inner {
