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