标签:机房监控 服务器 twaver 3d 机柜 mono design
在机房的监控时,经常需要去查看某个机柜中的某一台服务器的各项指标,比如该台服务器的CPU的使用情况、该台服务器的硬盘的使用情况、以及网络的流量等等,以下我们将用TWaver 3D来实现一下该例子:
创建服务器上面显示的“磁盘空间”,“CPU占用率”,“内存空间”的函数:
1 |
function
createPie(box, x,y,z, arc, color, text){ |
2 |
var
innerNode=createPieNode(box, 22 , 95 , 360 , ‘white‘ , ‘../images/transparent_blue.png‘ ); |
3 |
var
outerNode=createPieNode(box, 25 , 100 , 1 ,
color, ‘../images/plastic01.png‘ ); |
4 |
outerNode.setClient( ‘value‘ ,
arc); |
5 |
outerNode.setClient( ‘type‘ , ‘pie‘ ); |
6 |
innerNode.setParent(outerNode); |
7 |
outerNode.setPosition(x,y,z); |
8 |
outerNode.setRotationX(Math.PI/ 2 ); |
9 |
10 |
var
persent = "(" +parseInt(parseFloat((arc/ 360 )* 10000 ))/ 100 + "%)" ; |
11 |
12 |
var
label = createLabelBillboard(text+persent); |
13 |
label.setPosition( 0 , 0 ,
- 120 ); |
14 |
label.setParent(outerNode); |
15 |
label.setSelectable( false ); |
16 |
box.add(label); |
17 |
18 |
return outerNode; |
19 |
} |
创建流量的柱状图的函数:
1 |
function
createBar(box, x,y,z, value, color, text){ |
2 |
var
innerNode=createPieNode(box, 200 , 20 , 360 , ‘white‘ , ‘../images/transparent_blue.png‘ ); |
3 |
var
outerNode=createPieNode(box, 1 +Math.random()* 199 , 21 , 360 ,
color, ‘../images/plastic01.png‘ ); |
4 |
outerNode.setClient( ‘value‘ ,
value); |
5 |
outerNode.setClient( ‘type‘ , ‘bar‘ ); |
6 |
innerNode.setParent(outerNode); |
7 |
outerNode.setPosition(x,y,z); |
8 |
9 |
var
label = createLabelBillboard(text); |
10 |
label.setPosition( 0 , 220 , 0 ); |
11 |
label.setParent(outerNode); |
12 |
label.setSelectable( false ); |
13 |
box.add(label); |
14 |
15 |
return outerNode; |
16 |
} |
创建PathNode的函数:
1 |
function
createLineChart(box, values){ |
2 |
var
path= new mono.Path(); |
3 |
for (var
i= 0 ;i<values.length;i++){ |
4 |
var
value=values[i]* 2 ; |
5 |
var
x=- 200 -i* 130 ; |
6 |
if (i== 0 ){ |
7 |
path.moveTo( 400 ,value,x); |
8 |
} else { |
9 |
path.lineTo( 400 ,value,x); |
10 |
} |
11 |
} |
12 |
path=mono.PathNode.prototype.adjustPath(path, 10 , 10 ); |
13 |
|
14 |
var
node= new mono.PathNode(path, 20 , 5 , 100 , ‘plain‘ , ‘plain‘ ); |
15 |
node.s({ |
16 |
‘m.repeat‘ : new mono.Vec2( 20 , 1 ), |
17 |
‘m.texture.image‘ : ‘../images/red.png‘ , |
18 |
‘m.type‘ : ‘phong‘ , |
19 |
‘m.specularStrength‘ : 10 , |
20 |
}); |
21 |
node.setSelectable( false ); |
22 |
node.setClient( ‘value‘ , 100 ); |
23 |
node.setClient( ‘type‘ , ‘line‘ ); |
24 |
25 |
box.add(node); |
26 |
return node; |
27 |
} |
以下全方位的展示该效果图:
正面展示效果:
斜侧面一展示效果:
斜侧面二展示效果:
其实也可以完全和机柜结合起来,当进入到具体的机柜后,点击某一服务器时,我们就显示出相关的参数,当点击另一个服务器时又显示另一堆参数。
标签:机房监控 服务器 twaver 3d 机柜 mono design
原文地址:http://blog.csdn.net/twaver/article/details/39204485