性能数据字段说明

347 阅读15分钟

1 多次收集,包含详情,数总览

字段说明

  • basicPerformance : 表示基础性能数据
  • processPerformance : 表示每个进程的性能数据
  • incrementalProcesses新加字段,表示增量进程,开启详情才有内容
  • gpuDetai新加字段。表示gpu性能详情,开启详情才有内容
  • delayed : 延时
  • testStart : 开始测试时间
  • testEnd : 结束测试时间
  • collectorStart : 本次数据收集开始的时间
  • collectorEnd : 本次数据收集结束的时间

举例:

[
    {
        "basicPerformance": {},
        "processPerformance": {},
        "incrementalProcesses": {},
        "gpuDetail": {},
        "delayed": null,
        "testStart": null,
        "testEnd": null,
        "collectorStart": 1656985793845.04,
        "collectorEnd": 1656985793927.8567
        
    }{}{}
]

2 basicPerformance基础性能数据详情说明

PS:basicPerformance保存的是整个系统整体的性能数据,比如cpu、内存、网络、磁盘、gpu等

字段说明

  • cpu:关于cpu的性能数据
  • memory: 关于内存的性能数据
  • disk: 关于磁盘的性能数据
  • network: 关于磁盘的性能数据
  • gpu:关于gpu的性能数据

举例:

{
    "basicPerformance": {
        "cpu": {},
        "memory": {},
        "disk": {},
        "network": {},
        "gpu": {}
    }
}

cpu详情说明

windows和android公共字段

  • averageUsage:cpu各个核心平均使用率(%)
  • averageUsageExcluded(新增字段),排除指定进程后的cpu各个核心平均使用率

windows特有字段:

  • cpuTotalTime: cpu总运行时间 (ms)
  • cpuTimePerCore: cpu各个核心平均运行时间(ms)
  • cores:各个核心详情
    • 0,0\0,1\0,2\……: 核心编号,只是为了区分多核cpu的核心而已
    • clockInterruptsTotal: 接收和服务的时钟滴答中断总数(性能意义不明)
    • cpuCoreFrequencyMhz:核心频率mhz
    • cpuDpcsTotal: 接收和服务的延迟过程调用(DPC)总数(性能意义不明)
    • cpuIdleBreakEventsTotal: 处理器从空闲状态唤醒的总时间
    • cpuInterruptsTotal: 接收和服务的硬件中断总数(性能意义不明)
    • cpuParkingStatus: 停车状态表示处理器是否已停车(性能意义不明)
    • cpuProcessorPerformance: 意义不明,类似跑分的东西吧
    • cpuTimeTotal: 该核心被使用时长ms
      • dpc:该核心dpc模式下的被使用时长
      • idel:该核心idle模式下的被使用时长
      • interrupt:该核心interrupt模式下的被使用时长
      • privileged:该核心privileged模式下的被使用时长
      • user:该核心user模式下的被使用时长
    • cpuUsage:该核心的使用率%

举例

{
    "cpu": {
		"averageUsage": 6.39,
		"cores": {
			"0,0": {
				"clockInterruptsTotal": 59076047.0,
				"cpuCoreFrequencyMhz": 804.0,
				"cpuDpcsTotal": 49678196.0,
				"cpuIdleBreakEventsTotal": 221526324.0,
				"cpuInterruptsTotal": 307441472.0,
				"cpuParkingStatus": 0.0,
				"cpuProcessorPerformance": 1838086341239.0,
				"cpuTimeTotal": {
					"dpc": 2082.96875,
					"idle": 110743.828125,
					"interrupt": 2844.515625,
					"privileged": 13876.859375,
					"user": 10255.015625
				},
				"cpuUsage": 7.41
			},
			"0,1": {},
			"0,2": {},
			"0,3": {},
			"0,4": {},
			"0,5": {},
			"0,6": {},
			"0,7": {}
		},
		"cpuTotalTime": 10015.625,
		"cpuTimePerCore": 1251.95,
		"averageUsageExcluded": 4.67
	}
}

android特有字段:

  • cores: {} 安卓不显示各个核心的详情
  • userUsage:user模式下cpu的使用率%
  • niceUsage:nice模式下cpu的使用率%
  • sysUsage: sys模式下cpu的使用率%
  • ioWaitUsage: ioWait模式下cpu的使用率%
  • irqUsage: irq模式下cpu的使用率%
  • sirqUsage: sirq模式下cpu的使用率%
  • hostUsage: host模式下cpu的使用率%
  • allCpuUsage: cpu总使用率%,如果是多核心cpu则该值可能会超过100。(allCpuUsage / 核心数) = averageUsage

