GT icon indicating copy to clipboard operation
GT copied to clipboard

GT报告:CPU最高使用率低于CPU平均使用率

Open yxcSini opened this issue 7 years ago • 6 comments

版本:3.1.0(使用master分支构建) image data.js: var frontBackInfo={"backCpuApp":11,"backCpuArray":[0,0,0,0,0,0,0,0,0,0,0],"backCpuTotal":6049,"backFlowDownload":0,"backFlowUpload":0,"backMemoryArray":[15,13,14,14,15,15,15,14,14,14,15],"backTime":33713,"frontCpuApp":27,"frontCpuArray":[1,2],"frontCpuTotal":1091,"frontFlowDownload":0,"frontFlowUpload":0,"frontMemoryArray":[16,17],"frontTime":6048};

yxcSini avatar May 31 '18 08:05 yxcSini

image

图例的值也不对,CPU3.7%但是对应的确实7的值

yxcSini avatar May 31 '18 08:05 yxcSini

GT2版本获取CPU使用率 image

GT3版本获取CPU使用率

if (lastNormalInfo != null) {
            //前台统计
            if (isFront(lastNormalInfo.time) && isFront(normalInfo.time)) {
                long frontTime = normalInfo.time - lastNormalInfo.time;
                long frontCpuApp = normalInfo.cpuApp - lastNormalInfo.cpuApp;
                long frontCpuTotal = normalInfo.cpuTotal - lastNormalInfo.cpuTotal;
                long frontMemory = normalInfo.memory;
                long frontFlowUpload = normalInfo.flowUpload - lastNormalInfo.flowUpload;
                long frontFlowDownload = normalInfo.flowDownload - lastNormalInfo.flowDownload;
                if (frontTime >= 0 //时间需要正向
                        && frontCpuApp >= 0 && frontCpuTotal >= 0 //cpu需要正向
                        && frontFlowUpload >= 0 && frontFlowDownload >= 0) {//流量需要正向
                    frontBackInfo.frontTime = frontBackInfo.frontTime + frontTime;
                    frontBackInfo.frontCpuApp = frontBackInfo.frontCpuApp + frontCpuApp;
                    frontBackInfo.frontCpuTotal = frontBackInfo.frontCpuTotal + frontCpuTotal;
                    frontBackInfo.frontCpuArray.add(frontCpuApp * 100L / frontCpuTotal);
                    frontBackInfo.frontMemoryArray.add(frontMemory);
                    frontBackInfo.frontFlowUpload = frontBackInfo.frontFlowUpload + frontFlowUpload;
                    frontBackInfo.frontFlowDownload = frontBackInfo.frontFlowDownload + frontFlowDownload;
                }
            }

在GT3中 报告读取的前台CPU最高使用率是通过frontCpuArray数组,而值的录入前提判断是要时间、cpu、流量正向,这里会不会影响到报告读取CPU值的准确性

yxcSini avatar Jun 01 '18 01:06 yxcSini

这里的JS方法有bug

function getToolTip_CPU(time){
	time = time + appInfo.startTestTime;
	var normalBefore = null;
	var normalAfter = null;
	for(var i=0; i<normalInfos.length;i++){
		if(normalInfos[i].time<time){
			if(normalBefore==null || normalBefore.time<normalInfos[i].time){
				normalBefore = normalInfos[i];
			}
		}
               //此处应该改成normalInfos[i].time>=time
		if(normalInfos[i].time>time){
			if(normalAfter==null || normalAfter.time>normalInfos[i].time){
				normalAfter = normalInfos[i];
			}
		}
	}
	if(normalBefore!=null && normalAfter!=null ){
		var tip = "CPU:"+((normalAfter.cpuApp-normalBefore.cpuApp)*100/(normalAfter.cpuTotal-normalBefore.cpuTotal)).toFixed(1)+"% <br />"
		return tip;
	}
	
	return "";
}

yxcSini avatar Jun 04 '18 06:06 yxcSini

image 这里不应该break

yxcSini avatar Jun 12 '18 03:06 yxcSini

@yxcSini 谢谢你的反馈,我们正在更新这些数据处理的部分,请你期待下次更新

brianxcli avatar Jun 12 '18 04:06 brianxcli

iOS不维护了吗开发者?

echooj avatar Nov 15 '18 08:11 echooj