README.md
1## 工具介绍
2
3OpenHarmony性能测试工具,通过采集设备性能指标,对采集数据进行实时展示、导出csv。
4
5## 支持功能
6
7> 当前版本支持如下功能
8
9- 支持RK3568、Hi3516、WGR;
10- 支持Shell启动;
11- 支持采集整机CPU、GPU、DDR、POWER、TEMPERATURE、应用的FPS、RAM;
12
13## 使用方式
14
15**1、SP_daemon --help**
16```bash
17> hdc_std shell
18:/ # cd data/local/tmp
19:/data/local/tmp # SP_daemon --help
20usage: SP_daemon <options> <arguments>
21--------------------------------------------------------------------
22These are common commands list:
23 -N set num of profiler <must be non-null>
24 -PKG set pkg_name of profiler
25 -PID set process id of profiler
26 -c get cpuFreq and cpuLoad
27 -g get gpuFreq and gpuLoad
28 -d get ddrFreq
29 -f get fps
30 -t get soc-temp gpu-temp ..
31 -p get current_now and voltage_now
32 -r get ram(pss)
33--------------------------------------------------------------------
34Example: SP_daemon -N 2 -PKG com.ohos.contacts -c -g -t -p -r
35--------------------------------------------------------------------
36```
37**2、SP_daemon -N 2 -PKG com.ohos.contacts -c -g -t -p -r**
38```bash
39:/data/local/tmp # ./SP_daemon -N 2 -PKG com.ohos.contacts -c -g -t -p -r
40set num:2
41set pkg name:com.ohos.contacts
42
43----------------------------------Print START------------------------------------
44order:0 ambient=0.000000
45order:1 cpu0freq=1700000
46order:2 cpu0load=-1.000000
47order:3 cpu1freq=1700000
48order:4 cpu1load=-1.000000
49order:5 cpu2freq=1700000
50order:6 cpu2load=-1.000000
51order:7 cpu3freq=1700000
52order:8 cpu3load=-1.000000
53order:9 cpu4freq=2343000
54order:10 cpu4load=-1.000000
55order:11 cpu5freq=2343000
56order:12 cpu5load=-1.000000
57order:13 cpu6freq=2343000
58order:14 cpu6load=-1.000000
59order:15 cpu7freq=2756000
60order:16 cpu7load=-1.000000
61order:17 current_now=-1213.000000
62order:18 gpufreq=260000000
63order:19 gpuload=0.000000
64order:20 pss=37589
65order:21 voltage_now=4.308090
66----------------------------------Print END--------------------------------------
67----------------------------------Print START------------------------------------
68order:0 ambient=0.000000
69order:1 cpu0freq=1700000
70order:2 cpu0load=13.592233
71order:3 cpu1freq=1700000
72order:4 cpu1load=42.718445
73order:5 cpu2freq=1700000
74order:6 cpu2load=55.238094
75order:7 cpu3freq=1700000
76order:8 cpu3load=16.000000
77order:9 cpu4freq=826000
78order:10 cpu4load=0.000000
79order:11 cpu5freq=826000
80order:12 cpu5load=1.923077
81order:13 cpu6freq=826000
82order:14 cpu6load=0.961538
83order:15 cpu7freq=2756000
84order:16 cpu7load=99.038460
85order:17 current_now=-1139.000000
86order:18 gpufreq=260000000
87order:19 gpuload=0.000000
88order:20 pss=37589
89order:21 voltage_now=4.308323
90----------------------------------Print END--------------------------------------
91:/data/local/tmp #
92```
93**3、执行完毕后会在data/local/tmp生成data.csv文件,每次执行命令覆盖写入**
94```bash
95:/data/local/tmp # cat data.csv
96ambient,cpu0freq,cpu0load,cpu1freq,cpu1load,cpu2freq,cpu2load,cpu3freq,cpu3load,cpu4freq,cpu4load,cpu5freq,cpu5load,cpu6freq,cpu6load,cpu7freq,cpu7load,current_now,gpufreq,gpuload,pss,voltage_now
970.000000,1700000,-1.000000,1700000,-1.000000,1700000,-1.000000,1700000,-1.000000,2343000,-1.000000,2343000,-1.000000,2343000,-1.000000,2756000,-1.000000,-1213.000000,260000000,0.000000,37589,4.308090
980.000000,1700000,13.592233,1700000,42.718445,1700000,55.238094,1700000,16.000000,826000,0.000000,826000,1.923077,826000,0.961538,2756000,99.038460,-1139.000000,260000000,0.000000,37589,4.308323
99:/data/local/tmp #
100```
101---
102
103## 选项说明
104
105| 命令 | 功能 |是否必选|
106| :-----| :--------------------- |:-----|
107| -N | 设置采集次数 |是|
108| -PKG | 设置包名 | 否|
109| -PID | 设置进程pid(对于ram适用) |否|
110| -c | 是否采集cpu | 否|
111| -g | 是否采集gpu |否|
112| -f | 是否采集fps |否|
113| -t | 是否采集温度 |否|
114| -p | 是否采集电流 |否|
115| -r | 是否采集内存 |否|
116
117
118---
119## 构建方式
120> 当前未在系统内集成,需拉取openHarmony代码到本地,将本代码拷贝到目录里,并修改项目build.gn文件以及对应子系统的bundle.json文件,然后编译。
121> 例:编RK3568版本
122第一步:将本代码放置\foundation\graphic\standard\rosen\samples\opensourcesp目录下
123第二步:修改本代码中的build.gn文件
124第三步:修改对应子系统bundle.json文件 \foundation\graphic\standard
125在文件中加入代码路径以及编译出的二进制文件名称
126"build": {
127 "sub_component": [
128 ....,
129 "//foundation/graphic/standard/rosen/samples/opensourcesp:SP_daemon"
130 ]
131}
132第四步:执行全量编译命令: ./build.sh --product-name rk3568 --ccache
133
134### 推送方式
135```shell
136hdc_std shell mount -o rw,remount /
137hdc_std file send SP_daemon /data/local/tmp
138hdc_std shell chmod a+x /data/local/tmp/SP_daemon
139```