5.6.4 Counter configuration file format

The Fastline counter configuration file is a JSON file that maps MTI trace sources to Streamline counters and defines the counter parameters.

For an example counter configuration file, see $PVLIB_HOME/plugins/config/FastlineTrace/sample_counters.json.

The file contains a list of counter specifications, each of which can contain the following fields:

Table 5-7 Counter configuration file fields

Name Type Description
StartTime uint64_t

The simulated time in nanoseconds at which trace is enabled for this counter.

Optional. The default is zero.

EndTime uint64_t

The simulated time in nanoseconds at which trace is disabled for this counter.

Optional. The default is 0xffffffffffffffff.

Component string

The MTI trace source component. This field can end with a wildcard, to match multiple components. If this field contains an empty string, this is equivalent to specifying a wildcard, "*".


MTISrcName string

The name of the MTI trace source.



To list all the MTI trace sources that are present in the model, run it with the ListTraceSources plug-in.
Condition string

One or more conditions to apply to the fields in the trace source. The counter is only incremented if the condition is met. Each entity in the comparison string must be space-separated, and you can use logical operators to compare them. For example:

"Condition" :  "( FIELD1 == FIELD2 ) || ( ( FIELD3 >= VALUE1 ) && ( FIELD4 != VALUE2 ) )",

Optional. The default is "true".

Title string

The title of the chart under which the counter is displayed in the Timeline view in Streamline.


CounterName string

The counter name. This corresponds to the series name in the Timeline view in Streamline.


Type string

A string that is used by Streamline to uniquely identify the counter. If this field is omitted, Fastline uses the Title + CounterName strings as the Type. You only need to set this field if the Title + CounterName string does not uniquely identify the counter.


Display string

Determines how the event counts that were collected in a given time period are processed and displayed when the user zooms out. The possible values are:


Averages the underlying data. For example, this value might be used for energy probe data.

Maximum or Minimum

Displays the maximum or minimum value of the underlying data, and maintains that value until a new value is received from the target. For example, this value might be used for a memory chart.


Sums all underlying values. For example, this value might be used for branch mispredictons.


Accumulates the data and normalizes it to one second. For example, this value might be used for clock cycles.


Units string

Defines the unit of measurement. For example IPS (instructions per second) for an instruction count. Streamline converts this to MIPS or KIPS, depending on the value of the counter and displays this value.

Optional. The default is "units".

AverageSelection bool

Whether Streamline should display an average of the values for the selected time period.

Optional. The default is true.

PerCpu bool

Whether the counter should be reported per core. For example, in traces that were generated using the example counter configuration file, sample_counters.json, the instruction count can be expanded to show per-core values, while cache events cannot. The PerCpu value controls this behavior.

Optional. The default is false.

MessageInterval uint64_t

Controls the rate at which messages are generated for the counter. For example, if you specify a MessageInterval of 100, Fastline produces 1 message that says the event occurred 100 times, instead of 100 messages that each say it occurred once. Increasing this value helps to reduce the trace file size and improve simulation speed, at the cost of accuracy. If it is not specified, the message is emitted every time the event occurs.

Optional. The default is 1.

Non-ConfidentialPDF file icon PDF version100964_1110_00_en
Copyright © 2014–2020 Arm Limited or its affiliates. All rights reserved.