举例:

{
    "cpu": {
        "averageUsage": 6.5,
	"cores": {},
	"userUsage": 18,
	"niceUsage": 0,
	"sysUsage": 21,
	"ioWaitUsage": 0,
	"irqUsage": 0,
	"sirqUsage": 0,
	"hostUsage": 0,
	"allCpuUsage": 39
    }
}

memory详情说明

windows和android公共字段:

  • memoryUsage: 内存使用率%
  • usedSize: 已经使用内存bytes
  • totalSize:总内存bytes
  • availableSize:可用内存bytes
  • cacheSize:用于缓存的内存bytes
  • cachePeakSize:用于缓存的内存峰值bytes
  • memoryUsageExcluded: 新增字段,表示移除指定进程后的内存使用率%

windows特有字段:

举例

{
    "memory": {
        "memoryUsage": 82.73,
        "usedSize": 13995397120.0,
        "totalSize": 16918597632.0,
        "availableSize": 2923200512.0,
        "cacheSize": 467079168.0,
        "cachePeakSize": 976719872.0,
        "memoryUsageExcluded": 84.64
    }
}

android特有字段


PS:

  • cachePeakSize:l对于安卓系统来说cachePeakSize永远为null

举例:

{
    "memory": {
        "memoryUsage": 82.73,
        "usedSize": 13995397120.0,
        "totalSize": 16918597632.0,
        "availableSize": 2923200512.0,
        "cacheSize": 467079168.0,
        "cachePeakSize": null,
        "memoryUsageExcluded": 84.64
    }
}

disk详情说明

windows和android公共字段:

  • freeSize: 可用空间bytes

  • idleTimeTotal: 自开机以来闲置时长ms(安卓无且为null)

  • readSizeTotal: 自开机以来读数据总数bytes

  • readTimeTotal: 自开机以来读数据时长ms

  • readNumTotal:自开机以来读数据的次数

  • size:总容量bytes

  • writeSizeTotal:自开机以来写数据的总量bytes

  • writeTimeTotal:自开机以来写数据时长ms

  • writeNumTotal: 自开机以来写数据的次数

  • activeTimePercent:获取两次数据之间的活跃度(活跃时间)占比

  • readRate:获取两次数据之间平均读速度bytes/s

  • writeRate:获取两次数据之间平均写速度bytes/s

  • ioCountPerSecond:IOPS每秒操作次数 次/s

  • idleTimeTotal: 自开机以来闲置时长ms(安卓无且为null)

windows特有字段:

  • idleTimeTotal: 自开机以来闲置时长ms(安卓无且为null)

举例

{
    "disk": {
        "totalActiveTimePercent": 1.57
        "diskDetail": {
            "c": {
                "freeSize": 3399483392.0,
                "idleTimeTotal": 80521.511877,
                "readSizeTotal": 31000302080.0,
                "readTimeTotal": 582.7256787,
                "readNumTotal": 1091510.0,
                "size": 107374182400.0,
                "writeSizeTotal": 43776841216.0,
                "writeTimeTotal": 693.8098221,
                "writeNumTotal": 1876964.0
            },
            "d": {}
        }
    }
}

android特有字段

  • usage: 空间使用率%(windows无)
  • useSize: 已使用空间bytes(windows无,不过可以计算获得)
  • fileSystem:对应的文件系统(windows无)
  • folder:文件夹名称(windows无)
  • deviceName: 磁盘逻辑分区名(windows无)

举例:

{
    "disk": {
        "totalActiveTimePercent": null
        "diskDetail": {
            "/": {
                "usage": 48,
                "readRate": 0.0,
                "writeRate": 0.0,
                "ioCountPerSecond": 0.0,
                "freeSize": 1384751104,
                "idleTimeTotal": null,
                "readSizeTotal": null,
                "readTimeTotal": null,
                "readNumTotal": null,
                "size": 2642198528,
                "useSize": 1240670208,
                "writeSizeTotal": null,
                "writeTimeTotal": null,
                "writeNumTotal": null,
                "fileSystem": "/dev/root",
                "folder": "/",
                "deviceName": "dm-0"
            },
            "/dev": {}
        }
    }
}

network详情说明

