• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# SmartPerf Device性能工具使用指导
2<!--Kit: Test Kit-->
3<!--Subsystem: Test-->
4<!--Owner: @niu-guoliang-->
5<!--Designer: @niu-guoliang-->
6<!--Tester: @laonie666-->
7<!--Adviser: @Brilliantry_Rui-->
8
9## 工具简介
10
11SmartPerf Device是一款基于系统开发的性能功耗测试工具,操作简单易用。该工具可以监测性能、功耗相关指标,包括FPS、CPU、GPU、RAM、Temp等,通过量化的指标项了解应用、整机性能状况。
12
13在开发过程中,会使用到有屏或无屏设备,对此SmartPerf Device提供了两种方式:分别是Device-hap端和Device-daemon端。Device-hap端适用于有屏设备,支持可视化操作。测试时是通过悬浮窗的开始和暂停来实时展示性能指标数据,保存后可生成数据报告,在报告中可分析各指标数据详情。Device-daemon端支持shell命令行方式,同时适用于有屏和无屏设备。
14
15### 指标说明
16
17- CPU:每秒读取一次设备节点下CPU大中小核的频点和各核使用率,衡量应用占用CPU资源的情况,占用过多的CPU资源会导致芯片发烫。
18- GPU:每秒读取一次设备节点下GPU的频点和负载信息,衡量应用占用GPU资源的情况,当GPU占用过多时,会导致性能下降,应用程序的运行速度变慢。
19- FPS:应用界面每秒刷新次数,衡量应用画面的流畅度,FPS越高通常表示图像流畅度越好,用户体验也越好。
20- TEMP:每秒读取一次设备节点下GPU温度、系统芯片温度信息。
21- RAM:每秒读取一次应用进程的实际物理内存,衡量应用的内存占比情况。
22- snapshot:每2秒截取一张应用界面截图。
23
24## 实现原理
25
26下图展示了SmartPerf Device工具的主要功能组成。Device-hap端设置好采集项和采集参数后,启动应用,FPS、RAM、Trace等指标通过消息发送给Device-daemon端,Device-daemon端进行数据采集、持久化和数据分析,将生成的报告回传给Device-hap端,Device-hap端进行可视化显示。
27
28![图片说明](figures/SmartPerfStru.png)
29
30## 约束与限制
31
321. Device-daemon端<!--Del-->、Device-hap端<!--DelEnd-->在API 9版本开始预置使用。<!--RP1--><!--RP1End-->
33
342. Device-daemon端执行需连接硬件设备,Device-hap端需在有屏幕设备使用。
35
363. Device-daemon端执行前需完成[hdc环境配置](../dfx/hdc.md)。
37
38<!--RP3-->
39## SmartPerf Device-hap端
40
41下面的操作步骤和界面内容以RK3568设备为例。
42
43### 获取应用列表
44
45点击设备上"SmartPerf Device-hap端"应用图标,进入"首页",点击"请选择一个应用",在应用列表页选择需要测试的应用。
46
47![图片说明](figures/SmartPerfConfig1.png)
48![图片说明](figures/SmartPerfConfig2.png)
49![图片说明](figures/SmartPerfConfig3.png)
50
51### 设置采集参数
52
53应用选择完成后回到开始测试页面,根据实际业务需要,配置"测试指标"。同时,可修改测试名称(测试名称包含测试的应用名称和测试时间,会呈现在报告列表中),是否抓取trace,选择是否开启截图。配置完成后,点击底部"开始测试"按钮。
54
55### 悬浮窗控制采集
56
57点击悬浮窗"start"开始采集,点击悬浮窗"计时器"(如下图中00:07)暂停采集。再次点击"计时器",继续开始采集。双击"计时器",实时展示采集数据。长按"计时器",结束采集。<br>整个过程中,可拖动悬浮框调整悬浮框位置。
58
59![图片说明](figures/SmartPerfControl1.png)
60![图片说明](figures/SmartPerfControl2.png)
61
62### 查看报告
63
64点击"报告",查看测试报告列表。点击项目,进入报告详情页,查看测试指标项详情。
65
66![图片说明](figures/SmartPerfReport1.png)
67![图片说明](figures/SmartPerfReport2.png)
68
69## SmartPerf Device-daemon端
70
71### 采集前提
72
73- 进入shell
74
75  ```
76  C:\Users\issusser>hdc shell
77  $
78  ```
79
80- 拉起和查看daemon进程
81
82  ```
83  C:\Users\issusser>hdc shell
84  // 拉起daemon进程
85  $ SP_daemon
86  // 查看daemon进程是否存在
87  $ ps -ef | grep SP_daemon
88  shell          1584     1 0 21:50:05 ?     00:00:00 SP_daemon
89  shell          1595  1574 3 21:51:02 pts/0 00:00:00 grep SP_daemon
90  $
91  ```
92
93- 执行和查看帮助命令
94
95  ```
96  $ SP_daemon --help
97  OpenHarmony performance testing tool SmartPerf command-line version
98   Usage: SP_daemon [options] [arguments]
99
100   options:
101    -N              set the collection times(default value is 0) range[1,2147483647], for example: -N 10
102    -PKG            set package name, must add, for example: -PKG ohos.samples.ecg
103    -PID            set process pid, must add, for example: -PID 3568
104    -threads        get threads, must add -PID or -PKG for example:
105                    -threads -PID 3568 or -threads -PKG ohos.samples.ecg
106    -fds            get file descriptor, must add -PID or -PKG for example:
107                    -fds -PID 3568 or -fds -PKG ohos.samples.ecg
108    -c              get device CPU frequency and CPU usage, process CPU usage and CPU load ..
109    -ci             get cpu instructions and cycles
110    -g              get device GPU frequency and GPU load
111    -f              get app refresh fps(frames per second) and fps jitters and refreshrate
112    -profilerfps    get refresh fps and timestamp
113    -sections       set collection time period(using with profilerfps)
114    -t              get remaining battery power and temperature..
115    -p              get battery power consumption and voltage(Not supported by some devices)
116    -print          start mode print log
117    -r              get process memory and total memory
118    -snapshot       get screen capture
119    -net            get uplink and downlink traffic
120    -start          collection start command
121    -stop           collection stop command
122    -VIEW           set layler, for example: -VIEW DisplayNode
123    -OUT            set csv output path.
124    -d              get device DDR information
125    -screen         get screen resolution
126    -deviceinfo     get device information
127    -server         start a process to listen to the socket message of the start and stop commands
128    -clear          clear the process ID
129    -ohtestfps      used by the validator to obtain the fps, the collection times can be set
130    -editorServer   start a process to listen to the socket message of the editor
131    -recordcapacity get the battery level difference
132    --version       get version
133    --help          get help
134    -editor         scenario-based collection identifier, parameter configuration items can be added later
135    responseTime   get the page response delay after an application is operated
136    completeTime   get the page completion delay after an application is operated
137    fpsohtest      used by the validator to obtain the fps
138    example1:
139    SP_daemon -N 20 -c -g -t -p -r -net -snapshot -d
140    SP_daemon -N 20 -PKG ohos.samples.ecg -c -g -t -p -f -r -net -snapshot -d
141    SP_daemon -start -c
142    SP_daemon -stop
143    example2: These parameters need to be used separately
144    SP_daemon -screen
145    SP_daemon -deviceinfo
146    SP_daemon -server
147    SP_daemon -clear
148    SP_daemon -ohtestfps 10
149    SP_daemon -editorServer
150    SP_daemon -recordcapacity
151    example3: These parameters need to be used separately
152    SP_daemon -editor responseTime ohos.samples.ecg app name
153    SP_daemon -editor completeTime ohos.samples.ecg app name
154    SP_daemon -editor fpsohtest
155
156
157
158    command exec finished!
159   $
160  ```
161
162
163### 基础采集
164
165基础采集主要采集整机或者应用的gpu、fps、CPU、DDR、内存等,支持秒级采集和启停采集,并将采集的结果写入data.csv166
167**1. 秒级采集**
168
169| 命令参数   |必选| 说明                   |
170| :-----| :-----| :--------------------- |
171| -N    |是| 设置采集次数,一秒采集一次。    |
172| -PKG  |否| 设置包名。                |
173| -PID  |否| 设置进程ID或者线程ID。                |
174| -threads  |否| 采集应用子线程数量。                |
175| -fds  |否| 采集应用文件描述符,仅支持root用户采集。                |
176| -c    |否| 采集cpu的频点和使用率。<br>设置应用包名时,采集整机和应用CPU信息。 <br>不设置应用包名时,采集整机CPU信息。     |
177| -ci    |否| 采集cpu的指令数。<br>设置应用包名时,采集整机和应用CPU指令数。 <br>不设置应用包名时,采集整机CPU指令数。     |
178| -g    |否| 采集gpu的频点和负载信息。   |
179| -f    |否| 采集指定应用的fps以及屏幕刷新率,必须设置应用包名。        |
180| -t    |否| 采集GPU温度、系统芯片温度。           |
181| -r    |否| 采集内存。<br>设置应用包名时,采集整机和应用内存信息。 <br>不设置应用包名时,采集整机内存信息。             |
182| -snapshot |否| 屏幕截图。             |
183| -net |否| 采集网络速率。              |
184| -VIEW |否| 设置图层,需要先获取应用图层名。                |
185| -d    |否| 采集DDR。                 |
186| -sections|否| 设置分段采集。          |
187
188- 设置包名并采集1次应用的线程数量
189
190  ```
191    $ SP_daemon -N 1 -PKG ohos.samples.ecg -threads
192
193    order:0 timestamp=1741415592481
194    order:1 threadsNum=18847:113|
195    order:2 tids=18847:43411 43409 43350 43236 25783 25622 25384 25381 19423 19170 19167 19166 19165 19163 19162 19159 19157 19156 19154 19153 19152 19151 19150 19149 19147 19146 19145 19142 19141 19140 19139 19136 19135 19134 19120 19112 19111 19088 19083 19081 19077 19076 19075 19074 19073 19072 19071 19070 19055 19044 19040 19039 19034 19033 19032 19031 19030 19029 19028 19027 19019 19017 19016 19015 19014 19013 19012 19011 19009 19007 19006 19005 19004 19003 19001 19000 18999 18998 18997 18996 18995 18994 18993 18992 18991 18990 18989 18988 18987 18986 18985 18984 18983 18982 18981 18980 18977 18974 18946 18942 18936 18934         18933 18931 18930 18929 18928 18927 18926 18925 18924 18923 18847|
196
197    command exec finished!
198    $
199  ```
200
201- 采集2次整机CPU大中小核频率、各核使用率
202
203  ```
204    $ SP_daemon -N 2 -c
205
206    order:0 timestamp=1501839064260
207    order:1 TotalcpuUsage=0.502513
208    order:2 TotalcpuidleUsage=99.497487
209    order:3 TotalcpuioWaitUsage=0.000000
210    order:4 TotalcpuirqUsage=0.000000
211    order:5 TotalcpuniceUsage=0.000000
212    order:6 TotalcpusoftIrqUsage=0.000000
213    order:7 TotalcpusystemUsage=0.251256
214    order:8 TotalcpuuserUsage=0.251256
215    order:9 cpu0Frequency=1992000
216    order:10 cpu0Usage=1.000000
217    order:11 cpu0idleUsage=99.000000
218    order:12 cpu0ioWaitUsage=0.000000
219    order:13 cpu0irqUsage=0.000000
220    order:14 cpu0niceUsage=0.000000
221    order:15 cpu0softIrqUsage=0.000000
222    order:16 cpu0systemUsage=0.000000
223    order:17 cpu0userUsage=1.000000
224    order:18 cpu1Frequency=1992000
225    order:19 cpu1Usage=0.000000
226    order:20 cpu1idleUsage=100.000000
227    order:21 cpu1ioWaitUsage=0.000000
228    order:22 cpu1irqUsage=0.000000
229    order:23 cpu1niceUsage=0.000000
230    order:24 cpu1softIrqUsage=0.000000
231    order:25 cpu1systemUsage=0.000000
232    order:26 cpu1userUsage=0.000000
233    order:27 cpu2Frequency=1992000
234    order:28 cpu2Usage=1.000000
235    order:29 cpu2idleUsage=99.000000
236    order:30 cpu2ioWaitUsage=0.000000
237    order:31 cpu2irqUsage=0.000000
238    order:32 cpu2niceUsage=0.000000
239    order:33 cpu2softIrqUsage=0.000000
240    order:34 cpu2systemUsage=1.000000
241    order:35 cpu2userUsage=0.000000
242    order:36 cpu3Frequency=1992000
243    order:37 cpu3Usage=0.000000
244    order:38 cpu3idleUsage=100.000000
245    order:39 cpu3ioWaitUsage=0.000000
246    order:40 cpu3irqUsage=0.000000
247    order:41 cpu3niceUsage=0.000000
248    order:42 cpu3softIrqUsage=0.000000
249    order:43 cpu3systemUsage=0.000000
250    order:44 cpu3userUsage=0.000000
251
252    ...
253
254    command exec finished!
255    $
256  ```
257
258- 设置包名并采集2次整机CPU大中小核频率、各核使用率以及进程CPU使用率、负载
259
260  ```
261    $ SP_daemon -N 2 -PKG ohos.samples.ecg -c
262
263
264
265    order:0 timestamp=1741415021814
266    order:1 ChildProcCpuLoad=NA
267    order:2 ChildProcCpuUsage=NA
268    order:3 ChildProcId=NA
269    order:4 ChildProcSCpuUsage=NA
270    order:5 ChildProcUCpuUsage=NA
271    order:6 ProcAppName=ohos.samples.ecg
272    order:7 ProcCpuLoad=2.742330
273    order:8 ProcCpuUsage=7.825508
274    order:9 ProcId=18847
275    order:10 ProcSCpuUsage=2.014652
276    order:11 ProcUCpuUsage=5.810856
277    order:12 TotalcpuUsage=22.527016
278    order:13 TotalcpuidleUsage=77.472984
279    order:14 TotalcpuioWaitUsage=0.000000
280    order:15 TotalcpuirqUsage=0.083126
281    order:16 TotalcpuniceUsage=0.000000
282    order:17 TotalcpusoftIrqUsage=0.000000
283    order:18 TotalcpusystemUsage=7.148795
284    order:19 TotalcpuuserUsage=15.295096
285    order:20 cpu0Frequency=1430000
286    order:21 cpu0Usage=52.475248
287    order:22 cpu0idleUsage=47.524752
288    order:23 cpu0ioWaitUsage=0.000000
289    order:24 cpu0irqUsage=0.000000
290
291    ...
292
293    command exec finished!
294    $
295  ```
296
297- 设置进程ID并采集2次整机CPU大中小核频率、各核使用率以及进程CPU使用率、负载
298
299  ```
300    $ SP_daemon -N 2 -PID 18847 -c
301
302
303
304    order:0 timestamp=1741415133211
305    order:1 ChildProcCpuLoad=NA
306    order:2 ChildProcCpuUsage=NA
307    order:3 ChildProcId=NA
308    order:4 ChildProcSCpuUsage=NA
309    order:5 ChildProcUCpuUsage=NA
310    order:6 ProcAppName=ohos.samples.ecg
311    order:7 ProcCpuLoad=2.510634
312    order:8 ProcCpuUsage=7.005678
313    order:9 ProcId=18847
314    order:10 ProcSCpuUsage=2.697061
315    order:11 ProcUCpuUsage=4.308617
316    order:12 TotalcpuUsage=24.979114
317    order:13 TotalcpuidleUsage=75.020886
318    order:14 TotalcpuioWaitUsage=0.000000
319    order:15 TotalcpuirqUsage=0.083542
320    order:16 TotalcpuniceUsage=0.000000
321    order:17 TotalcpusoftIrqUsage=0.000000
322    order:18 TotalcpusystemUsage=8.270677
323    order:19 TotalcpuuserUsage=16.624896
324    order:20 cpu0Frequency=1430000
325    order:21 cpu0Usage=50.000000
326    order:22 cpu0idleUsage=50.000000
327    order:23 cpu0ioWaitUsage=0.000000
328    order:24 cpu0irqUsage=0.000000
329    ...
330    command exec finished!
331    $
332  ```
333  >**说明**
334  >
335  >- 使用该命令采集时需进入被测应用内。
336
337- 采集1次整机GPU频率和负载
338
339  ```
340    $ SP_daemon -N 1 -g
341
342
343
344    order:0 timestamp=1503078740268
345    order:1 gpuFrequency=200000000
346    order:2 gpuLoad=38.000000
347
348    command exec finished!
349    $
350  ```
351
352- 采集2次整机温度
353
354  ```
355    $ SP_daemon -N 2 -t
356
357    order:0 timestamp=1502720711191
358    order:1 gpu-thermal=42500.000000
359    order:2 soc-thermal=43.125000
360
361
362    order:0 timestamp=1502720712191
363    order:1 gpu-thermal=41875.000000
364    order:2 soc-thermal=42.500000
365
366    command exec finished!
367    $
368  ```
369
370- 采集2次整机内存
371
372  ```
373    $ SP_daemon -N 2 -r
374    order:0 timestamp=1705041562521
375    order:1 memAvailable=7339224
376    order:2 memFree=7164708
377    order:3 memTotal=11641840
378
379    order:0 timestamp=1705041563527
380    order:1 memAvailable=7339136
381    order:2 memFree=7164684
382    order:3 memTotal=11641840
383
384    command exec finished!
385    $
386  ```
387
388- 设置包名并采集1次整机和指定应用进程内存
389
390  ```
391    $ SP_daemon -N 1 -PKG ohos.samples.ecg -r
392
393
394
395    order:0 timestamp=1741415257059
396    order:1 arktsHeapPss=44835
397    order:2 childCarktsHeapPss=NA
398    order:3 childGpuPss=NA
399    order:4 childGraphicPss=NA
400    order:5 childHeapAlloc=NA
401    order:6 childHeapFree=NA
402    order:7 childHeapSize=NA
403    order:8 childNativeHeapPss=NA
404    order:9 childPrivateClean=NA
405    order:10 childPrivateDirty=NA
406    order:11 childPss=NA
407    order:12 childSharedClean=NA
408    order:13 childSharedDirty=NA
409    order:14 childStackPss=NA
410    order:15 childSwap=NA
411    order:16 childSwapPss=NA
412    order:17 gpuPss=222377
413    order:18 graphicPss=184276
414    order:19 heapAlloc=154696
415    order:20 heapFree=780
416    order:21 heapSize=163208
417    order:22 memAvailable=4612096
418    order:23 memFree=1240924
419    order:24 memTotal=11692696
420    order:25 nativeHeapPss=85290
421    order:26 privateClean=195816
422    order:27 privateDirty=418973
423    order:28 pss=693349
424    order:29 sharedClean=146848
425    order:30 sharedDirty=71056
426    order:31 stackPss=2492
427    order:32 swap=25360
428    order:33 swapPss=25356
429
430    command exec finished!
431    $
432  ```
433
434- 设置进程ID并采集1次整机和指定应用进程内存
435
436  ```
437    $ SP_daemon -N 1 -PID 18847 -r
438
439
440
441    order:0 timestamp=1741415293198
442    order:1 arktsHeapPss=45011
443    order:2 childCarktsHeapPss=NA
444    order:3 childGpuPss=NA
445    order:4 childGraphicPss=NA
446    order:5 childHeapAlloc=NA
447    order:6 childHeapFree=NA
448    order:7 childHeapSize=NA
449    order:8 childNativeHeapPss=NA
450    order:9 childPrivateClean=NA
451    order:10 childPrivateDirty=NA
452    order:11 childPss=NA
453    order:12 childSharedClean=NA
454    order:13 childSharedDirty=NA
455    order:14 childStackPss=NA
456    order:15 childSwap=NA
457    order:16 childSwapPss=NA
458    order:17 gpuPss=222381
459    order:18 graphicPss=184276
460    order:19 heapAlloc=154588
461    order:20 heapFree=757
462    order:21 heapSize=163184
463    order:22 memAvailable=4612096
464    order:23 memFree=1238420
465    order:24 memTotal=11692696
466    order:25 nativeHeapPss=85274
467    order:26 privateClean=195996
468    order:27 privateDirty=418977
469    order:28 pss=693440
470    order:29 sharedClean=146848
471    order:30 sharedDirty=71056
472    order:31 stackPss=2492
473    order:32 swap=25360
474    order:33 swapPss=25356
475
476    command exec finished!
477    $
478  ```
479  >**说明**
480  >
481  >- 使用该命令采集时需进入被测应用内。
482  >- 该命令集成了历史版本-m的数据(arktsHeapPss、gpuPss、graphicPss...)。
483
484- 采集1次整机cpu指令数
485
486  ```
487    $ SP_daemon -N 1 -ci
488
489    order:0 cycles per instruction=4.098151
490    order:1 hw-cpu-cycles=190604622.000000
491    order:2 hw-instructions=46509906.000000
492    order:3 timestamp=1609502927840
493    command exec finished!
494    $
495  ```
496
497- 设置包名并采集1次整机和指定应用cpu指令数
498
499  ```
500    $ SP_daemon -N 1 -PKG ohos.samples.ecg -ci
501
502    order:0 cycles per instruction=4.121963
503    order:1 hw-cpu-cycles=190092457.000000
504    order:2 hw-instructions=46116973.000000
505    order:3 timestamp=1609502995191
506    command exec finished!
507    $
508  ```
509  >**说明**
510  >
511  >- 使用该命令采集时需进入被测应用内。
512
513- 采集2次截图
514
515  ```
516    $ SP_daemon -N 2 -snapshot
517
518    order:0 timestamp=1501837609657
519    order:1 capture=data/local/tmp/capture/screenCap_1501837609657.png
520
521
522    order:0 timestamp=1501837610657
523    order:1 capture=NA
524
525    command exec finished!
526    $
527  ```
528  >**说明**
529  >
530  >- 截图采集是2秒截取一次。
531  >
532  >- 截图报告存放路径为:data/local/tmp/capture533  >
534  >- 采集结束后:进入 data/local/tmp/capture 查看生成的截图。
535  >
536  >- 导出截图到D盘:重启一个命令行工具执行命令: hdc file recv data/local/tmp/capture/screenCap_1700725192774.png D:\。
537
538- 采集2次网络速率
539
540  ```
541    $ SP_daemon -N 2 -net
542
543    order:0 timestamp=1705041904832
544    order:1 networkDown=0
545    order:2 networkUp=0
546
547    order:0 timestamp=1705041905870
548    order:1 networkDown=22931
549    order:2 networkUp=2004
550
551    command exec finished!
552    $
553  ```
554
555- 设置包名并采集5次指定应用帧率
556
557  ```
558    $ SP_daemon -N 5 -PKG ohos.samples.ecg -f
559
560    order:0 timestamp=1705306472232
561    order:1 fps=43
562    order:2 fpsJitters=602261688;;8352083;;8267708;;8305209;;8298437;;8308854;;8313542;;8569271;;8061458;;8300521;;8308333;;8309896;;8429167;;8241667;;8258333;;8318229;;8312500;;8304167;;41760937;;16418750;;8298959;;8319270;;8308334;;8313541;;8302605;;8320312;;8298958;;8326042;;8321354;;8301042;;8310417;;8309895;;8308855;;8331250;;8286458;;8343229;;8278125;;8311458;;8306250;;8312500;;8320834;;8346875;;8283333
563    order:3 refreshrate=69
564
565    order:0 timestamp=1705306473234
566    order:1 fps=40
567    order:2 fpsJitters=674427313;;8191145;;8310417;;8319271;;8301562;;8318750;;8302084;;8314062;;8333334;;8283854;;8307812;;8311979;;8310417;;8307813;;8309375;;8323958;;8306250;;8308333;;8317709;;8296875;;8721875;;7895833;;8320833;;8340625;;8276563;;8409896;;8216145;;8310938;;8301042;;8362500;;8252604;;8317708;;8376042;;8256250;;8292187;;8303125;;8313542;;8310417;;8520312
568    order:3 refreshrate=69
569    ...
570
571    command exec finished!
572    $
573  ```
574
575- 采集10次指定图层帧率
576
577  ```
578    $ SP_daemon -N 10 -VIEW DisplayNode -f
579    order:0 timestamp=1705306822850
580    order:1 fps=15
581    order:2 fpsJitters=876291843;;8314062;;8308334;;8314583;;8310417;;8308333;;8326042;;8314583;;8292708;;8492709;;8143750;;8340104;;8294271;;8302604;;8297396
582    order:3 refreshrate=69
583
584    order:0 timestamp=1705306823852
585    order:1 fps=12
586    order:2 fpsJitters=906667363;;8279167;;8311458;;8315625;;8291146;;8313021;;8323438;;8293750;;8303125;;8313541;;8301563;;8317708
587    order:3 refreshrate=69
588    ...
589
590    command exec finished!
591    $
592  ```
593  >**说明**
594  >
595  >- DisplayNode 是指定的图层名。
596  >
597  >- 使用该命令采集时,需在传入的图层上操作页面。
598  >
599  >- 该命令不能与指定应用帧率一起采集(SP_daemon -N 20 -PKG ohos.samples.ecg -f 或 SP_daemon -N 20 -VIEW DisplayNode -f)。
600
601- 采集1次DDR信息
602
603  ```
604    $ SP_daemon -N 1 -d
605
606    order:0 timestamp=1710916175201
607    order:1 ddrFrequency=1531000000
608
609    command exec finished!
610    $
611  ```
612
613- 全量采集示例1,采集整机信息,包括cpu、gpu、温度、内存信息、DDR信息、网络速率、屏幕截图
614
615  ```
616    $ SP_daemon -N 10 -c -g -t -r -d -net -snapshot
617
618    order:0 timestamp=1501837838664
619    order:1 TotalcpuUsage=0.751880
620    order:2 TotalcpuidleUsage=99.248120
621    order:3 TotalcpuioWaitUsage=0.000000
622    order:4 TotalcpuirqUsage=0.000000
623    order:5 TotalcpuniceUsage=0.000000
624    order:6 TotalcpusoftIrqUsage=0.000000
625    order:7 TotalcpusystemUsage=0.501253
626    order:8 TotalcpuuserUsage=0.250627
627    order:9 cpu0Frequency=1992000
628    order:10 cpu0Usage=0.000000
629    order:11 cpu0idleUsage=100.000000
630    order:12 cpu0ioWaitUsage=0.000000
631    order:13 cpu0irqUsage=0.000000
632    order:14 cpu0niceUsage=0.000000
633    order:15 cpu0softIrqUsage=0.000000
634    order:16 cpu0systemUsage=0.000000
635    order:17 cpu0userUsage=0.000000
636    order:18 cpu1Frequency=1992000
637    order:19 cpu1Usage=0.000000
638    order:20 cpu1idleUsage=100.000000
639    order:21 cpu1ioWaitUsage=0.000000
640    order:22 cpu1irqUsage=0.000000
641    order:23 cpu1niceUsage=0.000000
642    order:24 cpu1softIrqUsage=0.000000
643    order:25 cpu1systemUsage=0.000000
644    order:26 cpu1userUsage=0.000000
645    order:27 cpu2Frequency=1992000
646    order:28 cpu2Usage=1.000000
647    order:29 cpu2idleUsage=99.000000
648    order:30 cpu2ioWaitUsage=0.000000
649    order:31 cpu2irqUsage=0.000000
650    order:32 cpu2niceUsage=0.000000
651    order:33 cpu2softIrqUsage=0.000000
652    order:34 cpu2systemUsage=1.000000
653    order:35 cpu2userUsage=0.000000
654    order:36 cpu3Frequency=1992000
655    order:37 cpu3Usage=0.000000
656    order:38 cpu3idleUsage=100.000000
657    order:39 cpu3ioWaitUsage=0.000000
658    order:40 cpu3irqUsage=0.000000
659    order:41 cpu3niceUsage=0.000000
660    order:42 cpu3softIrqUsage=0.000000
661    order:43 cpu3systemUsage=0.000000
662    order:44 cpu3userUsage=0.000000
663    order:45 gpuFrequency=200000000
664    order:46 gpuLoad=0.000000
665    order:47 gpu-thermal=40000.000000
666    order:48 soc-thermal=40.625000
667    order:49 memAvailable=1142820
668    order:50 memFree=687988
669    order:51 memTotal=1935948
670    order:52 ddrFrequency=800000000
671    order:53 networkDown=0
672    order:54 networkUp=0
673    order:55 capture=data/local/tmp/capture/screenCap_1501837838669.png
674
675    ...
676
677    command exec finished!
678    $
679  ```
680
681- 全量采集示例2,设置包名并采集指定应用信息,包括cpu、gpu、温度、fps、内存信息、DDR信息、网络速率、屏幕截图
682
683  ```
684    $ SP_daemon -N 10 -PKG ohos.samples.ecg -c -g -t -f -r -d -net -snapshot -threads
685
686    order:0 timestamp=1741415955626
687    order:1 ChildProcCpuLoad=NA
688    order:2 ChildProcCpuUsage=NA
689    order:3 ChildProcId=NA
690    order:4 ChildProcSCpuUsage=NA
691    order:5 ChildProcUCpuUsage=NA
692    order:6 ProcAppName=ohos.samples.ecg
693    order:7 ProcCpuLoad=2.641511
694    order:8 ProcCpuUsage=6.026481
695    order:9 ProcId=18847
696    order:10 ProcSCpuUsage=1.747202
697    order:11 ProcUCpuUsage=4.279279
698    order:12 TotalcpuUsage=26.021798
699    order:13 TotalcpuidleUsage=73.978202
700    order:14 TotalcpuioWaitUsage=0.000000
701    order:15 TotalcpuirqUsage=0.068120
702    order:16 TotalcpuniceUsage=0.000000
703    order:17 TotalcpusoftIrqUsage=0.000000
704    order:18 TotalcpusystemUsage=10.762943
705    order:19 TotalcpuuserUsage=15.190736
706    ...
707    order:123 gpuFrequency=279000000
708    order:124 gpuLoad=0.000000
709    order:125 Battery=35.000000
710    order:126 cluster0=51.000000
711    order:127 gpu=47.000000
712    order:128 npu_thermal=35.000000
713    order:129 shell_back=36.627000
714    order:130 shell_frame=35.627000
715    order:131 shell_front=35.652000
716    order:132 soc_thermal=59.259000
717    order:133 system_h=37.000000
718    order:134 fps=30
719    order:135 fpsJitters=33501562;;50251042;;33522396;;16743750;;33482812;;33505730;;33507291;;33505209;;33502604;;50258854;;33518229;;33501563;;16753125;;50247916;;16751563;;33507812;;16740104;;16792188;;33464583;;33497917;;50261458;;33493750;;33511459;;33502083;;16744271;;16756250;;33505729;;50254687;;33507292;;50286979
720    order:136 refreshrate=60
721    order:137 arktsHeapPss=29564
722    order:138 gpuPss=254647
723    order:139 graphicPss=215796
724    order:140 heapAlloc=174032
725    order:141 heapFree=1232
726    order:142 heapSize=187924
727    order:143 memAvailable=3437568
728    order:144 memFree=780152
729    order:145 memTotal=11697880
730    order:146 nativeHeapPss=91244
731    order:147 privateClean=162560
732    order:148 privateDirty=488739
733    order:149 pss=761908
734    order:150 sharedClean=225060
735    order:151 sharedDirty=48740
736    order:152 stackPss=2596
737    order:153 swap=62024
738    order:154 swapPss=62024
739    order:155 ddrFrequency=1531000000
740    order:156 networkDown=215
741    order:157 networkUp=0
742    ...
743    order:180 capture=data/local/tmp/capture/screenCap_1741415955811.png
744    order:181 threadsNum=18847:111|
745    order:182 tids=18847:45862 45700 25783 25622 25384 25381 19423 19170 19167 19166 19165 19163 19162 19159 19157 19156 19154 19153 19152 19151 19150 19149 19147 19146 19145 19142 19141 19140 19139 19136 19135 19134 19120 19112 19111 19088 19083 19081 19077 19076 19075 19074 19073 19072 19071 19070 19055 19044 19040 19039 19034 19033 19032 19031 19030 19029 19028 19027 19019 19017 19016 19015 19014 19013 19012 19011 19009 19007 19006 19005 19004 19003 19001 19000 18999 18998 18997 18996 18995 18994 18993 18992 18991 18990 18989 18988 18987 18986 18985 18984 18983 18982 18981 18980 18977 18974 18946 18942 18936 18934 18933 18931 18930 18929 18928 18927 18926 18925 18924 18923 18847|
746    ...
747
748    command exec finished!
749    $
750  ```
751
752- 全量采集示例3,设置进程ID并采集指定应用信息,包括cpu、gpu、温度、fps、内存信息、DDR信息、网络速率、屏幕截图
753
754  ```
755    $ SP_daemon -N 10 -PID 18847 -c -g -t -f -r -d -net -snapshot -threads
756
757    order:0 timestamp=1741416084766
758    order:1 ChildProcCpuLoad=NA
759    order:2 ChildProcCpuUsage=NA
760    order:3 ChildProcId=NA
761    order:4 ChildProcSCpuUsage=NA
762    order:5 ChildProcUCpuUsage=NA
763    order:6 ProcAppName=ohos.samples.ecg
764    order:7 ProcCpuLoad=2.857003
765    order:8 ProcCpuUsage=5.932203
766    order:9 ProcId=18847
767    order:10 ProcSCpuUsage=1.765537
768    order:11 ProcUCpuUsage=4.166667
769    order:12 TotalcpuUsage=28.442728
770    order:13 TotalcpuidleUsage=71.557272
771    order:14 TotalcpuioWaitUsage=0.000000
772    order:15 TotalcpuirqUsage=0.000000
773    order:16 TotalcpuniceUsage=0.000000
774    order:17 TotalcpusoftIrqUsage=0.000000
775    order:18 TotalcpusystemUsage=9.716860
776    order:19 TotalcpuuserUsage=18.725869
777    ...
778    order:123 gpuFrequency=279000000
779    order:124 gpuLoad=0.000000
780    order:125 Battery=35.000000
781    order:126 cluster0=51.000000
782    order:127 gpu=47.000000
783    order:128 npu_thermal=35.000000
784    order:129 shell_back=36.627000
785    order:130 shell_frame=35.627000
786    order:131 shell_front=35.652000
787    order:132 soc_thermal=59.259000
788    order:133 system_h=37.000000
789    order:134 fps=30
790    order:135 fpsJitters=33501562;;50251042;;33522396;;16743750;;33482812;;33505730;;33507291;;33505209;;33502604;;50258854;;33518229;;33501563;;16753125;;50247916;;16751563;;33507812;;16740104;;16792188;;33464583;;33497917;;50261458;;33493750;;33511459;;33502083;;16744271;;16756250;;33505729;;50254687;;33507292;;50286979
791    order:136 refreshrate=60
792    order:137 arktsHeapPss=29564
793    order:138 gpuPss=254647
794    order:139 graphicPss=215796
795    order:140 heapAlloc=174032
796    order:141 heapFree=1232
797    order:142 heapSize=187924
798    order:143 memAvailable=3437568
799    order:144 memFree=780152
800    order:145 memTotal=11697880
801    order:146 nativeHeapPss=91244
802    order:147 privateClean=162560
803    order:148 privateDirty=488739
804    order:149 pss=761908
805    order:150 sharedClean=225060
806    order:151 sharedDirty=48740
807    order:152 stackPss=2596
808    order:153 swap=62024
809    order:154 swapPss=62024
810    order:155 ddrFrequency=1531000000
811    order:156 networkDown=215
812    order:157 networkUp=0
813    ...
814    order:180 capture=data/local/tmp/capture/screenCap_1741416084923.png
815    order:181 threadsNum=18847:113|
816    order:182 tids=18847:46736 46734 46731 46663 25783 25622 25384 25381 19423 19170 19167 19166 19165 19163 19162 19159 19157 19156 19154 19153 19152 19151 19150 19149 19147 19146 19145 19142 19141 19140 19139 19136 19135 19134 19120 19112 19111 19088 19083 19081 19077 19076 19075 19074 19073 19072 19071 19070 19055 19044 19040 19039 19034 19033 19032 19031 19030 19029 19028 19027 19019 19017 19016 19015 19014 19013 19012 19011 19009 19007 19006 19005 19004 19003 19001 19000 18999 18998 18997 18996 18995 18994 18993 18992 18991 18990 18989 18988 18987 18986 18985 18984 18983 18982 18981 18980 18977 18974 18946 18942 18936 18934 18933 18931 18930 18929 18928 18927 18926 18925 18924 18923 18847|
817    ...
818
819    command exec finished!
820    $
821  ```
822  >**说明**
823  >
824  >- 使用该命令采集时需进入被测应用内。
825
826**2. 启停采集**
827
828执行start命令开始采集,操作设备或应用后,执行stop命令结束采集。
829
830| 命令参数   |必选| 说明                   |
831| :-----|:-----| :--------------------- |
832| -start |是| 开始采集,该命令参数后可添加基础采集命令,每秒采集一次。            |
833| -stop |是| 结束采集,生成采集报告。              |
834| -print |否| 每秒打印启停采集信息。              |
835
836
837- 启停采集整机CPU大中小核频率、各核使用率
838
839   ```
840   # 开始采集
841   $ SP_daemon -start -c
842   SP_daemon Collection begins
843
844
845   command exec finished!
846   $
847
848   # 结束采集
849   $ SP_daemon -stop
850   SP_daemon Collection ended
851   Output Path: data/local/tmp/smartperf/1/t_index_info.csv
852
853
854   command exec finished!
855   $
856   ```
857
858- 启停采集并打印整机CPU大中小核频率、各核使用率
859
860   ```
861    # 开始采集
862    # 打印启停采集信息
863    $ SP_daemon -start -c -print
864    SP_daemon Collection begins
865
866    order:0 TotalcpuUsage=20.860927
867    order:1 TotalcpuidleUsage=79.139073
868    order:2 TotalcpuioWaitUsage=0.000000
869    order:3 TotalcpuirqUsage=0.082781
870    order:4 TotalcpuniceUsage=0.000000
871    order:5 TotalcpusoftIrqUsage=0.000000
872    order:6 TotalcpusystemUsage=8.029801
873    order:7 TotalcpuuserUsage=12.748344
874    order:8 cpu0Frequency=1430000
875    order:9 cpu0Usage=44.554455
876    order:10 cpu0idleUsage=55.445545
877    order:11 cpu0ioWaitUsage=0.000000
878    order:12 cpu0irqUsage=0.000000
879    order:13 cpu0niceUsage=0.000000
880    order:14 cpu0softIrqUsage=0.000000
881    order:15 cpu0systemUsage=17.821782
882    order:16 cpu0userUsage=26.732673
883    order:17 cpu10Frequency=1239000
884    order:18 cpu10Usage=0.000000
885    order:19 cpu10idleUsage=100.000000
886    order:20 cpu10ioWaitUsage=0.000000
887    order:21 cpu10irqUsage=0.000000
888    order:22 cpu10niceUsage=0.000000
889    order:23 cpu10softIrqUsage=0.000000
890    order:24 cpu10systemUsage=0.000000
891    order:25 cpu10userUsage=0.000000
892    order:26 cpu11Frequency=1239000
893    order:27 cpu11Usage=0.000000
894    order:28 cpu11idleUsage=100.000000
895    order:29 cpu11ioWaitUsage=0.000000
896    order:30 cpu11irqUsage=0.000000
897    order:31 cpu11niceUsage=0.000000
898    order:32 cpu11softIrqUsage=0.000000
899    order:33 cpu11systemUsage=0.000000
900    order:34 cpu11userUsage=0.000000
901    ...
902    command exec finished!
903    $
904
905    # 结束采集
906    # 在启停打印时,需重新开启命令框执行此命令
907    $ SP_daemon -stop
908    SP_daemon Collection ended
909    Output Path: data/local/tmp/smartperf/1/t_index_info.csv
910
911    command exec finished!
912    $
913   ```
914   >**说明**
915   >
916   >- 开始采集示例1(采整机cpu、gpu、温度、fps、内存信息、DDR信息、网络速率、屏幕截图):SP_daemon -start -c -g -t -r -d -net -snapshot。
917   >
918   >- 开始采集示例2(采整机和进程cpu负载、gpu、温度、fps、内存信息、DDR信息、网络速率、屏幕截图、线程数、文件描述符):SP_daemon -start -PKG ohos.samples.ecg -c -g -t -f -r -d -net -snapshot -threads -fds。
919   >
920   >- 开始采集示例3(采整机和进程cpu负载、gpu、温度、fps、内存信息、DDR信息、网络速率、屏幕截图、线程数、文件描述符):SP_daemon -start -PID 18847 -c -g -t -f -r -d -net -snapshot -threads -fds。
921   >
922   >- 开始采集示例4(采整机cpu、gpu、温度、fps、内存信息、DDR信息、网络速率、屏幕截图、线程数、文件描述符并且打印采集信息):SP_daemon -start -c -g -t -r -d -net -snapshot -threads -fds -print。
923   >
924   >- 开始采集示例5(采整机和进程cpu负载、gpu、温度、fps、内存信息、DDR信息、网络速率、屏幕截图、线程数、文件描述符并且打印采集信息):SP_daemon -start -PID 18847 -c -g -t -f -r -d -net -snapshot -threads -fds -print。
925   >
926   >- 启停服务文件输出路径为:data/local/tmp/smartperf/1/t_index_info.csv,可通过hdc file recv的方式导出查看报告,具体请查看csv采集结果。
927
928**3. 查看csv采集结果**
929
930若采集结果保存在csv文件中,可以按照如下操作导出和查看结果内容。
931
932  - 采集结果默认输出路径:/data/local/tmp/data.csv
933
934  - 查看文件位置
935
936    ```
937    C:\Users\issusser>hdc shell
938    $ cd data/local/tmp
939    # ls
940    data.csv
941    $
942    ```
943
944  - 导出文件到指定路径
945    ```
946    C:\Users\issusser>hdc file recv data/local/tmp/data.csv D:\
947    [I][2023-11-08 16:16:41] HdcFile::TransferSummary success
948    FileTransfer finish, Size:429, File count = 1, time:6ms rate:71.50kB/s
949
950    C:\Users\issusser>
951    ```
952  - 打开data.csv文件查看采集数据
953
954    在自定义导出路径里找到data.csv文件打开查看采集数据表,data.csv数据名描述如下:
955
956    | 数据项    | 说明             |备注|
957    | :-----| :--------------------- |:-----|
958    | threadsNum              | 线程总数。              |-|
959    | tids                    | 线程id。                |-|
960    | fdTotal                 | 文件描述符总数。         |-|
961    | fds                     | 文件描述符。             |单位:Hz|
962    | cpuFrequency            | CPU大中小核频率。        |单位:Hz|
963    | cpuUasge                | CPU各核使用率。          |%|
964    | cpuidleUsage            | CPU空闲态使用率。        |%|
965    | cpuioWaitUsage          | 等待I/O的使用率。        |%|
966    | cpuirqUsage             | 硬中断的使用率。         |%|
967    | cpuniceUsage            | 低优先级用户态使用率。    |%|
968    | cpusoftIrqUsage         | 软中断的使用率。         |%|
969    | cpusystemUsage          | 系统/内核态使用率。      |%|
970    | cpuuserUsage            | 用户态使用率。           |%|
971    | ProcId                  | 进程id。                |-|
972    | ChildProcId             | 子进程id。                |-|
973    | ProcAppName             | app包名。                |-|
974    | ProcCpuLoad             | 进程CPU负载占比。        |%|
975    | ChildProcCpuLoad        | 子进程CPU负载占比。        |%|
976    | ProcCpuUsage            | 进程CPU使用率。          |%|
977    | ChildProcCpuUsage       | 子进程CPU使用率。          |%|
978    | ProcUCpuUsage           | 进程用户态CPU使用率。     |%|
979    | ChildProcCpuUsage       | 子进程用户态CPU使用率。          |%|
980    | ProcSCpuUsage           | 进程内核态CPU使用率。     |%|
981    | ChildProcSCpuUsage      | 子进程内核态CPU使用率。     |%|
982    | gpuFrequency            | 整机GPU的频率。          |%|
983    | gpuLoad                 | 整机GPU的负载占比。      |%|
984    | hw-instructions         | 执行的指令数。          |-|
985    | cycles per instruction  | 每条指令的平均周期数。    |单位:ns|
986    | hw-cpu-cycles           | CPU时钟周期数。          |单位:ns|
987    | currentNow              | 当前读到的电流值。       |单位:mA|
988    | voltageNow              | 当前读到的电压值。       |单位:μV|
989    | fps                     | 每秒帧数。              |单位:fps|
990    | fpsJitters              | 每一帧绘制间隔。        |单位:ns|
991    | refreshrate             | 屏幕刷新率。            |单位:Hz|
992    | networkDown             | 下行速率。              |单位:byte/s|
993    | networkUp               | 上行速率。              |单位:byte/s|
994    | ddrFrequency            | DDR频率。               |单位:Hz|
995    | gpu-thermal             | GPU温度。              |单位:°C|
996    | soc-thermal             | 系统芯片温度。          |单位:°C|
997    | memAvailable            | 整机可用内存。         |单位:KB|
998    | memFree                 | 整机空闲内存。         |单位:KB|
999    | memTotal                | 整机总内存。           |单位:KB|
1000    | pss                     | 进程实际使用内存。      |单位:KB|
1001    | Childpss                | 子进程实际使用内存。      |单位:KB|
1002    | sharedClean             | 进程共享的未改写页面。      |单位:KB|
1003    | ChildsharedClean        | 子进程共享的未改写页面。      |单位:KB|
1004    | sharedDirty             | 进程共享的已改写页面。      |单位:KB|
1005    | ChildsharedDirty        | 子进程共享的已改写页面。      |单位:KB|
1006    | priviateClean           | 进程私有的未改写页面。      |单位:KB|
1007    | ChildpriviateClean      | 子进程私有的未改写页面。      |单位:KB|
1008    | privateDirty            | 进程私有的已改写页面。      |单位:KB|
1009    | ChildprivateDirty       | 子进程私有的已改写页面。      |单位:KB|
1010    | swapTotal               | 进程总的交换内存。          |单位:KB|
1011    | ChildswapTotal          | 子进程总的交换内存。          |单位:KB|
1012    | swapPss                 | 进程交换的pss内存。        |单位:KB|
1013    | ChildswapPss            | 子进程交换的pss内存。        |单位:KB|
1014    | HeapSize                | 进程堆内存大小。           |单位:KB|
1015    | ChildHeapSize           | 子进程堆内存大小。           |单位:KB|
1016    | HeapAlloc               | 进程可分配的堆内存大小。    |单位:KB|
1017    | ChildHeapAlloc          | 子进程可分配的堆内存大小。    |单位:KB|
1018    | HeapFree                | 进程剩余的堆内存大小。      |单位:KB|
1019    | ChildHeapFree           | 子进程剩余的堆内存大小。      |单位:KB|
1020    | gpuPss                  | 进程使用的gpu内存大小。     |单位:KB|
1021    | ChildgpuPss             | 子进程使用的gpu内存大小。     |单位:KB|
1022    | graphicPss              | 进程使用的图形内存大小。     |单位:KB|
1023    | ChildgraphicPss         | 子进程使用的图形内存大小。     |单位:KB|
1024    | arktsHeapPss            | 进程使用的arkts内存大小。    |单位:KB|
1025    | ChildarktsHeapPss       | 子进程使用的arkts内存大小。    |单位:KB|
1026    | nativeHeapPss           | 进程使用的native内存大小。   |单位:KB|
1027    | ChildnativeHeapPss      | 子进程使用的native内存大小。   |单位:KB|
1028    | stackPss                | 进程使用的栈内存大小。       |单位:KB|
1029    | ChildstackPss           | 子进程使用的栈内存大小。       |单位:KB|
1030    | timeStamp               | 当前时间戳。            |对应采集时间|
1031
1032### 场景化采集
1033
1034除基础采集外,还支持采集响应和完成时延等内容。场景化采集结果不写入data.csv,采集结果直接在命令框显示。
1035
1036| 命令参数   |必选| 说明                   |
1037| :-----|:-----| :--------------------- |
1038| -editor|是|    场景化采集标识,后可添加参数配置项。         |
1039| -responseTime|否|    响应时延。         |
1040| -completeTime|否|    完成时延。         |
1041| -fpsohtest|否|    validator用于获取fps,1秒采集一次,默认采集10次。       |
1042
1043- 应用响应时延(命令仅支持RK)
1044
1045  ```
1046   $ SP_daemon -editor responseTime ohos.samples.ecg ohtest
1047   time:544ms
1048
1049   command exec finished!
1050  ```
1051  >**说明**
1052  >
1053  >- 采集前先进入应用内,在命令框回车后切换至应用内页面,等待打印采集结果。
1054
1055- 应用完成时延(命令仅支持RK)
1056
1057  ```
1058   $ SP_daemon -editor completeTime ohos.samples.ecg ohtest
1059   time:677ms
1060
1061   command exec finished!
1062  ```
1063  >**说明**
1064  >
1065  >- 采集前先进入应用内,在命令框回车后切换至应用内页面,等待打印采集结果。
1066
1067- validator获取应用页面帧率
1068
1069  ```
1070   $ SP_daemon -editor fpsohtest
1071   set num:10 successfps:0|1726909713442fps:97|1726909714442fps:113|1726909715442fps:116|1726909716442fps:116|1726909717442fps:118|1726909718442fps:114|1726909719442fps:114|1726909720442fps:115|1726909721442fps:118|1726909722442SP_daemon exec finished!
1072  ```
1073  >**说明**
1074  >
1075  >- 执行命令后需滑动或切换当前页面,等待10s后打印采集结果。
1076
1077### 其他采集
1078
1079当前设备电量采集结果可写入csv文件,其它命令需单独采集,采集结果不写入data.csv,仅在命令框显示。
1080
1081| 命令参数   |必选| 说明                   |
1082| :-----|:-----| :--------------------- |
1083| -screen |否| 采集屏幕分辨率和刷新率。               |
1084| -deviceinfo|否| 获取设备信息。              |
1085| -server|否|    启停采集用来拉起daemon进程。           |
1086| -clear|否|    清除所有SP_daemon进程。           |
1087| -ohtestfps|否|    validator用于获取fps,可设置采集次数(1秒采集一次)。          |
1088| -editorServer|否|    editor工具用来拉起daemon进程。         |
1089| -recordcapacity|否|    获取当前设备电量。         |
1090| -profilerfps |否| 采集当前界面fps。          |
1091
1092- 获取屏幕分辨率
1093
1094  ```
1095   $ SP_daemon -screen
1096   activeMode: 720x1280, refreshrate=69
1097
1098
1099   command exec finished!
1100   $
1101  ```
1102  >**说明**
1103  >
1104  >- activeMode表示当前屏幕分辨率,refreshrate表示屏幕刷新率。
1105
1106- 获取设备信息
1107
1108  ```
1109   $ SP_daemon -deviceinfo
1110   abilist: default
1111   activeMode: 720x1280
1112   board: hw
1113   brand: default
1114   cpu_c1_cluster: 0 1 2 3
1115   cpu_c1_max: 1992000
1116   cpu_c1_min: 408000
1117   cpu_cluster_name: policy0
1118   daemonPerfVersion: 1.0.5
1119   deviceTypeName: rk3568
1120   fullname: OpenHarmony-5.1.0.46
1121   gpu_max_freq: 800000000
1122   gpu_min_freq: 200000000
1123   model: ohos
1124   name: OpenHarmony 3.2
1125   sn: 150100424a5444345209d941bec6b900
1126   version: OpenHarmony 5.1.0.46
1127
1128   command exec finished!
1129   $
1130  ```
1131
1132- 启动一个进程来监听start和stop命令的socket消息
1133
1134  ```
1135   $ SP_daemon -server
1136   $
1137   $ pidof SP_daemon
1138   7024
1139   $
1140  ```
1141  >**说明**
1142  >
1143  >- 可执行pidof SP_daemon查看进程id。
1144
1145- 清除SP_daemon进程ID
1146
1147  ```
1148   $ pidof SP_daemon
1149   2725
1150   $ SP_daemon -clear
1151
1152
1153   command exec finished!
1154   $
1155   $ pidof SP_daemon
1156   $
1157  ```
1158  >**说明**
1159  >
1160  >- 可执行pidof SP_daemon查看进程id。
1161
1162- validator用于获取当前页面帧率
1163
1164  ```
1165   $ SP_daemon -ohtestfps 10
1166   set num:10 success
1167   fps:1|1501926684532
1168   fps:18|1501926685532
1169   fps:37|1501926686532
1170   fps:41|1501926687532
1171   fps:42|1501926688532
1172   fps:16|1501926689532
1173   fps:40|1501926690532
1174   fps:40|1501926691532
1175   fps:42|1501926692532
1176   fps:41|1501926693532
1177   SP_daemon exec finished!
1178   $
1179  ```
1180  >**说明**
1181  >
1182  >- 该条命令里的10表示采集的次数(一秒采集一次),可以设置为其他正整数。
1183
1184
1185- 启动一个进程来监听editor工具的socket消息
1186
1187  ```
1188   $ SP_daemon -editorServer
1189
1190
1191   command exec finished!
1192  ```
1193
1194
1195- 获取电池电量
1196
1197  ```
1198   $ SP_daemon -recordcapacity
1199   recordTime: 1726903063
1200   recordPower: 5502
1201  ```
1202  >**说明**
1203  >
1204  >- recordTime表示时间戳,recordPower表示当前时刻的电量。
1205  >
1206  >- 该命令需单独采集,采集结果写入/data/local/tmp/powerLeftRecord.csv,可以使用hdc file recv导出到本地。具体请参考查看csv采集结果。
1207
1208- 采集当前界面fps
1209
1210  ```
1211    $ SP_daemon -profilerfps 10
1212    set num:10 success
1213    fps:0|1711692357278
1214    fps:0|1711692358278
1215    fps:1|1711692359278
1216    fps:0|1711692360278
1217    fps:0|1711692361278
1218    fps:0|1711692362278
1219    fps:0|1711692363278
1220    fps:0|1711692364278
1221    fps:26|1711692365278
1222    fps:53|1711692366278
1223    SP_daemon exec finished!
1224    $
1225  ```
1226  >**说明**
1227  >
1228  >- 该条命令里的100表示采集的次数(一秒采集一次),可以设置为其他正整数。
1229
1230- fps分段采集
1231
1232  ```
1233    $ SP_daemon -profilerfps 100 -sections 10
1234    set num:100 success
1235    fps:0|1711692393278
1236    fps:0|1711692394278
1237    fps:0|1711692395278
1238    fps:44|1711692396278
1239    sectionsFps:0|1711692396278
1240    sectionsFps:0|1711692396378
1241    sectionsFps:40|1711692396478
1242    sectionsFps:60|1711692396578
1243    sectionsFps:60|1711692396678
1244    sectionsFps:60|1711692396778
1245    sectionsFps:60|1711692396878
1246    sectionsFps:40|1711692396978
1247    sectionsFps:60|1711692397078
1248    sectionsFps:60|1711692397178
1249    fps:51|1711692397278
1250
1251    ...
1252
1253    SP_daemon exec finished!
1254    $
1255  ```
1256  >**说明**
1257  >
1258  >- 该条命令里的100表示采集的次数(一秒采集一次),可以设置为其他正整数,10表示分段:目前支持设置 1-10(正整数)段采集。
1259
1260
1261<!--RP3End-->