• Home
Name
Date
Size
#Lines
LOC

..--

include/12-May-2024-584372

BUILD.gnD12-May-20241.2 KiB5346

CPU.cppD12-May-20246.4 KiB193160

DDR.cppD12-May-20242.3 KiB7052

FPS.cppD12-May-20247.5 KiB214183

GPU.cppD12-May-20243.6 KiB11589

Power.cppD12-May-20245.1 KiB125102

RAM.cppD12-May-20243.1 KiB8767

README.mdD12-May-20244.9 KiB139127

Temperature.cppD12-May-20244.4 KiB121100

gp_utils.cppD12-May-20244.2 KiB131102

profiler.cppD12-May-20245.9 KiB141118

smartperf_command.cppD12-May-20245.9 KiB153130

smartperf_main.cppD12-May-2024814 247

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```