SourcePoint Intel Help

Table of Contents

Timestamp

Overview

Timestamps are used to measure time in a trace buffer.  They are displayed in the Trace view, the Trace Search view, and the Trace Statistics view.  Their use is optional in all cases except for the Calls Chart tab and the Function Profiling tab, which require timestamps in order to measure function execution times.

There are two timestamp display modes, Accumulate and Delta.  In Accumulate mode, time is measured from the zero time point in the trace buffer (by default the trigger location).  In Delta mode, time is measured from the current trace cycle to the previous trace cycle.  The timestamp display mode is set in the Trace Display Settings dialog.

Trace Types

Each trace type has different trace buffer and timestamp capabilities.  Following is a brief description of each:

LBR Trace

LBR trace is instruction trace captured in the Last Branch Record MSRs.  LBR trace has a separate trace buffer for each core.  LBR trace does not have timestamp capability.

BTS Trace

BTS trace is similar to LBR trace, but is stored in system memory rather than MSRs.  BTS trace has a separate trace buffer for each core.  BTS trace timestamp capability is optional.  BTS timestamp is only available with an AET trace patch that enables it.

Timestamp values are based on the processor’s current TSC value (the same value read from the IA32_TIME_STAMP_COUNTER MSR).  These values can be used to time align BTS trace between cores or with AET trace.  Contact Intel for more information about the AET availability.

AET

AET trace records events in the LX-1000 emulator trace buffer or in system memory via the Trace Hub.  This single trace buffer contains Event trace from all cores.  Like BTS trace, AET trace has timestamp values based on the TSC.  

Intel PT

Intel PT records instruction trace in system memory.  It is the replacement for BTS trace.  Intel PT has a trace buffer per core.  Intel PT has two types of timestamp, Cycle Accurate and TSC.  

Cycle Accurate counts processor clocks so that relative time can be measured within a trace buffer.  It does not allow for time alignment with other Trace views.  It is enabled with the Cycle Accurate checkbox in the Intel PT Configuration tab.

TSC timestamp is enabled with the TSC checkbox in the Intel PT Configuration tab.  It consumes slightly more bandwidth (extra timestamp packets are generated), but it allows for time alignment with other Trace views.

The typical uses cases are:

1. Timestamp is not required.  Both checkboxes are unchecked.

2. Timestamp is required.  Both checkboxes are checked.

See Intel_PT Configuration for more information.

Trace Hub

The Trace Hub trace buffer contains SW/FW trace from all cores.  SW/FW trace though the Trace Hub uses its own timestamp counter that is not related to TSC timestamp.  This allows for relative time to be measured within the buffer, but does not allow for time alignment with other Trace sources that use TSC timestamp (e.g., AET and Intel PT).

SW/FW timestamp values can be converted to TSC times by enabling Timestamp Alignment packets.  These are extra packets that contain snapshots of both counters.  These are enabled with the “Alignment packets” checkbox in the Trace Hub Configuration tab.

See Trace_Hub Configuration for more information.

Time Alignment

Each SourcePoint Trace view displays trace from a single trace source.  The choices available are shown at the top of the Trace view context menu.  As mentioned above some trace sources have a trace buffer per core, while others have a single trace buffer for the entire system.  For trace sources with a buffer per core, the core can be selected by selecting Viewpoint in the Trace view context menu.  The current trace source and trace buffer are indicated in the Trace view Title bar.

Once timestamp has been configured correctly, Trace views can be time aligned, so that scrolling in one causes automatic scrolling in another.  

Time alignment is enabled with the “Time Align with Other Views” checkbox in the Trace Display Settings dialog.  A time aligned Trace view has “(time aligned)” added to its Title bar. When you place the caret in a time aligned Trace view, or scroll in that view, all other time aligned views will update to display trace at the same absolute time as the first view.