1# SmartPerf User Guide 2 3## Introduction 4 5SmartPerf Device is a reliable, easy-to-use performance and power consumption test tool. In this tool, you can monitor the performance and power consumption of your application and device with quantitative indicators, such as FPS, CPU, GPU, RAM, and Temp.<br> <!--Del-->Targeted at devices with or without screens, SmartPerf Device provides two modes: Device-hap and Device-daemon. <br>Device-hap is applicable to devices with screens and provides a visualized, intuitive UI that simplifies your operations. You can start and pause a test with a floating window, view performance data in real time, and save the test results for further analysis. <!--DelEnd--><br>Device-daemon is applicable to devices with and without screens and works with shell commands. 6 7### The following are the available indicators: 8- CPU: The tool reads the frequencies and usage of CPU cores on the test device on a per second basis to measure the CPU usage of the target application. Sustained high CPU may lead to overheating. 9- GPU: The tool reads the GPU frequency and load information of the test device on a per second basis to measure the GPU usage of the target application. High GPU usage can lead to performance drops and application slowdowns. 10- FPS: The tool reads the frame rate, in frames per second (FPS), of the target application to measure the smoothness of the application image. A higher FPS generally means smoother visuals. 11- POWER: The tool reads the current and voltage of the test device on a per second basis. 12- TEMP: The tool reads the temperature information of the test device on a per second basis, including the battery temperature and system chip temperature. 13- RAM: The tool reads the RAM usage of the target application on a per second basis. 14- snapshot: The tool takes a screenshot of the application UI every 2 seconds. 15 16## Principles 17 18The figure below demonstrates the main functions of SmartPerf Device. Set data collection items and parameters on Device-hap, start the application, and then send data requests for KPIs (such as FPS, RAM, and Trace) from Device-hap to Device-daemon through messages. Device-daemon collects, persists, and analyzes data as requested<!--Del-->, and then sends the data to Device-hap for display<!--DelEnd-->. 19 20 21 22## Constraints 23 241. Device-daemon and <!--Del-->Device-hap<!--DelEnd--> are pre-installed since API version 9. 25 262. Device-daemon must be connected to a hardware device<!--Del-->, and Device-hap can only be used on devices with a screen<!--DelEnd-->. 27 283. Before using the Device-Daemon, configure the [HDC environment](https://gitee.com/openharmony/developtools_hdc). 29 30## Performing Performance Testing 31 32<!--Del--> 33## SmartPerf Device-hap 34 35The RK3568 development board is used as an example below. 36 37### Obtaining the Application List 38 39Start SmartPerf Device-hap. On the home screen, click **Select an app**. 40 41<img src="figures/SmartPerfConfig1.png" alt="SmartPerfConfig1" style="zoom:67%;" /> 42<img src="figures/SmartPerfConfig2.png" alt="SmartPerfConfig2" style="zoom:67%;" /> 43<img src="figures/SmartPerfConfig3.png" alt="SmartPerfConfig3" style="zoom: 67%;" /> 44 45### Setting Collection Parameters 46 47After the target application is selected, return to the start page and set the test indicators. You can also change the test name (which includes the name of the target application and the test time and will be displayed in the report), and specify whether to capture traces and whether to enable the screenshot feature. When you are done, click the **Start** button at the bottom. 48 49### Using the Floating Window to Manage Data Collection. 50 51To start collection, touch **Start** in the floating window. To pause, touch the timer in the floating window. To resume, touch the timer again. To view the collected data in real time, double-touch the timer. To stop, touch and hold the timer.<br>You can drag the floating window to anywhere you like. 52 53<img src="figures/SmartPerfControl1.png" alt="SmartPerfControl1" style="zoom: 67%;" /> 54<img src="figures/SmartPerfControl2.png" alt="SmartPerfControl2" style="zoom: 67%;" /> 55 56### Viewing the Report 57 58Click **Report** to access the report list. Touch a report to view its details. 59 60<img src="figures/SmartPerfReport1.png" alt="SmartPerfReport1" style="zoom: 67%;" /> 61<img src="figures/SmartPerfReport2.png" alt="SmartPerfReport2" style="zoom: 67%;" /> 62<!--DelEnd--> 63 64## SmartPerf Device-daemon 65 66### Basic Collection Commands 67 68| Command |Mandatory| Description | 69| :-----| :-----| :--------------------- | 70| -N |Yes| Sets the number of collection times (once per second). | 71| -PKG |No| Sets the bundle name. | 72| -c |No| Collects the CPU frequency and usage. If the application bundle name is set, the collected information covers both the system and the target application. If the application bundle name is not set, the collected information covers the system only. | 73| -g |No| Collects the GPU frequency and load information. | 74| -f |No| Collects the screen refresh rate and frame rate of the target application. The application bundle name must be specified. | 75| -profilerfps |No| Collects the frame rate of the current page. | 76| -t |No| Collects temperature information. | 77| -p |No| Collects current and voltage information. | 78| -r |No| Collects the RAM usage. If the application bundle name is set, the collected information covers both the system and the target application. If the application bundle name is not set, the collected information covers the system only. | 79| -snapshot |No| Takes screenshots. | 80| -net |No| Collects the network speed. | 81| -VIEW |No| Sets the view layer. You must obtain the layer name first. | 82| -screen |No| Collects the screen resolution and refresh rate. | 83| -d |No| Collects the DDR data. | 84| -sections|No| Sets segment-based collection. | 85<!--RP1--><!--RP1End--> 86 87### Commands for Starting or Stopping Data Collection 88 89| Command |Mandatory| Description | 90| :-----|:-----| :--------------------- | 91| -start |Yes| Starts collection. This command can be followed by basic collection commands. | 92| -stop |Yes| Stops collection. A report is generated when collection is complete. | 93 94### Example 95You need to run the commands in the shell. You can check whether the daemon process is running, view the help information, run the collection command to collect data and view the collection result. 96 97#### Switching to Shell 98 99 ``` 100 C:\Users\issusser>hdc shell 101 # 102 ``` 103 104 105#### Starting and Viewing the Daemon Process 106 107 ``` 108 C:\Users\issusser>hdc shell 109 // Start the daemon process. 110 # SP_daemon 111 // Check whether the daemon process is running. 112 # ps -ef | grep SP_daemon 113 root 1584 1 0 21:50:05 ? 00:00:00 SP_daemon 114 root 1595 1574 3 21:51:02 pts/0 00:00:00 grep SP_daemon 115 # 116 ``` 117 118#### Viewing the Help Information 119 120<!--RP2--> 121 122 ``` 123 # SP_daemon --help 124 OpenHarmony performance testing tool SmartPerf command-line version 125 Usage: SP_daemon <options> <arguments> 126 options: 127 -N set the collection times(default value is 0) range[1,2147483647], for example: -N 10 128 -PKG set package name, must add, for example: -PKG ohos.samples.ecg 129 -c get device CPU frequency and CPU usage, process CPU usage and CPU load .. 130 -g get device GPU frequency and GPU load 131 -f get app refresh fps(frames per second) and fps jitters and refreshrate 132 -profilerfps get refresh fps and timestamp 133 -sections set collection time period(using with profilerfps) 134 -t get remaining battery power and temperature.. 135 -p get battery power consumption and voltage 136 -r get process memory and total memory 137 -snapshot get screen capture 138 -net get uplink and downlink traffic 139 -start collection start command 140 -stop collection stop command 141 -VIEW set layler, for example: -VIEW DisplayNode 142 -screen get screen resolution 143 -OUT set csv output path 144 -d get device DDR information 145 example: 146 SP_daemon -N 20 -c -g -t -p -r -net -snapshot -d 147 SP_daemon -N 20 -PKG ohos.samples.ecg -c -g -t -p -f -r -net -snapshot -d 148 SP_daemon -start -c 149 SP_daemon -stop 150 SP_daemon -screen 151 152 command exec finished! 153 # 154 ``` 155<!--RP2End--> 156 157#### Running the Collection Commands 158 159 - Collect twice the frequency and usage of CPU cores. 160 161 ``` 162 # SP_daemon -N 2 -c 163 164 order:0 timestamp=1501923846459 165 order:1 cpu0Frequency=408000 166 order:2 cpu0Usage=7.142857 167 order:3 cpu0idleUsage=92.857143 168 order:4 cpu0ioWaitUsage=0.000000 169 order:5 cpu0irqUsage=0.000000 170 order:6 cpu0niceUsage=0.000000 171 order:7 cpu0softIrqUsage=0.000000 172 order:8 cpu0systemUsage=5.102041 173 order:9 cpu0userUsage=2.040816 174 ... 175 176 command exec finished! 177 # 178 ``` 179 180 - Collect twice the frequency and usage of CPU cores and CPU usage and load of processes. 181 182 ``` 183 # SP_daemon -N 2 -PKG ohos.samples.ecg -c 184 185 order:0 timestamp=1705043036099 186 order:1 ProcAppName=ohos.samples.ecg 187 order:2 ProcCpuLoad=0.008766 188 order:3 ProcCpuUsage=0.025100 189 order:4 ProcId=8815 190 order:5 ProcSCpuUsage=0.000000 191 order:6 ProcUCpuUsage=0.025100 192 order:7 cpu0Frequency=1430000 193 order:8 cpu0Usage=29.032258 194 order:9 cpu0idleUsage=70.967742 195 order:10 cpu0ioWaitUsage=0.000000 196 order:11 cpu0irqUsage=2.150538 197 order:12 cpu0niceUsage=0.000000 198 order:13 cpu0softIrqUsage=0.000000 199 order:14 cpu0systemUsage=15.053763 200 order:15 cpu0userUsage=11.827957 201 ... 202 203 command exec finished! 204 # 205 ``` 206 >**NOTE** 207 > 208 >- Make sure you are on the application screen when running this command. 209 210 - Collect once the GPU frequency and load of the system. 211 212 ``` 213 # SP_daemon -N 1 -g 214 215 order:0 timestamp=1705041456507 216 order:1 gpuFrequency=279000000 217 order:2 gpuLoad=12.000000 218 219 command exec finished! 220 # 221 ``` 222 223 - Collect twice the system temperature. 224 225 ``` 226 # SP_daemon -N 2 -t 227 228 order:0 timestamp=1705042469378 229 order:1 Battery=36.000000 230 order:2 shell_back=38.962000 231 order:3 shell_frame=37.962000 232 order:4 shell_front=42.663000 233 order:5 soc_thermal=48.645000 234 order:6 system_h=38.277000 235 236 order:0 timestamp=1705042470389 237 order:1 Battery=36.000000 238 order:2 shell_back=38.962000 239 order:3 shell_frame=37.962000 240 order:4 shell_front=42.663000 241 order:5 soc_thermal=48.486000 242 order:6 system_h=38.277000 243 244 command exec finished! 245 # 246 ``` 247 248 - Collect once the current and voltage of the system. 249 250 ``` 251 # SP_daemon -N 1 -p 252 253 order:0 timestamp=1705041491090 254 order:1 currentNow=-255 255 order:2 voltageNow=4377614 256 257 command exec finished! 258 # 259 ``` 260 261 - Collect twice the memory information of the system. 262 263 ``` 264 # SP_daemon -N 2 -r 265 order:0 timestamp=1705041562521 266 order:1 memAvailable=7339224 267 order:2 memFree=7164708 268 order:3 memTotal=11641840 269 270 order:0 timestamp=1705041563527 271 order:1 memAvailable=7339136 272 order:2 memFree=7164684 273 order:3 memTotal=11641840 274 275 command exec finished! 276 # 277 ``` 278 279 - Collect the memory information of the system and a specified application once. 280 281 ``` 282 # SP_daemon -N 1 -PKG ohos.samples.ecg -r 283 284 order:0 timestamp=1720427095197 285 order:1 arktsHeapPss=17555 286 order:2 gpuPss=7021 287 order:3 graphicPss=163320 288 order:4 heapAlloc=120344 289 order:5 heapFree=14362 290 order:6 heapSize=133436 291 order:7 memAvailable=2757504 292 order:8 memFree=190852 293 order:9 memTotal=11742716 294 order:10 nativeHeapPss=49102 295 order:11 privateClean=1100020 296 order:12 privateDirty=175169 297 order:13 pss=422172 298 order:14 sharedClean=89348 299 order:15 sharedDirty=19084 300 order:16 stackPss=1588 301 order:17 swap=122076 302 order:18 swapPss=122076 303 304 305 command exec finished! 306 # 307 ``` 308 >**NOTE** 309 > 310 >- Make sure you are on the application screen when running this command. 311 >- This command integrates the **-m** command of historical version, which collects data such as arktsHeapPss, gpuPss, graphicPss. 312 313 - Take two screenshots. 314 315 ``` 316 # SP_daemon -N 2 -snapshot 317 318 order:0 timestamp=1705041753321 319 order:1 capture=data/local/tmp/capture/screenCap_1705041753321.png 320 321 /data/local/tmp/capture created! 322 323 order:0 timestamp=1705041754324 324 order:1 capture=NA 325 326 command exec finished! 327 # 328 ``` 329 >**NOTE** 330 > 331 >- Screenshots are collected every 2 seconds. 332 > 333 >- 334 > 335 >- When the collection is complete, you can view the screenshots in **data/local/tmp/capture**. 336 > 337 >- To export the screenshots to drive D, open a new CLI and run the **hdc file recv data/local/tmp/capture/screenCap_1700725192774.png D:\** command. 338 339 - Collect the network speeds twice. 340 341 ``` 342 # SP_daemon -N 2 -net 343 344 order:0 timestamp=1705041904832 345 order:1 networkDown=0 346 order:2 networkUp=0 347 348 order:0 timestamp=1705041905870 349 order:1 networkDown=22931 350 order:2 networkUp=2004 351 352 command exec finished! 353 # 354 ``` 355 356 - Collect the frame rate of the target application five times. 357 358 ``` 359 # SP_daemon -N 5 -PKG ohos.samples.ecg -f 360 361 order:0 timestamp=1705306472232 362 order:1 fps=43 363 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 364 order:3 refreshrate=120 365 366 order:0 timestamp=1705306473234 367 order:1 fps=40 368 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 369 order:3 refreshrate=120 370 ... 371 372 command exec finished! 373 # 374 ``` 375 >**NOTE** 376 > 377 >- When running this command, make sure you are on the application screen, and then swipe on the screen or switch between screens. 378 >- When dynamic refresh rate (DRR) is enabled, the refresh rate changes in real time (multiple changes may occur within one second). The value of **refreshrate** is collected at a timestamp. 379 > 380 381 - Collect the frame rate of the specified view layer for 10 times. 382 383 ``` 384 # SP_daemon -N 10 -VIEW DisplayNode -f 385 order:0 timestamp=1705306822850 386 order:1 fps=15 387 order:2 fpsJitters=876291843;;8314062;;8308334;;8314583;;8310417;;8308333;;8326042;;8314583;;8292708;;8492709;;8143750;;8340104;;8294271;;8302604;;8297396 388 order:3 refreshrate=120 389 390 order:0 timestamp=1705306823852 391 order:1 fps=12 392 order:2 fpsJitters=906667363;;8279167;;8311458;;8315625;;8291146;;8313021;;8323438;;8293750;;8303125;;8313541;;8301563;;8317708 393 order:3 refreshrate=120 394 ... 395 396 command exec finished! 397 # 398 ``` 399 >**NOTE** 400 > 401 >- **DisplayNode** indicates the name of the specified layer. 402 > 403 >- When using this command to collect data, you need to operate the page on the specified layer. 404 > 405 >- This command cannot be used to collect data with the frame rate of the specified application (**SP_daemon -N 20 -PKG ohos.samples.ecg -f** or **SP_daemon -N 20 -VIEW DisplayNode -f**). 406 407 - Collect DDR information once. 408 409 ``` 410 # SP_daemon -N 1 -d 411 412 order:0 timestamp=1710916175201 413 order:1 ddrFrequency=1531000000 414 415 command exec finished! 416 # 417 ``` 418 <!--RP3--><!--RP3End--> 419 420 - Collect the full information of the system, including the CPU, GPU, temperature, current, voltage, memory, DDR, network speed, and screenshot information. 421 422 ``` 423 # SP_daemon -N 10 ohos.samples.ecg -c -g -t -p -f -r -d -net -snapshot 424 425 order:0 timestamp=1705042018276 426 order:1 cpu0Frequency=490000 427 order:2 cpu0Usage=33.000000 428 order:3 cpu0idleUsage=67.000000 429 order:4 cpu0ioWaitUsage=0.000000 430 order:5 cpu0irqUsage=1.000000 431 order:6 cpu0niceUsage=0.000000 432 order:7 cpu0softIrqUsage=0.000000 433 order:8 cpu0systemUsage=14.000000 434 order:9 cpu0userUsage=18.000000 435 ... 436 order:115 gpuFrequency=279000000 437 order:116 gpuload=61.000000 438 order:117 Battery=28.000000 439 order:118 shell_back=31.529000 440 order:119 shell_frame=30.529000 441 order:120 shell_front=30.548000 442 order:121 soc_thermal=49.624000 443 order:122 system_h=30.150000 444 order:123 currentNow=278 445 order:124 voltageNow=4250532 446 order:125 memAvailable=6354252 447 order:126 memFree=5971776 448 order:127 memTotal=11530092 449 order:128 ddrFrequency=1531000000 450 order:129 networkDown=0 451 order:130 networkUp=0 452 order:131 capture=data/local/tmp/capture/screenCap_1711190737580.png 453 454 ... 455 456 command exec finished! 457 # 458 ``` 459 460 - Collect the full information of the specified application, including the CPU, GPU, temperature, current, voltage, frame rate, memory, DDR, network speed, and screenshot information. 461 462 <!--RP4--> 463 ``` 464 # SP_daemon -N 10 -PKG ohos.samples.ecg -c -g -t -p -f -r -d -net -snapshot 465 466 order:0 timestamp=1705042018276 467 order:1 ProcAppName=ohos.samples.ecg 468 order:2 ProcCpuLoad=0.000001 469 order:3 ProcCpuUsage=0.000000 470 order:4 ProcId=13131 471 order:5 ProcSCpuUsage=0.000000 472 order:6 ProcUCpuUsage=0.000000 473 order:7 cpu0Frequency=418000 474 order:8 cpu0Usage=27.884616 475 order:9 cpu0idleUsage=72.115385 476 order:10 cpu0ioWaitUsage=0.000000 477 order:11 cpu0irqUsage=0.961538 478 order:12 cpu0niceUsage=0.000000 479 order:13 cpu0softIrqUsage=0.000000 480 order:14 cpu0systemUsage=12.500000 481 order:15 cpu0userUsage=14.423077 482 ... 483 order:115 gpuFrequency=279000000 484 order:116 gpuload=61.000000 485 order:117 Battery=28.000000 486 order:118 shell_back=31.529000 487 order:119 shell_frame=30.529000 488 order:120 shell_front=30.548000 489 order:121 soc_thermal=49.624000 490 order:122 system_h=30.150000 491 order:123 currentNow=278 492 order:124 voltageNow=4250532 493 order:125 fps=3 494 order:126 fpsJitters=881659966;;108846354;;8289583 495 order:127 refreshrate=120 496 order:128 arktsHeapPss=16464 497 order:129 gpuPss=7021 498 order:130 graphicPss=163320 499 order:131 heapAlloc=118870 500 order:132 heapFree=14076 501 order:133 heapSize=131948 502 order:134 memAcailable=2776508 503 order:135 memFree=258668 504 order:136 memTotal=11742716 505 order:137 nativeHeapPss=45361 506 order:138 privateClean=104828 507 order:139 privateDirty=175189 508 order:140 pss=419476 509 order:141 sharedClean=87744 510 order:142 sharedDirty=19084 511 order:143 stackPss=1592 512 order:144 swap=125408 513 order:145 swapPss=125408 514 order:146 ddrFrequency=749000000 515 order:147 networkDown=7893 516 order:148 networkUp=1546 517 order:149 capture=data/local/tmp/capture/screenCap_1711190737580.png 518 519 ... 520 521 command exec finished! 522 # 523 ``` 524 <!--RP4End--> 525 526 >**NOTE** 527 > 528 >- Make sure you are on the application screen when running this command. 529 > 530 531 - Collect the frame rate of the current page. 532 533 ``` 534 # SP_daemon -profilerfps 10 535 set num:10 success 536 fps:0|1711692357278 537 fps:0|1711692358278 538 fps:1|1711692359278 539 fps:0|1711692360278 540 fps:0|1711692361278 541 fps:0|1711692362278 542 fps:0|1711692363278 543 fps:0|1711692364278 544 fps:26|1711692365278 545 fps:53|1711692366278 546 SP_daemon exec finished! 547 # 548 ``` 549 >**NOTE** 550 > 551 >- This command must be executed separately, and its collection result is not written into the **data.csv** file. 552 > 553 554 - Collect the frame rate by time segment. 555 556 ``` 557 # SP_daemon -profilerfps 100 -sectrions 10 558 set num:100 success 559 fps:0|1711692393278 560 fps:0|1711692394278 561 fps:0|1711692395278 562 fps:44|1711692396278 563 sectionsFps:0|1711692396278 564 sectionsFps:0|1711692396378 565 sectionsFps:40|1711692396478 566 sectionsFps:60|1711692396578 567 sectionsFps:60|1711692396678 568 sectionsFps:60|1711692396778 569 sectionsFps:60|1711692396878 570 sectionsFps:40|1711692396978 571 sectionsFps:60|1711692397078 572 sectionsFps:60|1711692397178 573 fps:51|1711692397278 574 575 ... 576 577 SP_daemon exec finished! 578 # 579 ``` 580 >**NOTE** 581 > 582 >- In the preceding information, 100 indicates the number of collection times, which can be set to a positive integer. 10 indicates a segment. Currently, the value ranges from 1 to 10 (positive integer). 583 > 584 >- This command must be executed separately, and its collection result is not written into the **data.csv** file. 585 586 - Start and stop the service. 587 588 ``` 589 Start data collection. 590 # SP_daemon -start -c 591 SP_daemon Collection begins 592 command exec finished! 593 # 594 595 Stop data collection. 596 # SP_daemon -stop 597 SP_daemon Collection ended 598 Output Path: data/local/tmp/smartperf/1/t_index_info_csv 599 command exec finished! 600 # 601 602 ``` 603 >**NOTE** 604 > 605 >- To start data collection of the system, run the **SP_daemon -start -c -g -t -p -r -d -net -snapshot** command. 606 > 607 >- To start data collection of the system and process, run the **SP_daemon -start -PKG ohos.samples.ecg -c -g -t -p -f -r -d -net -snapshot** command. 608 > 609 >- Run the start command to start collection, operate the device or application, and then run the stop command to stop collection. 610 > 611 >- The results for the start and stop command are saved to the **data/local/tmp/smartperf/1/t_index_info.csv** file. You can also run the **hdc file recv** command to export the report. For example, run the **hdc file recv data/local/tmp/smartperf/1/t_index_info.csv D:\** command to export the report to drive D. 612 > 613 614 - Obtain the screen resolution. 615 616 ``` 617 # SP_daemon -screen 618 activeMode: 1260x2720, refreshrate=120 619 command exec finished! 620 # 621 ``` 622 >**NOTE** 623 > 624 >- **activeMode** indicates the current screen resolution, and **refreshrate** indicates the screen refresh rate. 625 > 626 >- This command must be executed separately, and its collection result is not written into the **data.csv** file. 627 628#### Exporting and Viewing Collection Results 629Before exporting and viewing the collection result, you need to run the preceding collection commands. 630 631 - By default, the collection results are saved to **/data/local/tmp/data.csv**. 632 633 - To check the path to the test result file: 634 ``` 635 C:\Users\issusser>hdc shell 636 # cd data/local/tmp 637 # ls 638 data.csv 639 # 640 ``` 641 642 - To export the test result file: 643 ``` 644 C:\Users\issusser>hdc file recv data/local/tmp/data.csv D:\ 645 [I][2023-11-08 16:16:41] HdcFile::TransferSummary success 646 FileTransfer finish, Size:429, File count = 1, time:6ms rate:71.50kB/s 647 648 C:\Users\issusser> 649 ``` 650 651 - Open the **data.csv** file to view data. 652 653 The table below describes the data fields in the **data.csv** file. 654 655 | Data Field | Description |Remarks| 656 | :-----| :--------------------- |:-----| 657 | cpuFrequency | CPU core frequency. |Unit: Hz| 658 | cpuUasge | CPU core usage. |%| 659 | cpuidleUsage | CPU usage in idle state. |%| 660 | cpuioWaitUsage | CPU usage of I/O wait. |%| 661 | cpuirqUsage | CPU usage of hardware interrupts. |%| 662 | cpuniceUsage | CPU usage of user level processes with lower scheduling priority. |%| 663 | cpusoftIrqUsage | CPU usage of software interrupts. |%| 664 | cpusystemUsage | CPU usage in kernel mode. |%| 665 | cpuuserUsage | CPU usage in user mode. |%| 666 | ProcId | PID. | 667 | ProcAppName | App package name. || 668 | ProcCpuLoad | Process CPU load. |%| 669 | ProcCpuUsage | CPU usage of the process. |%| 670 | ProcUCpuUsage | CPU usage of the process in user mode. |%| 671 | ProcSCpuUsage | CPU usage of the process in kernel mode. |%| 672 | gpuFrequ | GPU frequency of the system. |%| 673 | gpuLoad | GPU load of the system. |%| 674 | currentNow | Current value. |Unit: mA| 675 | voltageNow | Voltage value. |Unit: μV| 676 | fps | Number of frames per second. |Unit: FPS| 677 | fpsJitters | Frame interval. |Unit: ns| 678 | refreshrate | Screen refresh rate. |Unit: Hz| 679 | networkDown | Downstream rate. |Unit: byte/s| 680 | networkUp | Uplink rate. |Unit: byte/s| 681 | ddrFrequency | DDR frequency. |Unit: Hz| 682 | shell_front | Front cover temperature. |Unit: °C| 683 | shell_frame | Frame temperature. |Unit: °C| 684 | shell_back | Rear cover temperature. |Unit: °C| 685 | soc_thermal | SoC temperature. |Unit: °C| 686 | system_h | System temperature. |Unit: °C| 687 | Battery | Battery temperature. |Unit: °C| 688 | memAvailable | Available memory of the system. |Unit: KB| 689 | memFree | Free memory of the system. |Unit: KB| 690 | memTotal | Total memory of the system. |Unit: KB| 691 | pss | Proportional set size (PSS) of the process. |Unit: KB| 692 | sharedClean | Shared unwritten pages. |Unit: KB| 693 | sharedDirty | Shared rewritten pages. |Unit: KB| 694 | priviateClean | Private unwritten pages. |Unit: KB| 695 | privateDirty | Private rewritten pages. |Unit: KB| 696 | swapTotal | Total swap memory. |Unit: KB| 697 | swapPss | Swapped PSS. |Unit: KB| 698 | HeapSize | Heap size. |Unit: KB| 699 | HeapAlloc | Heap size that can be allocated. |Unit: KB| 700 | HeapFree | Remaining heap size. |Unit: KB| 701 | gpuPss | Used GPU size. |Unit: KB| 702 | graphicPss | Used graphics memory size. |Unit: KB| 703 | arktsHeapPss | Used ArkTS memory size. |Unit: KB| 704 | nativeHeapPss | Used native memory size. |Unit: KB| 705 | stackPss | Used stack memory size. |Unit: KB| 706 | timeStamp | Timestamp. |Collection time.| 707 <!--RP5--><!--RP5End--> 708