1# SP_daemon 2## 简介 3 4- OpenHarmony性能测试工具SmartPerf 命令行版本,可采集CPU、GPU、Temperature、Power、应用RAM、FPS等指标,通过设置采集指标,对采集数据进行实时打印、导出csv。 5 6- 性能较差或无屏幕设备请使用命令行版本,带屏幕的设备且性能较好的设备推荐使用[UI版本](https://gitee.com/openharmony/developtools_profiler/blob/master/host/smartperf/client/client_ui/README_zh.md)。 7 8## 代码目录 9``` 10/developtools/profiler/host/smartperf/client/client_command 11├── include # 头文件目录 12├── BUILD.gn # SP_daemon bin打包配置文件 13├── ByTrace.cpp # trace抓取代码文件 14├── Capture.cpp # 截图代码文件 15├── CPU.cpp # CPU采集代码文件 16├── DDR.cpp # DDR采集代码文件 17├── FPS.cpp # FPS采集代码文件 18├── GPU.cpp # GPU采集代码文件 19├── Power.cpp # 功耗采集代码文件 20├── RAM.cpp # 内存采集代码文件 21├── smartperf_command.cpp # 程序执行文件 22├── smartperf_main.cpp # 程序入口文件 23├── sp_profiler_factory.cpp # 采集工厂文件 24├── sp_server_socket.cpp # 与SmartPerf hap通讯代码文件 25├── sp_utils.cpp # 工具类 26├── Temperature.cpp # 温度采集代码文件 27``` 28 29## 约束条件 30 SmartPerf应用在3.2系统版本后开始预制使用。 31 32## 功能特性 33 34**1. 参数说明** 35 36| 命令 | 功能 |是否必选| 37| :-----| :--------------------- |:-----| 38| -N | 设置采集次数。 |是| 39| -PKG | 设置包名。 |否| 40| -PID | 设置进程pid(对于ram适用)。 |否| 41| -OUT | 设置csv输出目录。 |否| 42| -c | 是否采集cpu。 |否| 43| -g | 是否采集gpu。 |否| 44| -f | 是否采集fps。 |否| 45| -t | 是否采集温度。 |否| 46| -p | 是否采集电流。 |否| 47| -r | 是否采集内存(需指定进程pid)。 |否| 48| -snapshot | 是否截图。 |否| 49 50--- 51 52**2. 使用方式**<br> 531)目前命令行版本已系统预制,可以进入shell,执行SP_daemon --help查看。 54 55```bash 56C:\Users\test>hdc_std shell 57# SP_daemon --help 58usage: SP_daemon <options> <arguments> 59-------------------------------------------------------------------- 60These are common commands list: 61 -N set num of profiler <must be non-null> 62 -PKG set pkgname of profiler 63 -PID set process id of profiler 64 -OUT set output path of CSV 65 -c get cpuFreq and cpuLoad 66 -g get gpuFreq and gpuLoad 67 -f get fps and fps jitters 68 -t get soc-temp gpu-temp .. 69 -p get current_now and voltage_now 70 -r get ram(pss) 71 -snapshot get screen capture 72-------------------------------------------------------------------- 73Example: SP_daemon -N 20 -PKG ohos.samples.ecg -c -g -t -p -f 74-------------------------------------------------------------------- 75 76command exec finished! 77# 78``` 792)执行示例命令:SP_daemon -N 20 -PKG ohos.samples.ecg -c -g -t -p -f。 80``` 81----------------------------------Print START------------------------------------ 82order:0 cpu0freq=1992000 83order:1 cpu0load=23.469387 84order:2 cpu1freq=1992000 85order:3 cpu1load=26.262627 86order:4 cpu2freq=1992000 87order:5 cpu2load=19.000000 88order:6 cpu3freq=1992000 89order:7 cpu3load=74.747475 90order:8 current_now=-1000.000000 91order:9 gpu-thermal=48333.000000 92order:10 gpufreq=200000000 93order:11 gpuload=0.000000 94order:12 soc-thermal=48888.000000 95order:13 timestamp=1501925596847 96order:14 voltage_now=4123456.000000 97----------------------------------Print END-------------------------------------- 98----------------------------------Print START------------------------------------ 99order:0 cpu0freq=1992000 100order:1 cpu0load=33.673470 101order:2 cpu1freq=1992000 102order:3 cpu1load=19.801979 103order:4 cpu2freq=1992000 104order:5 cpu2load=37.755100 105order:6 cpu3freq=1992000 106order:7 cpu3load=55.555553 107order:8 current_now=-1000.000000 108order:9 gpu-thermal=48333.000000 109order:10 gpufreq=200000000 110order:11 gpuload=0.000000 111order:12 soc-thermal=48888.000000 112order:13 timestamp=1501925597848 113order:14 voltage_now=4123456.000000 114----------------------------------Print END-------------------------------------- 115``` 1163)执行完毕后会在data/local/tmp生成data.csv文件,每次执行命令覆盖写入。 117```bash 118# cat /data/local/tmp/data.csv 119cpu0freq,cpu0load,cpu1freq,cpu1load,cpu2freq,cpu2load,cpu3freq,cpu3load,current_now,gpu-thermal,gpufreq,gpuload,soc-thermal,timestamp,voltage_now 1201992000,-1.000000,1992000,-1.000000,1992000,-1.000000,1992000,-1.000000,-1000.000000,48333.000000,200000000,0.000000,49444.000000,1501925677010,4123456.000000 1211992000,16.326530,1992000,22.680412,1992000,62.626263,1992000,41.836735,-1000.000000,48333.000000,200000000,0.000000,48888.000000,1501925678011,4123456.000000 1221992000,16.326530,1992000,35.353535,1992000,50.505051,1992000,42.857143,-1000.000000,48333.000000,200000000,0.000000,49444.000000,1501925679013,4123456.000000 123``` 124--- 125 126## 发布版本 127 128**3.2.0.0版本发布内容:预制SP_daemon bin文件,支持以下功能:**<br> 1291. 支持RK3568、Hi3516。<br> 1302. 支持Shell启动。<br> 1313. 支持采集整机CPU、GPU、POWER、TEMPERATURE、应用的FPS、RAM。