# Performance dashboards for QCS6490

Performance dashboards for boot time, system benchmarks, memory map, and product
        segment key performance indicators (KPIs) are available for the Qualcomm Linux reference
        devices.

## Boot time

Source: [https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html](https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html)

The boot time is the duration from device power-on until the initialization of the
        recorder service.

The following table lists the measured boot time (values in seconds) on QCS6490:

| Use case | Score |
| --- | --- |
| Boot time (log-based) | 6.43 |

Note: A lower value is better.

For measurement procedure, see [Boot time measurement](https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html#_29-boot-time-measurement-procuedure).

## System benchmarks

Source: [https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html](https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html)

Geekbench is a utility for measuring CPU performance. It provides the following CPU
        benchmark scores on QCS6490:

| Benchmark | Version | Benchmark score |
| --- | --- | --- |
| Geekbench ST | 6.1.0 | 1173 |
| Geekbench MT | 6.1.0 | 3053 |

For measurement procedure, see [System benchmark measurement](https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html#_30-system-benchmark-measurement-procedure).

Note: A higher value is
                better.

## Memory map

Source: [https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html](https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html)

The following table lists the memory consumption for each partition, such as
        non-Linux, kernel static, and applications. It also lists the total free memory available to
        the system after device bootup and during the use case such as 4k resolution encoding at
        30 fps.

| Memory partitions | After boot | 4K30 encode | 4K30720p30 encode | 4K30 encode sHDRv2 | 4K30 encode sHDRv3 |
| --- | --- | --- | --- | --- | --- |
| Total RAM | 6144 MB | 6144 MB | 6144 MB | 6144 MB | 6144 MB |
| Non-Linux | 611 MB | 611 MB | 611 MB | 611 MB | 611 MB |
| Kernel static | 151 MB | 151 MB | 151 MB | 151 MB | 151 MB |
| Applications + framework | 490 MB | 1188 MB | 1243 MB | 1434 MB | 1536 MB |
| Total free memory | 4892 MB | 4194 MB | 4139 MB | 3948 MB | 3846 MB |

For measurement procedure, see [Memory map measurement](https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html#_31-memory-map-measurement-procedure).

Note: A higher value is better for
                free memory.

## Use case KPIs

Source: [https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html](https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html)

The following table lists the camera latency measurement data (values in seconds) for
                various QCS6490 camera use cases:

| Use case | Latency definition | Latency |
| --- | --- | --- |
| 4K first snapshot latency | First time after boot, time taken from capturing an image to<br>                                    creating a snapshot | 0.388 |
| 4K subsequent snapshot latency | Time taken from capturing an image to creating a snapshot<br>                                    (and subsequent snapshots) | 0.365 |
| 4K30 encoding first record latency | First time after boot, time taken from GStreamer Connect to<br>                                    the first video‑encoded frame | 3.077 |
| 4K30 encoding subsequent record latency | Time taken from GStreamer Connect to the subsequent<br>                                    video‑encoded frame | 0.303 |
| 4K30 sHDRv2 encoding first record latency | First time after boot, time taken from GStreamer Connect to<br>                                    the first video‑encoded frame for 4K30 sHDRv2 | 3.415 |
| 4K30 sHDRv2 encoding subsequent record latency | Time taken from GStreamer Connect to the subsequent<br>                                    video‑encoded frame for 4K30 sHDRv2 | 0.442 |
| 4K30 sHDRv3 encoding first record latency | First time after boot, time taken from GStreamer Connect to<br>                                    the first video‑encoded frame for 4K30 sHDRv3 | 3.456 |
| 4K30 sHDRv3 encoding subsequent record latency | Time taken from GStreamer Connect to the subsequent<br>                                    video‑encoded frame for 4K30 sHDRv3 | 0.416 |
| 4K30 G2G (Glass to Glass) preview | Time taken from the sensor to output the frame until the<br>                                    frame is previewed on the external display | 0.2 |

Note: A lower value is
                    better.

For measurement procedure, see [Camera recording/snapshot latency measurement](https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html#_32-camera-recording-snapshot-latency).

## Measurement procedures

The measurement procedures include KPIs, such as boot time, system benchmark, record
        latency, and snapshot latency.

### Boot time measurement

Source: [https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html](https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html)

The boot time is the duration from device power-on to the initialization of the
        recorder service.

To measure boot time, do the following:
1. Collect serial logs during the device power-on process, focusing on the boot
                    loader time. To collect the serial logs on a Linux host, do the following:
    1. Connect a serial cable between a device and the Linux host PC.
    2. Connect to the UART terminal to obtain serial logs. To set up the
                                UART terminal, see [Connect to a UART
                                shell](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-254/how_to.html#connect-to-a-uart-shell).
    3. Power off the device.
    4. Power on the device.
    5. Save the serial logs from the terminal.
2. After the device boots up and stabilizes, collect the following logs from the
                    device:

        cat /var/log/syslog > /var/lib/syslog.txt
        systemd-analyze time > /var/lib/systemd-time.txtCopy to clipboard

For more information on the systemd-analyze tool, see [Analysis tools](https://docs.qualcomm.com/doc/80-70015-10/topic/13-performance_tools.html).

The following table describes the boot time (values in seconds) measurement procedure
            with log markers for boot time KPI:

| Boot time stages | Logs | Log markers for start and end point | Calculation | Boot time |
| --- | --- | --- | --- | --- |
| PBL+XBL | Serial logs | UEFI Start | `UEFI Start [1818]` | 1.818 |
| Core UEFI | Serial logs | UEFI Total | `UEFI Total: 1071 milliseconds` | 1.071 |
| Kernel loader | Serial logs | Exit EBS [3469] UEFI End | `Exit EBS – (Core UEFI + PBL+XBL)` | 3.469 - (1.071 + 1.818 ) = 0.580 |
| Kernel total time | systemd-analyze | Kernel time | `Start-up finished in 3.300 seconds (kernel) + 2 min<br>                                        6.300 seconds (user space) = 2 min 9.600 seconds<br>                                        multi-user.target reached after 2 min 6.280 seconds in user<br>                                        space` | 3.300 |
| User space | Syslogs | enforcing=1 old\_enforcing=0 | `1980-01-06T00:00:01.538918+00:00 qcm6490 kernel:<br>                                    [1.854242][T77] audit: type=1404 audit(5.003:2): enforcing=1<br>                                    old_enforcing=0 auid=4294967295 ses=4294967295 enabled=1<br>                                    old-enabled=1 lsm=selinux res=1` | 1.854 |
| Recorder init time | Syslog.txt | Spectra camera driver initialized | `1980-01-06T00:02:00.431978+00:00 qcm6490 kernel:<br>                                        [6.493781][T551] CAM_INFO: CAM-UTIL: camera_init: 297<br>                                        Spectra camera driver initialized.` | 6.494 |
| Total time until recorder init | – | – | `PBL+XBL + Core UEFI + Kernel Loader + Kernel total Time +<br>                                    (recorder init time – user space)` | 11.409 |

### System benchmark measurement

Source: [https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html](https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html)

Geekbench is a tool used to measure system performance against established
        benchmarks.

To measure system performance using Geekbench, do the following:

1. Download Geekbench for the [Linux/ARM](https://cdn.geekbench.com/Geekbench-5.5.1-LinuxARMPreview.tar.gz) architecture from upstream
                        [https://www.geekbench.com/preview/](https://www.geekbench.com/preview/).
Note: The Geekbench 6 for Linux/AArch64 is a preview build. The preview builds
                        require an active Internet connection and automatically upload benchmark
                        results to the Geekbench browser.
2. To measure a CPU benchmark using Geekbench, do the following:

    1. Unzip the Geekbench file and push it into the device from the host, use SCP
                        or a similar tool. Ensure to specify the target IP address in the first
                        command. The following are the example
                        commands:

            scp -r Geekbench-6.3.0-LinuxARMPreview root@10.92.174.66:/var/cache/Copy to clipboard

            cd /var/cacheCopy to clipboard

            chmod 777 Geekbench-6.3.0-LinuxARMPreview/*Copy to clipboard
    2. To run Geekbench, run the following commands on the
                        device:

            cd Geekbench-6.3.0-LinuxARMPreviewCopy to clipboard

            ./geekbench_aarch64Copy to clipboard

### Memory map measurement

Source: [https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html](https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html)

A memory map provides information on how memory is allocated for different processes.
        A memory map measurement allows you to monitor a mapped process and troubleshoot any memory
        issues.

To calculate the memory map, boot the device and stabilize it. Then run the following
            commands to collect logs from the device:

    cat /proc/meminfoCopy to clipboard

    cat /proc/iomemCopy to clipboard

    cat /proc/vmstatCopy to clipboard

### Non-Linux memory

Non-Linux memory is calculated using the following formula:

Non-Linux = Total RAM size − Total Linux

The total RAM size can be calculated from `cat /proc/meminfo | grep -i
                    "MemTotal"`.

MemTotal is 5512456 kB, which corresponds to approximately 6 GB of RAM.

To calculate the total Linux memory from `iomem`, run the following
                command:

    cat /proc/iomem | grep SystemCopy to clipboard

The
                following is an output of the command:

![](data:image/jpeg;base64,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)

The total Linux memory is the sum of the differences in the system RAM addresses.

For example:

839fffff − 83600000 = 4194303 bytes = 3.99 MB

### Kernel static

The kernel static is calculated using the following formula:

Kernel static = Total Linux − MemTotal

MemTotal is available in meminfo.

MemTotal: 4513944 kB

### Application + framework memory calculation

The memory used by the applications and framework is calculated using the following
                formula:

Application + framework = MemTotal − Free memory

### Free memory calculation

Free memory is calculated using the following formula:

Free memory = MemFree + (Cached − shmem) + buffer + ION cache

To obtain the free memory details, run the following command:

    cat /proc/meminfoCopy to clipboard

The following is an output of the command:

![](data:image/jpeg;base64,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)

To check the vmstat logs for ION cache, run the following
                command:

    cat /proc/vmstat
    nr_kernel_misc_reclaimable 16217Copy to clipboard

Here, 16217 pages represent approximately 63.3 MB. The calculation is as follows:

16217 pages × 4 kB/page = 64,868 kB (since 1 kB = 1024 bytes)

To convert to megabytes (MB), the ION cache is calculated as follows:

64,868 kB ÷ 1024 = 63.3 MB.

### Camera recording/snapshot latency measurement

Source: [https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html](https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html)

This topic describes the camera recording/snapshot latency measurement
        procedure.

To perform presetting on every reboot, run the following commands on the
            device:

    mount -t debugfs none /sys/kernel/debugCopy to clipboard

    setprop persist.qmmf.kpi.debug 2Copy to clipboard

### First record latency

To capture the logs, follow these steps:

1. Boot a device and wait for it to stabilize.
2. In one shell, run the following
                        command:

        cat /sys/kernel/debug/tracing/trace_pipe > trace.logCopy to clipboard
3. In another shell, run the use case.
4. Stop the trace log.
5. See the [reference table](https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html#_32-camera-recording-snapshot-latency__table_idg_qqv_s1c_caharris_03-14-24-231-58-990) to measure the record latency.

### Subsequent record latency

1. Boot a device.
2. After the device is stabilized, run the use case.
3. Stop the use case.
4. In one shell, run the following command:

        cat /sys/kernel/debug/tracing/trace_pipe > trace.logCopy to clipboard
5. In another shell, run the use case.
6. Stop the trace log.
7. See the [reference table](https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html#_32-camera-recording-snapshot-latency__table_idg_qqv_s1c_caharris_03-14-24-231-58-990) to measure the record latency.

### First snapshot latency

1. Boot a device.
2. After the device stabilizes, in one shell, run the following command:

        cat /sys/kernel/debug/tracing/trace_pipe > trace.logCopy to clipboard
3. In another shell, run the use case.
4. Stop the trace log.
5. See the [reference table](https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html#_32-camera-recording-snapshot-latency__table_idg_qqv_s1c_caharris_03-14-24-231-58-990) to measure snapshot latency.

### Subsequent snapshot latency

1. Boot a device.
2. After the device stabilizes, run the use case in another shell.
3. Stop the use case.
4. In one shell, run the following
                        command:

        cat /sys/kernel/debug/tracing/trace_pipe > trace.logCopy to clipboard
5. Run the use case.
6. Stop the trace log.
7. See the [reference table](https://docs.qualcomm.com/doc/80-70015-10/topic/46-performance-dashbaord.html#_32-camera-recording-snapshot-latency__table_idg_qqv_s1c_caharris_03-14-24-231-58-990) to measure snapshot latency.

### Glass to glass preview latency

1. Start a camera preview.
2. Start a stopwatch timer on any display and face the camera sensor on timer.
3. Connect the external display.
4. Capture a photo of the external display preview and stopwatch timer window in
                    the same capture using an external camera.
5. Note the time difference of a stopwatch timer and external display preview.

### Reference table for measurement

| Use cases | Log marker | Calculation | Latency |
| --- | --- | --- | --- |
| Record latency | 273.082629: tracing\_mark\_write: B|Connect<br><br><br>                                    <br>273.119992: tracing\_mark\_write: B|StartCamera<br><br><br>                                    <br>276.722548: tracing\_mark\_write: B|CreateSession<br><br><br>                                    <br>276.722946: tracing\_mark\_write: B|CreateVideoTrack<br><br><br>                                    <br>276.731158: tracing\_mark\_write: B|StartSession<br><br><br>                                    <br>277.306283: tracing\_mark\_write: E|FirstVidFrame|1 | Connect to Start Camera = StartCamera − Connect<br><br><br>                                    <br>StartCamera to CreateSession = CreateSession −<br>                                        StartCamera<br><br><br>                                    <br>CreateSession to CreateVideoTrack = CreateVideoTrack −<br>                                        CreateSession<br><br><br>                                    <br>CreateVideoTrack to StartSession = StartSession −<br>                                        CreateVideoTrack<br><br><br>                                    <br>StartSession to FirstVidFrame = FirstVidFrame −<br>                                        StartSession<br><br><br>                                    <br>Rec latency = sum of above all | Connect to Start Camera = 273.120 − 273.083 = 0.037<br><br><br>                                    <br>StartCamera to CreateSession = 276.722 − 273.120 = 3.602<br><br><br>                                    <br>CreateSession to CreateVideoTrack = 276.723 − 276.722 = 0.001<br><br><br>                                    <br>CreateVideoTrack to StartSession =<br>                                        276.731 − 276.723 = 0.008<br><br><br>                                    <br>StartSession to FirstVidFrame = 277.306 − 276.731 = 0.575<br><br><br>                                    <br>Record latency = 4.223 |
| Snapshot latency | 303.975067: tracing\_mark\_write: S|FirstCapImg|0<br><br><br>                                    <br>304.544265: tracing\_mark\_write: S|SnapShot-Shot|0 | Snapshot latency = snapshot − FirstCapimg | Snapshot latency = 304.544 − 303.975 = 569 |

Last Published: Oct 14, 2024

[Previous Topic
Troubleshooting](https://docs.qualcomm.com/bundle/publicresource/80-70015-10/topics/24-debug.md) [Next Topic
Performance dashboards for QCS5430](https://docs.qualcomm.com/bundle/publicresource/80-70015-10/topics/46-performance-dashboard-qcs5430.md)