windows和android公共字段:

  • nicDetail: 网卡详情
  • Intel_R__Ethernet_Connection__10__I219_V、eth0:网卡名
  • totalNetUsage: 网络使用占比%(安卓无总为null),(流量 / 带宽) * 100
  • receivedSizeTotal:接收总数据量bytes
  • sentSizeTotal:发送总数据量bytes
  • sizeTotal:数据总量bytes = receivedSizeTotal + sentSizeTotal
  • packetsOutboundDiscardedTotal:网络丢弃出站的数据包总数
  • packetsOutboundErrorsTotal:网络错误出站数据包总数
  • packetsReceivedDiscardedTotal:网络丢弃入站数据包总数
  • packetsReceivedErrorsTotal:网络错误入栈数据包
  • packetsReceivedTotal:网络入站包总数
  • packetsReceivedUnknownTotal:网络未知入站数据包总数
  • packetsSentTotal:网络出站数据包总数
  • packetsTotal: 包总数
  • sentSizeTraffic:出站流量速度
  • receiveSizeTraffic:入站流量速度
  • totalSizeTraffic:总流速
  • sentPacketsTraffic:出站包速度
  • receivePacketsTraffic:入站包速度
  • totalPacketsTraffic:数据包流速

windows特有字段:

  • currentBandwidthSize:当前带宽bytes/s(安卓无总为null)
  • netUsage:网卡使用率(安卓无总为null)

举例

{
    "network": {
        "totalNetUsage": 0.06,
        "nicDetail": {
            "Intel_R__Ethernet_Connection__10__I219_V": {
                "receivedSizeTotal": 364690639.0,
                "sentSizeTotal": 35711692.0,
                "sizeTotal": 400402331.0,
                "currentBandwidthSize": 125000000.0,
                "packetsOutboundDiscardedTotal": 0.0,
                "packetsOutboundErrorsTotal": 0.0,
                "packetsReceivedDiscardedTotal": 11.0,
                "packetsReceivedErrorsTotal": 0.0,
                "packetsReceivedTotal": 436672.0,
                "packetsReceivedUnknownTotal": 0.0,
                "packetsSentTotal": 159048.0,
                "packetsTotal": 595720.0,
                "sentSizeTraffic": 7868.03,
                "receiveSizeTraffic": 64266.97,
                "totalSizeTraffic": 72135.0,
                "sentPacketsTraffic": 68.18,
                "receivePacketsTraffic": 259.09,
                "totalPacketsTraffic": 327.27,
                "netUsage": 0.06
            },
            "Intel_R__Wi_Fi_6_AX201_160MHz": {
                "receivedSizeTotal": 63074.0,
                "sentSizeTotal": 61188.0,
                "sizeTotal": 124262.0,
                "currentBandwidthSize": 5000000.0,
                "packetsOutboundDiscardedTotal": 0.0,
                "packetsOutboundErrorsTotal": 0.0,
                "packetsReceivedDiscardedTotal": 0.0,
                "packetsReceivedErrorsTotal": 0.0,
                "packetsReceivedTotal": 402.0,
                "packetsReceivedUnknownTotal": 0.0,
                "packetsSentTotal": 495.0,
                "packetsTotal": 897.0,
                "sentSizeTraffic": 0.0,
                "receiveSizeTraffic": 0.0,
                "totalSizeTraffic": 0.0,
                "sentPacketsTraffic": 0.0,
                "receivePacketsTraffic": 0.0,
                "totalPacketsTraffic": 0.0,
                "netUsage": 0.0
            },
            "Realtek_USB_GbE_Family_Controller": {
                "receivedSizeTotal": 0.0,
                "sentSizeTotal": 0.0,
                "sizeTotal": 0.0,
                "currentBandwidthSize": 0.0,
                "packetsOutboundDiscardedTotal": 0.0,
                "packetsOutboundErrorsTotal": 0.0,
                "packetsReceivedDiscardedTotal": 0.0,
                "packetsReceivedErrorsTotal": 0.0,
                "packetsReceivedTotal": 0.0,
                "packetsReceivedUnknownTotal": 0.0,
                "packetsSentTotal": 0.0,
                "packetsTotal": 0.0,
                "sentSizeTraffic": 0,
                "receiveSizeTraffic": 0,
                "totalSizeTraffic": 0,
                "sentPacketsTraffic": 0,
                "receivePacketsTraffic": 0,
                "totalPacketsTraffic": 0,
                "netUsage": 0
            }
        }
}
}

android特有字段

举例:

