2 * Copyright 2016 2015-2016 ZTE, Inc. and others. All rights reserved.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 * Author: Zhaoxing Meng
17 * email: meng.zhaoxing1@zte.com.cn
19 var metricsChart = {};
22 metricsChart.memoryPieMetrics = function(data){
23 var memoryPieChart = echarts.init(document.getElementById('memoryPieChartDiv'));
40 var labelFromatter = {
43 formatter : function (params){
44 return (100 - params.value).toFixed(1) + '%'
64 color: 'rgba(0,0,0,0)'
67 var radius = [40, 55];
73 'Code-Cache','Eden-Space','Perm-Gen','Survivor-Space','Tenured-Gen'
77 text: $.i18n.prop('org_openo_msb_metrics_jvm_memory_radius'),
87 title : $.i18n.prop('org_openo_msb_metrics_chart_save_picture'),
89 lang : [$.i18n.prop('org_openo_msb_metrics_chart_click_save')]
96 center : ['10%', '55%'],
98 x: '0%', // for funnel
99 itemStyle : labelFromatter,
101 {name:'other', value:100-data.CodeCache, itemStyle : labelBottom},
102 {name:'Code-Cache', value:data.CodeCache,itemStyle : labelTop}
107 center : ['30%', '55%'],
109 x:'20%', // for funnel
110 itemStyle : labelFromatter,
112 {name:'other', value:100-data.EdenSpace, itemStyle : labelBottom},
113 {name:'Eden-Space', value:data.EdenSpace,itemStyle : labelTop}
118 center : ['50%', '55%'],
120 x:'40%', // for funnel
121 itemStyle : labelFromatter,
123 {name:'other', value:100-data.PermGen, itemStyle : labelBottom},
124 {name:'Perm-Gen', value:data.PermGen,itemStyle : labelTop}
129 center : ['70%', '55%'],
131 x:'60%', // for funnel
132 itemStyle : labelFromatter,
134 {name:'other', value:100-data.SurvivorSpace, itemStyle : labelBottom},
135 {name:'Survivor-Space', value:data.SurvivorSpace,itemStyle : labelTop}
140 center : ['90%', '55%'],
142 x:'80%', // for funnel
143 itemStyle : labelFromatter,
145 {name:'other', value:100-data.TenuredGen, itemStyle : labelBottom},
146 {name:'Tenured-Gen', value:data.TenuredGen,itemStyle : labelTop}
153 // load data for echarts objects
154 memoryPieChart.setOption(option);
155 window.onresize = memoryPieChart.resize;
161 metricsChart.memoryBarMetrics = function(data){
162 var memoryBarChart = echarts.init(document.getElementById('memoryBarChartDiv'));
165 text: $.i18n.prop('org_openo_msb_metrics_jvm_memory_bar'),
173 $.i18n.prop('org_openo_msb_metrics_jvm_memory_bar_init'),$.i18n.prop('org_openo_msb_metrics_jvm_memory_bar_used'),$.i18n.prop('org_openo_msb_metrics_jvm_memory_bar_total')
183 title : $.i18n.prop('org_openo_msb_metrics_chart_save_picture'),
185 lang : [$.i18n.prop('org_openo_msb_metrics_chart_click_save')]
192 data : [$.i18n.prop('org_openo_msb_metrics_jvm_memory_bar_heap'),$.i18n.prop('org_openo_msb_metrics_jvm_memory_bar_non-heap'),$.i18n.prop('org_openo_msb_metrics_jvm_memory_bar_total-heap')]
199 axisLabel:{formatter:'{value} M'}
204 name:$.i18n.prop('org_openo_msb_metrics_jvm_memory_bar_init'),
207 itemStyle: {normal: {color:'rgba(92, 184, 92, 0.24)', label:{show:true}}},
212 name:$.i18n.prop('org_openo_msb_metrics_jvm_memory_bar_used'),
215 itemStyle: {normal: {color:'rgba(73, 163, 73, 0.56)', label:{show:true,formatter:function(p){return p.value > 0 ? (p.value +'\n'):'';}}}},
220 name:$.i18n.prop('org_openo_msb_metrics_jvm_memory_bar_total'),
223 itemStyle: {normal: {color:'#49A349', label:{show:true,formatter:function(p){return p.value > 0 ? (p.value +'\n'):'';}}}},
234 memoryBarChart.setOption(option);
235 window.onresize = memoryBarChart.resize;
242 metricsChart.threadsMetrics = function(data){
244 var threadsChart = echarts.init(document.getElementById('threadsChartDiv'));
249 text: $.i18n.prop('org_openo_msb_metrics_jvm_thread_chart'),
255 formatter: "{b}{a}: <br/> {c} ({d}%)"
257 color:["#ff7f50","#6495ed","#da70d6","#32cd32"],
261 data:['Blocked','Waiting','Timed waiting','Runnable']
269 title : $.i18n.prop('org_openo_msb_metrics_chart_save_picture'),
271 lang : [$.i18n.prop('org_openo_msb_metrics_chart_click_save')]
278 name:$.i18n.prop('org_openo_msb_metrics_thread'),
281 center: ['50%', '60%'],
288 threadsChart.setOption(option);
289 window.onresize = threadsChart.resize;
296 metricsChart.restMetrics = function(data){
299 var labelFromatter=function (value){
300 if(value.length>12) return value.substring(0,12)+"\n"+value.substring(12);
305 var restChart = echarts.init(document.getElementById('restChartDiv'));
316 data:[$.i18n.prop('org_openo_msb_metrics_rest_bar_count')]
322 magicType: {show: true, title:$.i18n.prop('org_openo_msb_metrics_chart_line_change'),type: ['line', 'bar']},
325 title : $.i18n.prop('org_openo_msb_metrics_chart_save_picture'),
327 lang : [$.i18n.prop('org_openo_msb_metrics_chart_click_save')]
335 boundaryGap : [0, 0.01]
341 data : data.restName,
345 formatter:labelFromatter
352 name:$.i18n.prop('org_openo_msb_metrics_rest_bar_count'),
360 restChart.setOption(option);
361 window.onresize = restChart.resize;
365 metricsChart.requestsMetrics = function(data){
366 var requestsChart = echarts.init(document.getElementById('requestsChartDiv'));
377 data:[$.i18n.prop('org_openo_msb_metrics_rest_bar_count')]
383 magicType : {show: true,title:$.i18n.prop('org_openo_msb_metrics_chart_line_change'), type: ['line', 'bar']},
386 title : $.i18n.prop('org_openo_msb_metrics_chart_save_picture'),
388 lang : [$.i18n.prop('org_openo_msb_metrics_chart_click_save')]
396 data : ['get','post','put','delete','other']
406 name:$.i18n.prop('org_openo_msb_metrics_rest_bar_count'),
408 data:[data.get, data.post, data.put, data.delete, data.other]
414 requestsChart.setOption(option);
415 window.onresize = requestsChart.resize;