Filter and Group Command Line Reports

You can manage amplxe-cl reports from command line by using the following options:

Group Report Data

Use the group-by option to group data in your report by some value, such as function. For multiple grouping levels, add arguments separated by commas (no spaces). Grouping columns show up first in the view.

Note

To display a list of available groupings for a particular report, use -help report <report_name> .

Examples:

  • Write stack information for all functions in the threading analysis result r00tr and group data by call stack:

    $ amplxe-cl -report callstacks -r r001tr -group-by callstack

  • Generate a hotspots report grouping data in this order: Process, Process ID, Module, and Function:

    $ amplxe-cl -report hotspots -r r002hs –group-by process,process-id,module,function

Sort Report Data

There are a pair of options that you can use to sort report data: sort-asc and sort-desc. Use the sort-asc action-option to organize a report in ascending order of the specified field(s), or use sort-desc to sort it in descending order. You can specify up to three different fields.

Example:

Generate a report from the Microarchitecture Exploration r001ue result, and sort data in ascending order by the event columns INST_RETIRED.ANY and CPU_CLK_UNHALTED.CORE.

$ amplxe-cl -report hw-events -r r001ue -sort-asc INST_RETIRED.ANY,CPU_CLK_UNHALTED.CORE

Filter Reports by Program Unit

You can narrow down your report to display performance data for a particular program unit by using this option:

filter <program_unit> [= | != ] <name>

where:

  • <program_unit> is one of the following values: basic-block, frame, function, function-sync-obj, module, process, source-file, source-line, sync-obj, task, thread, computing-task, computing-instance

  • <=|!=> are the operators 'equal to' (include) or 'not equal to' (exclude or filter out)

  • <value> is the value to include or exclude

Note

  • To display a list of available filters for a particular report, use -report <report_name> -result <result_dir> -filter=? .
  • To specify multiple filter items, use multiple -filter option attributes. Multiple values for the same column are combined with 'OR'. Values for different columns are combined with 'AND'.

Examples:

  • Display a Hotspots report on the most recent result in the current working directory, but only include data on the sample module:

    > amplxe-cl -report hotspots -filter module=sample

  • Include data from both sample.dll and sample2.dll modules, excluding all other modules:

    > amplxe-cl -report hotspots -filter module=sample.dll -filter module=sample2.dll

  • Display a Hotspots report that includes data for all processes except app:

    > amplxe-cl -report hotspots -filter process!=app

Filter by Call Stack Mode

You can filter the report by call stack display mode to set whether system functions display in the call stack data in your report call-stack-mode

Possible values: all, user-only, user-plus-one.

Example:

Generate a Hotspots report from the most recent compatible result, group the result data by function, and only display user functions and system functions called directly from user functions:

> amplxe-cl -report hotspots -group-by function -call-stack-mode user-plus-one

Filter by Column Name

To display only particular columns providing Reference/event data, use the column option and specify a full name of the required column(s) or its substring.

Note

To display a list of columns available for a particular report, type: amplxe-cl -report <report_name> -r <result_dir> column=?

Examples:

  • Show grouping and data columns only for event columns with the *INST_RETIRED.* string in the title:

    > amplxe-cl -R hw-events -r r000hs --column=INST_RETIRED.

  • Show grouping and data columns only for columns with the Idle and Spin strings in the title:

    > amplxe-cl -R hotspots -r r001hs --column=Idle,Spin

Filter by Time Interval

To view data for a specific time range only, use the time-filter <begin_time>:<end_time> option, where:

  • <begin_time> is the elapsed time in seconds for the start of the included time range. If unspecified, the time range begins at zero.

  • <end_time> is the elapsed time in seconds for the end of the included time range. If unspecified, the time range ends at total elapsed time.

Examples:

  • Generate a Hotspots report from the r001tr result, grouped by the value in the function column. For the time-filter, the start of the range is specified as 1.25, and the end of the range is left unbounded, so the report includes data starting from 1.25 seconds of elapsed time to the time when analysis completes:

    > amplxe-cl -report hotspots -result-dir r001tr -group-by function -time-filter 1.25:

  • Generate a Hotspots report from the r001tr result, grouped by the value in the function column. For the time-filter, the start of the range is not specified, and the end of the range is 5.0, so the report includes data from the start of the analysis data to 5.0 seconds of elapsed time:

    > amplxe-cl -report hotspots -result-dir r001tr -group-by function -time-filter :5.0

  • Generate a report for both start and end values of the range specified, so the report includes data from 1.25 second to 5.0 seconds of elapsed time:

    > amplxe-cl -report hotspots -result-dir r001tr -group-by function -time-filter 1.25:5.0

Related information
group-by action-option
sort-asc action-option
sort-desc action-option
filter action-option
column action-option
For more complete information about compiler optimizations, see our Optimization Notice.
Select sticky button color: 
Orange (only for download buttons)