{
    "network": {
        "totalNetUsage": null,
        "nicDetail": {
            "sit0": {
                "receivedSizeTotal": 0,
                "sentSizeTotal": 0,
                "sizeTotal": 0,
                "currentBandwidthSize": null,
                "packetsOutboundDiscardedTotal": 0,
                "packetsOutboundErrorsTotal": 0,
                "packetsReceivedDiscardedTotal": 0,
                "packetsReceivedErrorsTotal": 0,
                "packetsReceivedTotal": 0,
                "packetsReceivedUnknownTotal": null,
                "packetsSentTotal": 0,
                "packetsTotal": 0,
                "sentSizeTraffic": 0,
                "receiveSizeTraffic": 0,
                "totalSizeTraffic": 0,
                "sentPacketsTraffic": 0,
                "receivePacketsTraffic": 0,
                "totalPacketsTraffic": 0,
                "netUsage": null
            },
            "lo": {
                "receivedSizeTotal": 25830887987,
                "sentSizeTotal": 25830887987,
                "sizeTotal": 51661775974,
                "currentBandwidthSize": null,
                "packetsOutboundDiscardedTotal": 0,
                "packetsOutboundErrorsTotal": 0,
                "packetsReceivedDiscardedTotal": 0,
                "packetsReceivedErrorsTotal": 0,
                "packetsReceivedTotal": 40437641,
                "packetsReceivedUnknownTotal": null,
                "packetsSentTotal": 40437641,
                "packetsTotal": 80875282,
                "sentSizeTraffic": 453779.67,
                "receiveSizeTraffic": 453779.67,
                "totalSizeTraffic": 907559.34,
                "sentPacketsTraffic": 26.24,
                "receivePacketsTraffic": 26.24,
                "totalPacketsTraffic": 52.49,
                "netUsage": null
            },
            "ip6_vti0": {
                "receivedSizeTotal": 0,
                "sentSizeTotal": 0,
                "sizeTotal": 0,
                "currentBandwidthSize": null,
                "packetsOutboundDiscardedTotal": 0,
                "packetsOutboundErrorsTotal": 0,
                "packetsReceivedDiscardedTotal": 0,
                "packetsReceivedErrorsTotal": 0,
                "packetsReceivedTotal": 0,
                "packetsReceivedUnknownTotal": null,
                "packetsSentTotal": 0,
                "packetsTotal": 0,
                "sentSizeTraffic": 0,
                "receiveSizeTraffic": 0,
                "totalSizeTraffic": 0,
                "sentPacketsTraffic": 0,
                "receivePacketsTraffic": 0,
                "totalPacketsTraffic": 0,
                "netUsage": null
            },
            "ip6tnl0": {
                "receivedSizeTotal": 0,
                "sentSizeTotal": 0,
                "sizeTotal": 0,
                "currentBandwidthSize": null,
                "packetsOutboundDiscardedTotal": 0,
                "packetsOutboundErrorsTotal": 0,
                "packetsReceivedDiscardedTotal": 0,
                "packetsReceivedErrorsTotal": 0,
                "packetsReceivedTotal": 0,
                "packetsReceivedUnknownTotal": null,
                "packetsSentTotal": 0,
                "packetsTotal": 0,
                "sentSizeTraffic": 0,
                "receiveSizeTraffic": 0,
                "totalSizeTraffic": 0,
                "sentPacketsTraffic": 0,
                "receivePacketsTraffic": 0,
                "totalPacketsTraffic": 0,
                "netUsage": null
            },
            "eth1": {
                "receivedSizeTotal": 1458960991,
                "sentSizeTotal": 7601037695,
                "sizeTotal": 9059998686,
                "currentBandwidthSize": null,
                "packetsOutboundDiscardedTotal": 0,
                "packetsOutboundErrorsTotal": 0,
                "packetsReceivedDiscardedTotal": 0,
                "packetsReceivedErrorsTotal": 0,
                "packetsReceivedTotal": 8638665,
                "packetsReceivedUnknownTotal": null,
                "packetsSentTotal": 60049850,
                "packetsTotal": 68688515,
                "sentSizeTraffic": 1062.29,
                "receiveSizeTraffic": 0.0,
                "totalSizeTraffic": 1062.29,
                "sentPacketsTraffic": 7.99,
                "receivePacketsTraffic": 0.0,
                "totalPacketsTraffic": 7.99,
                "netUsage": null
            },
            "eth0": {
                "receivedSizeTotal": 48287747447,
                "sentSizeTotal": 17510814063,
                "sizeTotal": 65798561510,
                "currentBandwidthSize": null,
                "packetsOutboundDiscardedTotal": 0,
                "packetsOutboundErrorsTotal": 0,
                "packetsReceivedDiscardedTotal": 0,
                "packetsReceivedErrorsTotal": 0,
                "packetsReceivedTotal": 190377065,
                "packetsReceivedUnknownTotal": null,
                "packetsSentTotal": 78659647,
                "packetsTotal": 269036712,
                "sentSizeTraffic": 469618.15,
                "receiveSizeTraffic": 9988.48,
                "totalSizeTraffic": 479606.62,
                "sentPacketsTraffic": 325.19,
                "receivePacketsTraffic": 99.27,
                "totalPacketsTraffic": 424.46,
                "netUsage": null
            }
        }
}
}

