# DSP performance analysis

Qualcomm Profiler can be used to gather information like the resource usage, load distribution across available hardware threads, and various other profiling metrics useful in measuring performance, debugging performance related issues, and identifying possible optimizations.
Qualcomm Profiler CLI can be used to do DSP performance analysis (see [Command Line Interface (CLI)](https://docs.qualcomm.com/doc/80-54323-2/topic/command-line-interface.html#command-line-interface)). NSP profiling data can be collected in two modes:

## NSP profiling

- Live profiling
- Binary mode: Binary files can be postprocessed in the Qualcomm Profiler UI and users can configure the profiling data mode using the [Generate Config](https://docs.qualcomm.com/doc/80-54323-2/topic/command-line-interface.html#generate-config).

NSP profiling supports the following configuration options.

| Option | Value | Description |
| --- | --- | --- |
| `DCVSOption` | 0 | Disables DCVS for the profiling duration. |
|  | 1 | Enables DCVS for the profiling duration. |
| `LpmlaProfFlag` | 0 | Disable profiling for LPMLA (eNPU) hardware. |
|  | 1 | Enable profiling for LPMLA (eNPU) hardware. |
| `MetricQueryFlag` | 0 | Collects a binary file with raw data in binary format. |
|  | 1 | Collects data in parsed metric format. |
| `debugLevel` | 0 | In Default mode, fixed set of 8 PMU events. |
|  | 1 | In this mode, 4 PMU events are fixed and other 4 PMU are shuffled in round robin fashion from the predefined array. |
|  | 2 | In this mode all 8 PMUs are shuffled in round robin fashion from the predefined array. |
|  | 3 | Configures the PMUs based on user-selected metrics. User can pass list of metric from CLI (–metric-id-list). |
|  | 4 | Configures the PMU based on the user-provided PMU event list. The user can pass a list of PMU from CLI (–pmu-event-list) or GUI. PMU can be passed in both decimal and hex format. |
| `Version` | 0 | Version control for interface and compatibility check. |
| `QueryTimeMs` | 0-200 | Time in milliseconds to aggregate metrics over given query time. |
| `FastrpcTimeline` | 0 | Disables FastRPC metrics. |
|  | 1 | Enables the option to collect the time spent by the FastRPC interface. Only supported on Linux Android. |
| `ProfilingType` | 0 | Collects default profiling data. |
|  | 1 | Collects thread-level profiling data. |
|  | 2 | Collects both default and thread-level profiling data. |
| `EnableRootPD` | 0 | Disables root PD in TLP profiling. |
|  | 1 | Enables rootPD in TLP profiling. |
| `Qtimer` | True | Enable Qtimer timestamp. |

TLP profiling is only supported in Binary mode. To enable TLP profiling, set `MetricQueryFlag` to 0 and `ProfilingType` to either 1 or 2.

Fast RPC profiling is only supported in Binary mode. To enable Fast RPC profiling, set `MetricQueryFlag` to 0 and `FastrpcTimeline` to 1.

## NSP stats

To get the DSP stats information, use the stats capabilities, for example, `profiler:nsp-dsp-stats`, `profiler:nsp1-dsp-stats`, `profiler:adsp-dsp-stats`
.
All stats services can be run together or independently. To update the configuration:

1. Generate a JSON configuration file using the [Generate Config](https://docs.qualcomm.com/doc/80-54323-2/topic/command-line-interface.html#generate-config) option.
2. Update and save the generated JSON file.
3. Pass the updated JSON file to the profiler using the [Trace Options](https://docs.qualcomm.com/doc/80-54323-2/topic/command-line-interface.html#trace-options) option.

The following table lists the metric IDs for stats services.

| StatsServices index | Services | Supported Hexagon version | Metric-ids |
| --- | --- | --- | --- |
| 0 | `GetStateInfoService` | v68 and later | 5888 - 5895 |
| 1 | `GetInfoService` | v68 and later | 5896 - 5903 |
| 2 | `GetProcessInfoService` | v68 and later | 5904, 5911 |
| 3 | `GetThreadInfoService` | v68 and later | 5905 - 5907,5910 |
| 4 | `GetPowerStateInfoService` | v68 and later | 5909 |
| 5 | `GetIslandMemoryInfoService` | v79 and later | 5912 |

### GetStateInfoService

Provides the current Q6 clock voting information and heap statistics for each static protection domain. To use this service, update the configuration as follows.

| param\_index | Name | Value |
| --- | --- | --- |
| 0 | StatsServices | 0 |

### GetInfoService

Provides hardware information, like max threads, chip information, and clocking information. To use this service, update the configuration as follows.

| param\_index | name | value |
| --- | --- | --- |
| 0 | StatsServices | 1 |

### GetProcessInfoService

Provides statistics for all active PDs on the DSP.

To use this service, update the configuration as follows.

| param\_index | name | value |
| --- | --- | --- |
| 0 | StatsServices | 2 |

### GetThreadInfoService

Provides the software threads created, their priorities, the declared stack size, and the maximum stack size used at that instance for all PDs.

To use this service, update the configuration as follows.

| param\_index | name | value |
| --- | --- | --- |
| 0 | StatsServices | 3 |

### GetPowerStateInfoService

Provides active time information for every core clock level of DSP from device boot up, Low Power Island mode, and Power Collapse mode time information.

This feature is supported on ADSP, NSP, and SDSP.

This feature also supports a reset option to clear the collected stats and start logging again. To use this service, update the configuration as follows.

| param\_index | name | value |
| --- | --- | --- |
| 0 | StatsServices | 4 |

### GetIslandMemoryService

This service provides island free memory information for every Island pool available. This feature is supported on ADSP, NSP, and CDSP1.

This feature supports an Islandspec option:

- 1: Enable all pools
- 2: Enable TCM pool only

To use this service, update the configuration as follows.

| param\_index | name | value |
| --- | --- | --- |
| 0 | StatsServices | 5 |

### All statistics services

To run all statistics services, update the configuration as follows.

| param\_index | name | value |
| --- | --- | --- |
| 0 | StatsServices | 0, 1, 2, 3, 4, 5 |

## Sysmon migration

SysmonApp is an older application which interacts with DSP subsystem via FastRPC and provides various users functionalities such as profiling, set/remove bus clock, get software thread info, and other functionalities.

All the features of SysmonApp are supported in Qualcomm Profiler along with other system capabilities and functionalities.

The following table shows feature parity.

| Feature | SysmonApp | Qualcomm profiler |
| --- | --- | --- |
| profiler | Y | Y |
| TLP profiling | Y | Y |
| getLoad | Y | Y (Live metrics) |
| getState | Y | Y |
| getInfo | Y | Y |
| pInfo | Y | Y |
| tInfo | Y | Y |
| getPowerStats | Y | Y |
| clocks | Y | Y (profilerUtilityApp) |
| benchmark | Y | Y (profilerUtilityApp) |
| etmTrace | Y | Y (profilerUtilityApp) |
| DCVS | Y | Y (profilerUtilityApp) |
| bin parser | Y | Y (qpbin\_parser) |
| Multiple DSP profiling | N | Y |
| Multiple capabilities profiling | N | Y |
| System capabilities (CPU, GPU, thermal, power profiling) | N | Y |
| On-Host CLI profiling | N | Y |
| API support | N | Y |
| On-Host GUI application with charts, graph | N | Y |
| Roofline analysis | N | Y |
| NSP Stats profiling with Default profiling | N | Y |
| Live metric support | N | Y |
| Perfetto trace format support | N | Y(Not supported for stats) |

### Qualcomm Profiler equivalent commands

| Feature | Subsystem | SysMonApp command | Qualcomm Profiler commands |
| --- | --- | --- | --- |
| Profiling | NSP | `sysMonApp profiler  --q6 cdsp --duration 10` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">push</span> <span class="pre">C:\ProgramData\Qualcomm\QualcommProfiler\config\common-config_nsp_debug_level_0_dcvs_1_fastrpctimeline_1.json/data/</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:nsp-dsp-metrics</span> <span class="pre">--profile-time</span> <span class="pre">10</span> <span class="pre">--trace-options/data/common-config_nsp_debug_level_0_dcvs_1_fastrpctimeline_1.json</span></code></p></li><br></ul> |
|  |  | `sysMonApp profiler  --q6 cdsp --duration 10 --defaultSetEnable  0` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">push</span> <span class="pre">C:\ProgramData\Qualcomm\QualcommProfiler\config\common-config_nsp_debug_level_1_dcvs_1_fastrpctimeline_1.json/data</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:nsp-dsp-metrics</span> <span class="pre">--profile-time</span> <span class="pre">10</span> <span class="pre">--trace-options/data/common-config_nsp_debug_level_1_dcvs_1_fastrpctimeline_1.json</span></code></p></li><br></ul> |
|  |  | `sysMonApp profiler  --q6 cdsp --duration 10 --defaultSetEnable  0 --samplingPeriod 10` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">push</span> <span class="pre">C:\ProgramData\Qualcomm\QualcommProfiler\config\common-config_nsp_debug_level_1_dcvs_0_fastrpctimeline_1.json/data</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:nsp-dsp-metrics</span> <span class="pre">--profile-time</span> <span class="pre">10</span> <span class="pre">--trace-options/data/common-config_nsp_debug_level_1_dcvs_0_fastrpctimeline_1.json</span> <span class="pre">--sampling-rate</span> <span class="pre">10</span></code></p></li><br></ul> |
| tlp |  | `sysMonApp tlp --q6 cdsp --samplingPeriod 1` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">push</span> <span class="pre">C:\ProgramData\Qualcomm\QualcommProfiler\config\common-config_nsp_tlp.json/data</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:nsp-dsp-metrics</span> <span class="pre">--profile-time</span> <span class="pre">10</span> <span class="pre">--trace-options/data/common-config_nsp_tlp.json</span> <span class="pre">--sampling-rate</span> <span class="pre">10</span></code></p></li><br></ul> |
| Prof+tlp |  | `sysMonApp tlp --q6 cdsp --profile 1` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">push</span> <span class="pre">C:\ProgramData\Qualcomm\QualcommProfiler\config\common-config_nsp_prof_and_tlp.json/data</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:nsp-dsp-metrics</span> <span class="pre">--profile-time</span> <span class="pre">10</span> <span class="pre">--sampling-rate</span> <span class="pre">10</span> <span class="pre">--trace-options/data/common-config_nsp_prof_and_tlp.json</span></code></p></li><br></ul> |
| Getload (live data) |  | `sysMonApp getload --q6 cdsp` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:nsp-dsp-metrics</span> <span class="pre">--profile-time</span> <span class="pre">10</span> <span class="pre">--sampling-rate</span> <span class="pre">10</span> <span class="pre">--live</span></code></p></li><br><li><p>Get stats data: <code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:nsp-dsp-stats</span> <span class="pre">--profile-time</span> <span class="pre">1</span> <span class="pre">--sampling-rate</span> <span class="pre">10</span> <span class="pre">--live</span></code></p></li><br></ul> |
| dcvs disable |  | `sysMonApp dcvs --q6 cdsp disable` | `profilerUtilityApp --dsp --dcvs disable --q6 nsp0` |
| dcvs enable |  | `sysMonApp dcvs --q6 cdsp enable` | `profilerUtilityApp --dsp --dcvs enable --q6 nsp0` |
| Parsing bin file |  | <ul><br><li><p>Parsing profile bin file:</p><br><blockquote><br><div><ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">pull</span> <span class="pre">&lt;bin&gt;</span> <span class="pre">&lt;on_host_path&gt;</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">sysmon_parser.exe</span> <span class="pre">&lt;input_file&gt;</span> <span class="pre">—outdir</span> <span class="pre">&lt;folder_name&gt;</span></code></p></li><br></ul><br></div></blockquote><br></li><br><li><p>Parsing tlp bin file:</p><br><blockquote><br><div><ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">pull</span> <span class="pre">&lt;bin&gt;</span> <span class="pre">&lt;on_host_path&gt;</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">sysmon_parser.exe</span> <span class="pre">--tlp</span></code></p></li><br></ul><br></div></blockquote><br></li><br></ul> | <ul><br><li><p>Parsing profile bin file:</p><br><blockquote><br><div><ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">pull</span> <span class="pre">&lt;bin&gt;</span> <span class="pre">&lt;on_host_path&gt;</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">C:\Program</span> <span class="pre">Files</span> <span class="pre">(x86)\Qualcomm\Shared\QualcommProfiler\API\host-windows-64\bin\qpbin_parser.exe&quot;</span> <span class="pre">&lt;input_file&gt;</span> <span class="pre">--outdir</span> <span class="pre">&lt;output_folder&gt;</span></code></p></li><br></ul><br></div></blockquote><br></li><br><li><p>Parsing TLP bin file:</p><br><blockquote><br><div><ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">pull</span> <span class="pre">&lt;bin&gt;</span> <span class="pre">&lt;on_host_path&gt;</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">C:\Program</span> <span class="pre">Files</span> <span class="pre">(x86)\Qualcomm\Shared\QualcommProfiler\API\host-windows-64\bin\qpbin_parser.exe&quot;</span> <span class="pre">--tlp</span> <span class="pre">&lt;input_file&gt;</span> <span class="pre">--outdir</span> <span class="pre">&lt;output_folder&gt;</span></code></p></li><br></ul><br></div></blockquote><br></li><br></ul> |
| getState |  | `sysMonApp getstate --q6 cdsp` | `qprof --profile --capabilities-list profiler:nsp-dsp-stats --live --profile-time 1` |
|  |  | `sysMonApp getstate --getvotes 1 --q6 cdsp` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">push</span> <span class="pre">common-config_nsp-dsp-stats-dcvs-vote-1.json/data</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:nsp-dsp-stats</span> <span class="pre">--live</span> <span class="pre">--profile-time</span> <span class="pre">1</span> <span class="pre">--trace-options/data/common-config_nsp-dsp-stats-dcvs-vote-1.json</span></code></p></li><br></ul> |
| getinfo |  | `sysMonApp getinfo --q6 cdsp` | `qprof --profile --capabilities-list profiler:nsp-dsp-stats --live --profile-time 1` |
| pinfo |  | `sysMonApp pinfo --q6 cdsp` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">push</span> <span class="pre">common-config_nsp-dsp-stats-pinfo.json/data</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:nsp-dsp-stats</span> <span class="pre">--live</span> <span class="pre">--profile-time</span> <span class="pre">1</span> <span class="pre">--trace-options/data/common-config_nsp-dsp-stats-pinfo.json</span></code></p></li><br></ul> |
| tinfo |  | `sysMonApp tinfo --q6 cdsp`` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">push</span> <span class="pre">common-config_nsp-dsp-stats-tinfo.json/data</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:nsp-dsp-stats</span> <span class="pre">--live</span> <span class="pre">--profile-time</span> <span class="pre">1</span> <span class="pre">--trace-options/data/common-config_nsp-dsp-stats-tinfo.json</span></code></p></li><br></ul> |
| getPowerStats |  | `sysMonApp getPowerStats --q6 cdsp` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">push</span> <span class="pre">common-config_nsp-dsp-stats-getPowerStats.json/data</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:nsp-dsp-stats</span> <span class="pre">--live</span> <span class="pre">--profile-time</span> <span class="pre">1</span> <span class="pre">--trace-options/data/common-config_nsp-dsp-stats-getPowerStats.json</span></code></p></li><br></ul> |
| Clock set |  | `sysMonApp clocks set --coreClock 1000 --busClock 1000 --ahbClock 1000 --q6 cdsp` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">profilerUtilityApp</span> <span class="pre">--dsp</span> <span class="pre">--clocks</span> <span class="pre">set</span> <span class="pre">--coreClock</span> <span class="pre">1000</span> <span class="pre">--busClock</span> <span class="pre">1000</span> <span class="pre">--ahbClock</span> <span class="pre">1000</span> <span class="pre">--q6</span> <span class="pre">nsp0</span></code></p></li><br><li><p>To view set clock: <code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:nsp-dsp-stats</span> <span class="pre">--live</span> <span class="pre">--profile-time</span> <span class="pre">1</span></code></p></li><br></ul> |
| Clock remove |  | `sysMonApp clocks remove --q6 cdsp` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">profilerUtilityApp</span> <span class="pre">--dsp</span> <span class="pre">--clocks</span> <span class="pre">remove</span> <span class="pre">--q6</span> <span class="pre">nsp0</span></code></p></li><br><li><p>To view clock:  <code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:nsp-dsp-stats</span> <span class="pre">--live</span> <span class="pre">--profile-time</span> <span class="pre">1</span></code></p></li><br></ul> |
| Clock limit |  | `sysMonApp clocks limit --coreClock 400 --q6 cdsp` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">profilerUtilityApp</span> <span class="pre">--dsp</span> <span class="pre">--clocks</span> <span class="pre">limit</span> <span class="pre">--coreClock</span> <span class="pre">400</span> <span class="pre">--q6</span> <span class="pre">nsp0</span></code></p></li><br><li><p>To view clock value: <code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:nsp-dsp-stats</span> <span class="pre">--live</span> <span class="pre">--profile-time</span> <span class="pre">1</span></code></p></li><br></ul> |
| benchmark |  | `sysMonApp benchmark -f conv3x3 --q6 cdsp` | `profilerUtilityApp --dsp --benchmark -f conv3x3 --q6 nsp0` |
| Scalar benchmark |  | `sysMonApp scalar_benchmark -f dhrystone --q6 cdsp` | `profilerUtilityApp --dsp --scalar_benchmark -f dhrystone --q6 nsp0` |
| profiling | ADSP | `sysMonApp profiler  --q6 adsp --duration 10` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">push</span> <span class="pre">C:\ProgramData\Qualcomm\QualcommProfiler\config\common-config_adsp_debug_level_0_dcvs_1_fastrpctimeline_1.json/data/</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:adsp-dsp-metrics</span> <span class="pre">--profile-time</span> <span class="pre">10</span> <span class="pre">--trace-options/data/common-config_adsp_debug_level_0_dcvs_1_fastrpctimeline_1.json</span></code></p></li><br></ul> |
|  |  | `sysMonApp profiler  --q6 adsp --duration 10 --defaultSetEnable  0` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">push</span> <span class="pre">C:\ProgramData\Qualcomm\QualcommProfiler\config\common-config_adsp_debug_level_1_dcvs_1_fastrpctimeline_1.json/data</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:adsp-dsp-metrics</span> <span class="pre">--profile-time</span> <span class="pre">10</span> <span class="pre">--trace-options</span> <span class="pre">/data/common-config_adsp_debug_level_1_dcvs_1_fastrpctimeline_1.json</span></code></p></li><br></ul> |
|  |  | `sysMonApp profiler  --q6 adsp --duration 10 --defaultSetEnable  0 --samplingPeriod 10` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">push</span> <span class="pre">C:\ProgramData\Qualcomm\QualcommProfiler\config\common-config_adsp_debug_level_1_dcvs_0_fastrpctimeline_1.json/data</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:adsp-dsp-metrics</span> <span class="pre">--profile-time</span> <span class="pre">10</span> <span class="pre">--trace-options/data/common-config_adsp_debug_level_1_dcvs_0_fastrpctimeline_1.json</span> <span class="pre">--sampling-rate</span> <span class="pre">10</span></code></p></li><br></ul> |
| tlp |  | `sysMonApp tlp --q6 adsp --samplingPeriod 1` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">push</span> <span class="pre">C:\ProgramData\Qualcomm\QualcommProfiler\config\common-config_adsp_tlp.json/data</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:adsp-dsp-metrics</span> <span class="pre">--profile-time</span> <span class="pre">10</span> <span class="pre">--trace-options/data/common-config_adsp_tlp.json</span> <span class="pre">--sampling-rate</span> <span class="pre">10</span></code></p></li><br></ul> |
| Prof+tlp(dcvc 0) |  | `sysMonApp tlp --q6 adsp --profile 1` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">push</span> <span class="pre">C:\ProgramData\Qualcomm\QualcommProfiler\config\common-config_adsp_prof_and_tlp.json/data</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:adsp-dsp-metrics</span> <span class="pre">--profile-time</span> <span class="pre">10</span> <span class="pre">--sampling-rate</span> <span class="pre">10</span> <span class="pre">--trace-options/data/common-config_adsp_prof_and_tlp.json</span></code></p></li><br></ul> |
| prof+tlp(dcvs1) |  | `sysMonApp tlp --q6 adsp --profile 1 --dcvsOption 1` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">push</span> <span class="pre">C:\ProgramData\Qualcomm\QualcommProfiler\config\common-config_adsp_prof_and_tlp_dcvs_1.json/data</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:adsp-dsp-metrics</span> <span class="pre">--profile-time</span> <span class="pre">10</span> <span class="pre">--sampling-rate</span> <span class="pre">10</span> <span class="pre">--trace-options</span> <span class="pre">/data/common-config_adsp_prof_and_tlp_dcvs_1.json</span></code></p></li><br></ul> |
| dcvs disable |  | `sysMonApp dcvs --q6 adsp disable` | `profilerUtilityApp --dsp --dcvs disable --q6 adsp` |
| dcvs enable |  | `sysMonApp dcvs --q6 adsp enable` | `profilerUtilityApp --dsp --dcvs enable --q6 adsp` |
| Parsing bin file |  | <ul><br><li><p>Parsing profile bin file:</p><br><blockquote><br><div><ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">pull</span> <span class="pre">&lt;bin&gt;</span> <span class="pre">&lt;on_host_path&gt;</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">sysmon_parser.exe</span> <span class="pre">&lt;input_file&gt;</span> <span class="pre">—outdir</span> <span class="pre">&lt;folder_name&gt;</span></code></p></li><br></ul><br></div></blockquote><br></li><br><li><p>Parsing tlp bin file:</p><br><blockquote><br><div><ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">pull</span> <span class="pre">&lt;bin&gt;</span> <span class="pre">&lt;on_host_path&gt;</span></code></p></li><br><li><p>sysmon_parser.exe –tlp</p></li><br></ul><br></div></blockquote><br></li><br></ul> | <ul><br><li><p>Parsing profile bin file:</p><br><blockquote><br><div><ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">pull</span> <span class="pre">&lt;bin&gt;</span> <span class="pre">&lt;on_host_path&gt;</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">C:\Program</span> <span class="pre">Files</span> <span class="pre">(x86)\Qualcomm\Shared\QualcommProfiler\API\host-windows-64\bin\qpbin_parser.exe&quot;</span> <span class="pre">&lt;input_file&gt;</span> <span class="pre">--outdir</span> <span class="pre">&lt;output_folder&gt;</span></code></p></li><br></ul><br></div></blockquote><br></li><br><li><p>Parsing TLP bin file:</p><br><blockquote><br><div><ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">pull</span> <span class="pre">&lt;bin&gt;</span> <span class="pre">&lt;on_host_path&gt;</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">C:\Program</span> <span class="pre">Files</span> <span class="pre">(x86)\Qualcomm\Shared\QualcommProfiler\API\host-windows-64\bin\qpbin_parser.exe&quot;</span> <span class="pre">--tlp</span> <span class="pre">&lt;input_file&gt;</span> <span class="pre">--outdir</span> <span class="pre">&lt;output_folder&gt;</span></code></p></li><br></ul><br></div></blockquote><br></li><br></ul> |
| getState |  | `sysMonApp getstate --q6 adsp` | `qprof --profile --capabilities-list profiler:adsp-dsp-stats --live --profile-time 1` |
|  |  | `sysMonApp getstate --getvotes 1 --q6 adsp` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">push</span> <span class="pre">common-config_adsp-dsp-stats-dcvs-vote-1.json/data</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:adsp-dsp-stats</span> <span class="pre">--live</span> <span class="pre">--profile-time</span> <span class="pre">1</span> <span class="pre">--trace-options/data/common-config_nsp-dsp-stats-dcvs-vote-1.json</span></code></p></li><br></ul> |
| getinfo |  | `sysMonApp getinfo --q6 adsp` | `qprof --profile --capabilities-list profiler:adsp-dsp-stats --live --profile-time 1` |
| pinfo |  | `sysMonApp pinfo --q6 adsp` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">push</span> <span class="pre">common-config_adsp-dsp-stats-pinfo.json/data</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:adsp-dsp-stats</span> <span class="pre">--live</span> <span class="pre">--profile-time</span> <span class="pre">1</span> <span class="pre">--trace-options/data/common-config_adsp-dsp-stats-pinfo.json</span></code></p></li><br></ul> |
| tinfo |  | `sysMonApp tinfo --q6 adsp` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">push</span> <span class="pre">common-config_adsp-dsp-stats-tinfo.json/data</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:adsp-dsp-stats</span> <span class="pre">--live</span> <span class="pre">--profile-time</span> <span class="pre">1</span> <span class="pre">--trace-options/data/common-config_adsp-dsp-stats-tinfo.json</span></code></p></li><br></ul> |
|  |  | `sysMonApp tinfo --getstack audio --q6 ADSP` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">push</span> <span class="pre">common-config-adsp-dsp-stats-tinfo.json/data</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:adsp-dsp-stats</span> <span class="pre">--live</span> <span class="pre">--profile-time</span> <span class="pre">1</span> <span class="pre">--trace-options/data/common-config-adsp-dsp-stats-tinfo.json</span></code></p></li><br></ul> |
| getPowerStats |  | `sysMonApp getPowerStats --q6 adsp` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">adb</span> <span class="pre">push</span> <span class="pre">common-config_adsp-dsp-stats-getPowerStats.json/data</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:adsp-dsp-stats</span> <span class="pre">--live</span> <span class="pre">--profile-time</span> <span class="pre">1</span> <span class="pre">--trace-options/data/common-config_adsp-dsp-stats-getPowerStats.json</span></code></p></li><br></ul> |
| Clock set |  | `sysMonApp clocks set --coreClock 1000 --busClock 1000 --ahbClock 1000 --q6 adsp` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">profilerUtilityApp</span> <span class="pre">--dsp</span> <span class="pre">--clocks</span> <span class="pre">set</span> <span class="pre">--coreClock</span> <span class="pre">1000</span> <span class="pre">--busClock</span> <span class="pre">1000</span> <span class="pre">--ahbClock</span> <span class="pre">1000</span> <span class="pre">--q6</span> <span class="pre">adsp</span></code></p></li><br><li><p>To view set clock: <code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:adsp-dsp-stats</span> <span class="pre">--live</span> <span class="pre">--profile-time</span> <span class="pre">1</span></code></p></li><br></ul> |
| Clock remove |  | `sysMonApp clocks remove --q6 adsp` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">profilerUtilityApp</span> <span class="pre">--dsp</span> <span class="pre">--clocks</span> <span class="pre">remove</span> <span class="pre">--q6</span> <span class="pre">adsp</span></code></p></li><br><li><p>To view clock: <code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:adsp-dsp-stats</span> <span class="pre">--live</span> <span class="pre">--profile-time</span> <span class="pre">1</span></code></p></li><br></ul> |
| Clock limit |  | `sysMonApp clocks limit --coreClock 400 --q6 adsp` | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">profilerUtilityApp</span> <span class="pre">--dsp</span> <span class="pre">--clocks</span> <span class="pre">limit</span> <span class="pre">--coreClock</span> <span class="pre">400</span> <span class="pre">--q6</span> <span class="pre">adsp</span></code></p></li><br><li><p>To view clock value: <code class="docutils literal notranslate"><span class="pre">qprof</span> <span class="pre">--profile</span> <span class="pre">--capabilities-list</span> <span class="pre">profiler:adsp-dsp-stats</span> <span class="pre">--live</span> <span class="pre">--profile-time</span> <span class="pre">1</span></code></p></li><br></ul> |
| benchmark |  | `sysMonApp benchmark -f conv3x3 --q6 adsp` | `profilerUtilityApp --dsp --benchmark -f conv3x3 --q6 adsp` |
| Scalar benchmark |  | `sysMonApp scalar_benchmark -f dhrystone --q6 adsp` | `profilerUtilityApp --dsp --scalar_benchmark -f dhrystone --q6 adsp` |

Last Published: Aug 25, 2025

[Previous Topic
APIs](https://docs.qualcomm.com/bundle/publicresource/80-54323-2/topics/apis.md) [Next Topic
Profiler utility app](https://docs.qualcomm.com/bundle/publicresource/80-54323-2/topics/profiler-utility-app.md)