stf java_STF 修改之增加性能监控页面

这次做的东西还是比较简单的,但同时也有性能消耗,不过暂时先这样吧。我希望在设备的详情中增加一个性能标签,如下图:

增加标签

这里首先先要在详情界面增加一个标签,所以在control-panes-controller.js文件中增加标签代码:

{

title: gettext('Performance'),

icon: 'fa-dashboard fa-fw color-pink',

templateUrl: 'control-panes/memory/memory.jade',

filters: ['native', 'web']

}

当然这边为了引用原有的图标,所以使用Performance这个标签,但其中界面样式已经是自定义的memory.jade了。所以我们需要新建一个memory文件夹。

.

├── echarts.min.js

├── index.js

├── memory.css

├── memory.jade

├── memory-controller.js

├── memory-spec.js

所以基本上这里实现完了之后整个功能就可以用了。

实现

在memory.jade的模版里需要引用我们要用的js以及页面样式

.widget-container.fluid-height.stf-cpu(ng-controller='MemoryCtrl')

.widget-content.padded

接下来就是最核心的获取数据的代码了

function getMemoryData(){

var command = "dumpsys meminfo package name | grep TOTAL"

var number_count = 0

$scope.result = null

$scope.command = ''

$scope.control.shell(command)

.progressed(function(result) {

console.log("this is progressed")

$scope.result = result

$scope.data = result.data.join('')

$scope.$digest()

if ($scope.data== null || $scope.data== undefined || $scope.data== ''){

return

}

for (var i=0;i

{

var b = $scope.data.split(/\s+/)[i]

if (b ==="TOTAL")

{

number_count = i

}

}

memory_data = $scope.data.split(/\s+/)[number_count+1]

console.log("in getMemoryData"+memory_data)

})

return memory_data

}

当然这种方式效率不高,而且影响性能,后期会用java单独写的性能sdk替换掉。在echarts中还有一段magic code。这个代码就是为了在结果图表上能有一定的结果展现,否则就是空白。开始是真心没有看懂。

for (var i = 1; i < 100; i++) {

// var hh= (new Date()).getSeconds()

date.push(count+"s");

data.push(0);

}

效果

直接看最终结果吧。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部