README_zh.md
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。