gpu总览详情说明 该容器以及其下所有指标全是新增字段

由于windows使用核心显卡或者独立显卡,并且有自己的一套数据格式以及统计方式,这于安卓有很大的不同。
所以windows的gpu指标多了一个detail字段来保存各个显卡、各个engine的使用情况。多了deviceInfo字段来保存各个显卡(包括虚拟显卡)的基本信息。activePercentage字段保存各个显卡的各种engine的活跃度。
而android没有详情一项,只有作为显存的内存总量以及占总内存的百分比。

windows和android公共字段:

windows特有字段:

  • detail[{},{}]:保存各个显卡使用情况的总览
    • dedicatedUsage:独占显存使用大小bytes
    • sharedUsage:共享显存的使用大小bytes
    • totalCommitted:committed总量bytes,意义不明
    • gpuTitle:显卡名字
    • dedicatedMemoryPercentage:独占显存的使用率%
    • sharedMemoryPercentage:共享显存的使用率%
    • totalShareMemorySize:最大共享显存bytes(固定为系统的内存的一半)
  • deviceInfo[{},{}]:各个显卡的基本信息
    • adapterRAM:独占显存大小bytes
    • availability:显卡当前状态码(无视即可)
    • maxMemorySupported:最大支持内存(无视即可)
    • gpuTitle:显卡名
  • activePercentage{"显卡名1": {}, "显卡名2": {}}:各个显卡的活跃度数据
    • 3D、VideoProcessing、VideoDecode、Copy:engine类型,对应任务管理器性能详情中gpu的各个engine的使用情况
    • usageSum:该显卡,用于该engine计算的总活跃度%(目前有bug会超过100%)
    • runningTimeSum:自开机以来该显卡,用于该engine计算的总时间ms

举例

{
    "gpu": {
        "totalMemorySize": null,
        "totalMemoryUsage": null,
        "detail": [
            {
                "dedicatedUsage": 0,
                "sharedUsage": 498872320,
                "totalCommitted": 1244147712,
                "gpuTitle": "Intel(R) UHD Graphics",
                "dedicatedMemoryPercentage": 0,
                "sharedMemoryPercentage": 5.8973247174627299,
                "totalShareMemorySize": 8459298816.0
            },
            {
                "dedicatedUsage": 0,
                "sharedUsage": 8192,
                "totalCommitted": 8130560,
                "gpuTitle": "Microsoft Basic Render Driver",
                "dedicatedMemoryPercentage": 0,
                "sharedMemoryPercentage": 0.00009684017763393783,
                "totalShareMemorySize": 8459298816.0
            },
            {
                "dedicatedUsage": 0,
                "sharedUsage": 262144,
                "totalCommitted": 2318336,
                "gpuTitle": "NVIDIA GeForce MX330",
                "dedicatedMemoryPercentage": 0.0,
                "sharedMemoryPercentage": 0.0030988856842860108,
                "totalShareMemorySize": 8459298816.0
            }
    ],
    "deviceInfo": [
        {
            "adapterRAM": 0,
            "availability": 3,
            "maxMemorySupported": 0,
            "gpuTitle": "Intel(R) UHD Graphics"
        },
        {
            "adapterRAM": 2147483648,
            "availability": 8,
            "maxMemorySupported": 0,
            "gpuTitle": "NVIDIA GeForce MX330"
        }
    ],
    "activePercentage": {
        "Intel(R) UHD Graphics": {
            "3D": {
                "usageSum": 486.268227,
                "runningTimeSum": 4862682275
            },
            "VideoProcessing": {
                "usageSum": 0.000209,
                "runningTimeSum": 2088
            },
            "VideoDecode": {
                "usageSum": 0.000329,
                "runningTimeSum": 3292
            },
            "Copy": {
                "usageSum": 0.0,
                "runningTimeSum": 0
            },
            "": {
                "usageSum": 0.0,
                "runningTimeSum": 0
            },
            "LegacyOverlay": {
                "usageSum": 0.0,
                "runningTimeSum": 0
            },
            "GDI Render": {
                "usageSum": 0.0,
                "runningTimeSum": 0
            }
        },
        "Microsoft Basic Render Driver": {
            "3D": {
                "usageSum": 0.349471,
                "runningTimeSum": 3494711
            }
        },
        "NVIDIA GeForce MX330": {
            "3D": {
                "usageSum": 0.0,
                "runningTimeSum": 0
            },
            "Security": {
                "usageSum": 0.0,
                "runningTimeSum": 0
            },
            "Copy": {
                "usageSum": 0.124681,
                "runningTimeSum": 1246810
            }
        }
    }
}
}

