# Qualcomm Profiler CLI features
Source: [https://docs.qualcomm.com/doc/80-54323-3/topic/cli-features.html](https://docs.qualcomm.com/doc/80-54323-3/topic/cli-features.html)
Qualcomm Profiler supports the following commands that can be run on-device or
on-host:
| Command | Description |
| --- | --- |
| `-h ` [ `--help` ] | Displays help message |
| `-v ` [ `--version` ] | Displays version number |
| [--capabilities](https://docs.qualcomm.com/doc/80-54323-3/topic/cli-features.html#cli-features__cli-capabilities) | Gets device capabilities for the specified device ID |
| [--profile](https://docs.qualcomm.com/doc/80-54323-3/topic/cli-features.html#cli-features__cli-profile) | Starts profiling using the specified arguments |
| [--launch-app](https://docs.qualcomm.com/doc/80-54323-3/topic/cli-features.html#cli-features__cli-launch-app) | Launches application with specified arguments |
| [--configure
args](https://docs.qualcomm.com/doc/80-54323-3/topic/cli-features.html#cli-features__cli-configure) | Configures profiler CLI |
| [--generate-config arg](https://docs.qualcomm.com/doc/80-54323-3/topic/cli-features.html#cli-features__cli-generate-configure) | Generates the configuration for profiling capabilities |
| [--get-server-info](https://docs.qualcomm.com/doc/80-54323-3/topic/cli-features.html#cli-features__cli-get-server-info) | Displays profiler CLI configuration |
## --capabilities
This command lists all trace services and available traces per service:
Example output:

## --profile
This command enables streaming profiling data to the client.
| Option | Parameters | Description |
| --- | --- | --- |
| `--device-id` (optional) | Device ID | Device identifier when multiple devices are connected
id = -1,
broadcasts commands to all connected devices
Ignored for
on-target profiling |
| `--profile-type` (required) | async | Async calls involves streaming trace data to the client |
| `--file-format` (optional) | File format for result file | Saves profiling results in a specified format. Currently only
JSON is supported. |
| `--trace-options` | Config JSON file | Configuration to pass to Qualcomm Profiler. Use
`–generate-config` command to generate a
configuration.
Default configuration is used if no configuration
is passed.
If a configuration is passed, the user must
pass the configuration of all capabilities to
enable. |
| `--capabilities-list ` (required if
async) | [List of
capabilities](https://docs.qualcomm.com/doc/80-54323-3/topic/profiling-capabilities.html) (O/P from capabilities command) | List of profilers to enable. Only available in Async mode.
Multiple capabilities can be passed in a single command. |
| `--profile-time` (optional) | <seconds> | Total profiling time. Only available in Async mode. Max value of
120 sec (for on-device client). |
| `--streaming-rate` (optional) | <milliseconds> | Interval between 2 profiling response. Can contain more than 1
profiling sample based on sampling-rate.
Only available in Async
mode.
Default value is 200 millisecond. |
| `--live` (optional) | Live streaming of data | Shows profiling results on stdout. Only available in Async
mode. |
| `--filter ` (optional) | <parameters> | Show filtered data to stdout if live option is given.
All
the traces are collected to a file but only filtered data is shown
in stdout. |
| `--result-format ` (optional) | >verbose
>trace
> csv |
verbose - Produces a more detailed
output.
trace - Trace results provide data in
Perfetto format.
csv - If the resulting format CSV is
passed, results are saved in the CSV file format, and Live
output is disabled for CSV result format. Results are only
saved in CSV format, regardless of file format passed.
|
| `--metric-id-list ` (optional) | List of Metric IDs (in decimal) | List of metrics to enable. Used with
`-capabilities-list` parameter. |
| `--application` | Application to start before profiling | Starts user-specified application before profiling. Only
available for on device profiling. |
| `--application-arguments` | List of arguments to be passed to the application mentioned in
`-application` argument | Starts application with user-defined arguments. Only available
for on-device profiling. |
| `--sampling-rate ` (optional) | <milliseconds> | Interval between 2 profiling samples.
The default value is
equal to the streaming rate
Minimum Value of 10
millisecond |
Example: Async with live output
> qprof --profile --profile-type async --file-format json
--capabilities-list profiler:apps-proc-cpu-metrics profiler:apps-proc-process-metrics
--profile-time 10 --streaming-rate 500 --result-format verbose --liveCopy to clipboard

Example: Async with metrics-id filtering
> qprof --profile --profile-type async --file-format json
--capabilities-list profiler:apps-proc-cpu-metrics --profile-time 10 --streaming-rate 1000
--live --metric-id-list 4616 –result-format verboseCopy to clipboard

## --configure
This command configures the Qualcomm Profiler CLI. To view the existing
configuration, use `--get-server-info`.
| Option | Parameters | Description |
| --- | --- | --- |
| `--server-ip` | Server IP | Device IP on which profiling server is running |
| `--port` (optional) | Server Port | Port on which profiling server is listening.
Port is set to 62472 (by default) |
In this example, `--port` is optional. Only choose another port if you
know it is available.
Example:
> qprof --configure --server-ip 10.92.178.20 --port 62472Copy to clipboard

## --generate-config
This command generates a configuration for a user-specified capability. You can pass
the configuration to the profile command using the `--trace-options`
parameter.
| Option | Parameters | Description |
| --- | --- | --- |
|
`--capabilities-list
`
(Only supported in Windows on Arm) | [List of
capabilities](https://docs.qualcomm.com/doc/80-54323-3/topic/profiling-capabilities.html) (O/P from capabilities command) | List of capabilities to generate configuration for |
Example:
The following example generates the cDSP and aDSP configuration. You can generate
configurations of all the metrics in a single JSON.
> qprof --generate-config --capabilities-list profiler:apps-proc-cpu-metrics
profiler:apps-proc-process-metricsCopy to clipboard

A sample JSON is in C:\Program Files
(x86)\Qualcomm\QualcommProfiler\CLI\documents\sample-commands\config.json
## --launch-app
This command launches the application on the device. It is only available on the
device client.
| Option | Parameters | Description |
| --- | --- | --- |
| `--application` | Application to start before profiling | Starts user specified application before profiling.
Only available for on device profiling |
| `--application-arguments` | List of arguments to be passed to the application mentioned in
–`application` argument | Starts application with user-defined arguments.
Only available for on device profiling |
## --get-server-info
This command gives the Profiler CLI configuration.
Example:
> qprof --get-server-infoCopy to clipboard

Last Published: Mar 13, 2024
[Previous Topic
Getting started](https://docs.qualcomm.com/bundle/publicresource/80-54323-3/topics/getting-started.md) [Next Topic
Sample commands](https://docs.qualcomm.com/bundle/publicresource/80-54323-3/topics/sample-commands.md)