You copied the Doc URL to your clipboard.

Configuring hardware performance counters

ARM Streamline uses a default best-fit of hardware performance counters to aid in the analysis of your applications, but you can modify them. The gator daemon reads a counters.xml file. Modify this file to change the performance counters.

Although the amount of information provided by hardware performance counters is enormous, they have a low impact on performance. You can use them to track the number of:

  • instructions executed

  • branches that are mis-predicted

  • replay events in the memory system.

Configuring performance counters is not for the novice user. When configuring performance counters, keep in mind the following:

  • Many of the events are architecture specific. Sometimes this information is more relevant to a chip designer.

  • Only a certain number of events can be monitored at a time. For example, the Cortex-A8 processor has over 40 different performance events but only four configurable Performance Monitor Unit (PMU) counters.

  • The high volume of data returned for each given performance counter means you must choose your performance counters carefully. Narrow event sources to the most actionable metrics.

ARM Streamline configures a default set of hardware performance counters that are a best-fit for optimizing applications. Cycles, instructions, and cache statistics guide you to where your applications spend their time.

Creating a counters.xml file

For each analysis run, the gator daemon reads an xml file to configure the hardware performance counters. The counters.xml file is optional. If you create this file, you must put it in the same directory as gatord. If the file does not exist, Streamline uses default performance counters. If they exist, multiple PMU types can be configured by defining them using the type attribute. PMUs per core cannot be configured. All PMU types are configured the same way for all cores.

Use the following attributes in the counter elements in your counters.xml file:


The identifier of the counter resource.


Architecture specific or implementation-specific event number, in decimal, determined from either the architecture specification document or the Technical Reference Manual of the processor.


The title of the chart that Streamline displays. Counters with matching titles stack in the charts.


The name that Streamline displays.


The color that Streamline displays.


Calculations to perform on data. The possible values are:

  • summation (the default)

  • maximum

  • percentage.


Defines whether or not Streamline collects data on a per cpu basis. Set this value to yes and Streamline collects data from each cpu separately for this counter.

Was this page helpful? Yes No