android特有字段

  • totalMemorySize: 作为显存的系统内存总量bytes
  • totalMemorySizeExcluded:除去指定进程后gpu使用的内存量
  • totalMemoryUsage:显存占系统内存的百分比%
  • totalMemoryUsageExcluded:除去指定进程后显存占系统内存的百分比%

举例:

{
    "gpu": {
        "totalMemorySize": 41194772,
        "totalMemoryUsage": 1.02
    }
}

3 processPerformance各个进程性能指标详情,开启显示详情才会有数据

PS:windows与安卓有所差异

字段说明

共有字段:

  • processId: 进程id
  • parentProcessId:父进程id
  • processName:进程名
  • startTime:进程启动时间戳ms(安卓为null)
  • virtualSize:虚拟内存bytes
  • cpuUsage:cpu使用占比
  • memoryUsage:内存使用占比

windows:

  • cpuTimeTotal:自开机以来进程的cpu使用时间
    • privileged:自开机privileged模式下cpu使用时间ms
    • user:自开机user模式下cpu使用时间ms
  • gpu新增字段,使用显卡的详情(android、非图形程序总为null),windows系统的具体数据参考“5 gpuDetail图形进程详情”
  • handles:句柄数
  • ioSizeTotal:自开机以来进程的io总量
    • other:其他类型bytes
    • read:读类型bytes
    • write:写类型bytes
  • ioOperationsTotal:自开机以来进程的io操作数
    • other:其他类型
    • read:读类型
    • write:写类型
  • pageFaultsTotal:fault page的总数
  • pageFileSize:page file的总大小bytes
  • poolSize:池子总大小bytes
    • nonpaged:nonpaged类型池子的总大小bytes
    • paged:paged类型池子的总大小bytes
  • priorityBase:优先级码
  • privateSize:Number of threads currently active in this process. An instruction is the basic unit of execution in a processor, and a thread is the object that executes instructions. Every running process has at least one thread.
  • threads:线程数
  • workingSetSize:工作集大小bytes
  • workingSetPeakSize:工作集峰值大小bytes
  • workingSetPrivateSize: 私有工作集大小bytes
  • otherIoSizePerSecond:other类型的流量bytes/s
  • readIoSizePerSecond: read类型的流量bytes/s
  • writeIoSizePerSecond:write类型的流量bytes/s
  • otherIoOperationsPerSecond:other类型的io操作数/s
  • readIoOperationsPerSecond: read类型的io操作数/s
  • writeIoOperationsPerSecond: write类型的io操作数/s
  • pageFaultsPerSecond: pageFaults数/s(这个可以考虑不要)

