2 * Copyright (C) 2016 ZTE, Inc. and others. All rights reserved. (ZTE)
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 var metricsChart = {};
19 metricsChart.memoryPieMetrics = function(data){
20 var memoryPieChart = echarts.init(document.getElementById('memoryPieChartDiv'));
37 var labelFromatter = {
40 formatter : function (params){
41 return (100 - params.value).toFixed(1) + '%'
61 color: 'rgba(0,0,0,0)'
64 var radius = [40, 55];
70 'Code-Cache','Eden-Space','Perm-Gen','Survivor-Space','Tenured-Gen'
74 text: $.i18n.prop('org_openo_msb_metrics_jvm_memory_radius'),
84 title : $.i18n.prop('org_openo_msb_metrics_chart_save_picture'),
86 lang : [$.i18n.prop('org_openo_msb_metrics_chart_click_save')]
93 center : ['10%', '55%'],
95 x: '0%', // for funnel
96 itemStyle : labelFromatter,
98 {name:'other', value:100-data.CodeCache, itemStyle : labelBottom},
99 {name:'Code-Cache', value:data.CodeCache,itemStyle : labelTop}
104 center : ['30%', '55%'],
106 x:'20%', // for funnel
107 itemStyle : labelFromatter,
109 {name:'other', value:100-data.EdenSpace, itemStyle : labelBottom},
110 {name:'Eden-Space', value:data.EdenSpace,itemStyle : labelTop}
115 center : ['50%', '55%'],
117 x:'40%', // for funnel
118 itemStyle : labelFromatter,
120 {name:'other', value:100-data.PermGen, itemStyle : labelBottom},
121 {name:'Perm-Gen', value:data.PermGen,itemStyle : labelTop}
126 center : ['70%', '55%'],
128 x:'60%', // for funnel
129 itemStyle : labelFromatter,
131 {name:'other', value:100-data.SurvivorSpace, itemStyle : labelBottom},
132 {name:'Survivor-Space', value:data.SurvivorSpace,itemStyle : labelTop}
137 center : ['90%', '55%'],
139 x:'80%', // for funnel
140 itemStyle : labelFromatter,
142 {name:'other', value:100-data.TenuredGen, itemStyle : labelBottom},
143 {name:'Tenured-Gen', value:data.TenuredGen,itemStyle : labelTop}
150 // load data for echarts objects
151 memoryPieChart.setOption(option);
152 window.onresize = memoryPieChart.resize;
158 metricsChart.memoryBarMetrics = function(data){
159 var memoryBarChart = echarts.init(document.getElementById('memoryBarChartDiv'));
162 text: $.i18n.prop('org_openo_msb_metrics_jvm_memory_bar'),
170 $.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')
180 title : $.i18n.prop('org_openo_msb_metrics_chart_save_picture'),
182 lang : [$.i18n.prop('org_openo_msb_metrics_chart_click_save')]
189 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')]
196 axisLabel:{formatter:'{value} M'}
201 name:$.i18n.prop('org_openo_msb_metrics_jvm_memory_bar_init'),
204 itemStyle: {normal: {color:'rgba(92, 184, 92, 0.24)', label:{show:true}}},
209 name:$.i18n.prop('org_openo_msb_metrics_jvm_memory_bar_used'),
212 itemStyle: {normal: {color:'rgba(73, 163, 73, 0.56)', label:{show:true,formatter:function(p){return p.value > 0 ? (p.value +'\n'):'';}}}},
217 name:$.i18n.prop('org_openo_msb_metrics_jvm_memory_bar_total'),
220 itemStyle: {normal: {color:'#49A349', label:{show:true,formatter:function(p){return p.value > 0 ? (p.value +'\n'):'';}}}},
231 memoryBarChart.setOption(option);
232 window.onresize = memoryBarChart.resize;
239 metricsChart.threadsMetrics = function(data){
241 var threadsChart = echarts.init(document.getElementById('threadsChartDiv'));
246 text: $.i18n.prop('org_openo_msb_metrics_jvm_thread_chart'),
252 formatter: "{b}{a}: <br/> {c} ({d}%)"
254 color:["#ff7f50","#6495ed","#da70d6","#32cd32"],
258 data:['Blocked','Waiting','Timed waiting','Runnable']
266 title : $.i18n.prop('org_openo_msb_metrics_chart_save_picture'),
268 lang : [$.i18n.prop('org_openo_msb_metrics_chart_click_save')]
275 name:$.i18n.prop('org_openo_msb_metrics_thread'),
278 center: ['50%', '60%'],
285 threadsChart.setOption(option);
286 window.onresize = threadsChart.resize;
293 metricsChart.restMetrics = function(data){
296 var labelFromatter=function (value){
297 if(value.length>12) return value.substring(0,12)+"\n"+value.substring(12);
302 var restChart = echarts.init(document.getElementById('restChartDiv'));
313 data:[$.i18n.prop('org_openo_msb_metrics_rest_bar_count')]
319 magicType: {show: true, title:$.i18n.prop('org_openo_msb_metrics_chart_line_change'),type: ['line', 'bar']},
322 title : $.i18n.prop('org_openo_msb_metrics_chart_save_picture'),
324 lang : [$.i18n.prop('org_openo_msb_metrics_chart_click_save')]
332 boundaryGap : [0, 0.01]
338 data : data.restName,
342 formatter:labelFromatter
349 name:$.i18n.prop('org_openo_msb_metrics_rest_bar_count'),
357 restChart.setOption(option);
358 window.onresize = restChart.resize;
362 metricsChart.requestsMetrics = function(data){
363 var requestsChart = echarts.init(document.getElementById('requestsChartDiv'));
374 data:[$.i18n.prop('org_openo_msb_metrics_rest_bar_count')]
380 magicType : {show: true,title:$.i18n.prop('org_openo_msb_metrics_chart_line_change'), type: ['line', 'bar']},
383 title : $.i18n.prop('org_openo_msb_metrics_chart_save_picture'),
385 lang : [$.i18n.prop('org_openo_msb_metrics_chart_click_save')]
393 data : ['get','post','put','delete','other']
403 name:$.i18n.prop('org_openo_msb_metrics_rest_bar_count'),
405 data:[data.get, data.post, data.put, data.delete, data.other]
411 requestsChart.setOption(option);
412 window.onresize = requestsChart.resize;