安卓:

  • pr:priority,动态优先级。priority的值在之前内核的O1调度器上表现是会变化的,所以也叫做动态优先级。在内核中,进程优先级的取值范围是通过一个宏定义的,这个宏的名称是MAX_PRIO,它的值为140。
  • ni:nice,静态优先级,这也基本符合nice值的特点,就是当nice值设定好了之后,除非我们用renice去改它,否则它是不变的。其取值范围是-20至19,一共40个级别。这个值越小,表示进程”优先级”越高,而值越大“优先级”越低
  • virtualSize: 进程所占用虚拟内存bytes
  • residentMemorySize:驻留内存,进程所使用的实际物理内存bytes
  • shareMemorySize:共享内存,虚拟内存中属于多进程共享的部门内存bytes
  • state:进程状态
  • cpuUsage:cpu使用占比%
  • memUsage:内存使用占比%
  • totalFrames:本次dump收集的帧信息总数(图形进程才有该字段)
  • jankyFrames:本次卡顿帧总数(耗时超过了16ms)(图形进程才有该字段)
  • jankyFramesPercent:卡顿帧占比%(图形进程才有该字段)
  • fiftyPercentile:耗时ms,表示有百分50的帧耗时到达了该数值(图形进程才有该字段)
  • ninetyPercentile:耗时ms,表示有百分90的帧耗时到达了该数值(图形进程才有该字段)
  • ninetyFivePercentile:耗时ms,表示有百分95的帧耗时到达了该数值(图形进程才有该字段)
  • ninetyNinePercentile:耗时ms,表示有百分99的帧耗时到达了该数值(图形进程才有该字段)
  • missedVsyncNum:垂直同步失败的帧(图形进程才有该字段)
  • highInputNum:处理input时间超时的帧数(图形进程才有该字段)
  • slowUiThreadNum:因UI线程上的工作导致超时的帧数(图形进程才有该字段)
  • slowBitmapUploadsNum:因bitmap的加载耗时的帧数(图形进程才有该字段)
  • slowIssueDrawCommandsNum:因绘制导致耗时的帧数(图形进程才有该字段)
  • frameDeadlineMissedNum:未知(图形进程才有该字段)
  • gpuMemoryUsage:gpu使用内存总量(图形进程才有该字段)
  • gpuMemoryUsagePercentage: gpu使用内存总量的占比(图形程序才有)
举例
{
    "pid": {
        "processId": "14041",
        "parentProcessId": "422",
        "processName": "com.android.providers.calendar",
        "pr": "20",
        "ni": "0",
        "virtualSize": 4617089843.2,
        "residentMemorySize": 71303168.0,
        "shareMemorySize": 63963136.0,
        "state": "S",
        "cpuUsage": 0.0,
        "memUsage": 1.7,
        "startTime": null,
        "totalFrames": 0,
        "jankyFrames": 0,
        "jankyFramesPercent": 0.0,
        "fiftyPercentile": "4950ms",
        "ninetyPercentile": "4950ms",
        "ninetyFivePercentile": "4950ms",
        "ninetyNinePercentile": "4950ms",
        "missedVsyncNum": 0,
        "highInputNum": 0,
        "slowUiThreadNum": 0,
        "slowBitmapUploadsNum": 0,
        "slowIssueDrawCommandsNum": 0,
        "frameDeadlineMissedNum": 0,
        "totalGpuMemorySize": 0
    }
}

4 incrementalProcesses用于记录增量进程的pid

增量进程算法说明

增量进程pid列表由前、后两次收集到的数据对比获得,所以至少要收集2次数据才会计算增量进程。
pre_m: 为前一次增量进程信息容器
cur_m:为后一次增量进程信息容器
pre:为前一次收集到的进程pid的列表
cur:为后一次收集到的进程pid的列表
计算B的增量进程信息:
reserved = pre和cur取交集(保留的进程pid集合), 存放在cur_m的reservedPids中
removed = pre - reserved (被关闭的进程pid的集合), 存在在pre_m的removedPids中
incremental = cur - reserved(新增的进程pid的集合,存放在cur_m的incrementalPids中

字段说明

windows和android共有字段

  • removedPids[]:相对于下一次收集到的数据(cur),本次数据被移除的进程的pid列表。
  • incrementalPids[]: 相对于前一次收集到的数据(pre),本次数据增加的进程的pid列表。
  • reservedPids[]: 相对于前一次收集到的数据(pre),本次数据被保留下来的pid的列表。
举例
{
    "incrementalProcesses": {
        "removedPids": ["0", "1", "2"],
        "incrementalPids": ["5", "6"],
        "reservedPids": ["3", "4"]
    }
}

5 gpuDetail图形进程详情,该容器以及其中数据指标都是新增

用于保存图形进程的信息,与processPerformance一样,属于详情数据,不显示开启时候不展示。
对于windows来说这些进程是通过单独的collector获取的,单独放在一个容器中更容易处理
android则无此字段

{
    "gpuDetail": {
        "pid": {
            "gpuName": {
                "detail":{
                    "engineType_1": {
                        "overview": {
                            "usageSum": 90.00,
                            "runningTimeSum": 9241165651,
                            "engineCount": 3,
                        },
                        "detail": {
                            "engineNum_0": {
                                "runningTime": 0,
                                "utilizationPercentage": 0.0
                            },
                            "engineNum_1": {},
                            "engineNum_2": {},
                            ...
                        },
                    "engineType_1": {...}
                    }
                },
                "overview": {
                    "dedicatedUsage": 0,
                    "sharedUsage": 116547584,
                    "totalCommitted": 420900864,
                    "localUsage": 116547584,
                    "nonLocalUsage": 0,
                    "dedicatedPercentage": 0,
                    "sharedPercentage": 1.3777452071980337
                }
            }
        }
    }
}

字段说明

windows:

  • gpuDetail:图形进程详情
  • pid:进程id
  • gpuName:进程使用到的显卡名
    • detail: 显卡详情
      • engineType_1:显卡的engine类型
        • overview:engine的数据总览
          • usageSum:活跃度百分比%
          • runningTimeSum:自开机依赖运行时间总和ms
          • engineCount:engine的总数
      • detail:engine的详情
        • engineNum_0:engineType的engine编号,可能有多个,也可能只有一个
          • runningTime:自开机以来的运行时间ms
          • utilizationPercentage:活跃度占比%
    • overview:显卡数据总览
      • dedicatedUsage:独显使用内存bytes
      • sharedUsage:共享显存使用内存bytes
      • totalCommitted:内存的总committed,bytes
      • localUsage: local显存的使用量bytes
      • nonLocalUsage:非local显存的使用量bytes
      • dedicatedPercentage:独立显存使用百分比%
      • sharedPercentage: 共享显存使用百分比
举例
{
    "gpuDetail": {
        "11052": {
            "Intel(R) UHD Graphics": {
                "detail": {
                    "3D": {
                        "overview": {
                            "usageSum": 924.116565,
                            "runningTimeSum": 9241165651,
                            "engineCount": 1
                        },
                        "detail": {
                            "0": {
                                "runningTime": 9241165651,
                                "utilizationPercentage": 924.116565
                            }
                        }
                    },
                    "VideoProcessing": {
                        "overview": {
                            "usageSum": 15.656864,
                            "runningTimeSum": 156568637,
                            "engineCount": 2
                        },
                        "detail": {
                            "10": {
                                "runningTime": 0,
                                "utilizationPercentage": 0.0
                            },
                            "3": {
                                "runningTime": 156568637,
                                "utilizationPercentage": 15.656864
                            }
                        }
                    },
                    "VideoDecode": {
                        "overview": {
                            "usageSum": 18.442009,
                            "runningTimeSum": 184420090,
                            "engineCount": 2
                        },
                        "detail": {
                            "1": {
                                "runningTime": 184420090,
                                "utilizationPercentage": 18.442009
                            },
                            "4": {
                                "runningTime": 0,
                                "utilizationPercentage": 0.0
                            }
                        }
                    },
                    "Copy": {
                        "overview": {
                            "usageSum": 0.0,
                            "runningTimeSum": 0,
                            "engineCount": 1
                        },
                        "detail": {
                            "2": {
                                "runningTime": 0,
                                "utilizationPercentage": 0.0
                            }
                        }
                    },
                    "": {
                        "overview": {
                            "usageSum": 0.0,
                            "runningTimeSum": 0,
                            "engineCount": 3
                        },
                        "detail": {
                            "5": {
                                "runningTime": 0,
                                "utilizationPercentage": 0.0
                            },
                            "6": {
                                "runningTime": 0,
                                "utilizationPercentage": 0.0
                            },
                            "7": {
                                "runningTime": 0,
                                "utilizationPercentage": 0.0
                            }
                        }
                    },
                    "LegacyOverlay": {
                        "overview": {
                            "usageSum": 0.0,
                            "runningTimeSum": 0,
                            "engineCount": 1
                        },
                        "detail": {
                            "8": {
                                "runningTime": 0,
                                "utilizationPercentage": 0.0
                            }
                        }
                    },
                    "GDI Render": {
                        "overview": {
                            "usageSum": 0.0,
                            "runningTimeSum": 0,
                            "engineCount": 1
                        },
                        "detail": {
                            "9": {
                                "runningTime": 0,
                                "utilizationPercentage": 0.0
                            }
                        }
                    }
                },
                "overview": {
                    "dedicatedUsage": 0,
                    "sharedUsage": 116547584,
                    "totalCommitted": 420900864,
                    "localUsage": 116547584,
                    "nonLocalUsage": 0,
                    "dedicatedPercentage": 0,
                    "sharedPercentage": 1.3777452071980337
                }
            }
        }
    }
}

android:

安卓无gpuDetail字段