www.percepio.com

Main Window

Trace View

This is the main view of Tracealyzer, showing all recorded events on a vertical timeline going downwards. The main component of this view is scheduling trace, showing fragments of actors displayed as color-coded rectangles. By actor we mean a thread of execution - a task or interrupt.

To the far left are labels showing actor names. When zooming out, the name labels are filtered so that only the most important ones are shown. Repeated labels of the same actor are then hidden, in favor of labels for less frequent actors. However, there are always at least one label per visible actor, and you can click in the trace to show the corresponding actor name label.

View Modes

The execution of tasks and interrupts can be visualized using different visualization modes, which you quickly can switch between to get best clarity for each situation.

On single-core systems, the available view modes are:

Gantt View Mode: Shows one column per task and interrupt. This is best for spotting execution patterns, rare tasks or interrupts. This is the default visualization mode for smaller single-core systems with up to 20 tasks. (Shortcut Key "g")
Merged View Mode: Shows all tasks and interrupts in a single column, with sideway indents to show preemption and blocking. This gives a more compact display compared to Gantt View Mode and the best sense of execution order and preemptions hotspots. This is the default visualization mode for single-core systems with more than 20 tasks. (Shortcut Key "m")
Split View Mode: Shows tasks and interrupts in two columns, with indents like in the Merged View Mode. This removes the "noise" from interrupts by presenting them separately. (Shortcut Key "s")

On multi-core (SMP) systems, the available view modes are:

Gantt View Mode: Shows one column per task and interrupt, all CPU cores together. This is best for spotting execution patterns, rare tasks or interrupts. (Shortcut Key "g")
Gantt/CPU View Mode: Shows one column per task and interrupt, separated in groups per CPU. This view mode is best for studing task migration between CPU cores. (Shortcut Key "c")
Merged View Mode: Shows all tasks and interrupts in a single column per core, with sideway indents to show preemption and blocking. This gives the best sense of execution order. This is the default visualization mode for multi-core/SMP systems. (Shortcut Key "m")
Flat View Mode: Shows tasks and interrupts in a single column per core, with no indents. This is useful for systems with many CPU cores, to get a more compact display. (Shortcut Key "f")

Events

The main view also show event labels of different types, kernel notices, kernel service calls and user events, if enabled in the visibility filter in the lower right. The events are shown as color coded labels to the right of the fragment in which they occur. Events can be selected by mouse clicks, which highlights the selected event using a blue glow. Double clicking an event will bring up the Kernel Object History or the User Event Log (depending on event type) and there highlight the clicked event.

Note
When there are too many events in the current view to fit on the screen, they'll be hidden and replaced by X events not shown. If this happens, zoom in or use the visibility filter to reduce the number of events. The events of the selected actor instance are however always displayed.

Events are shown in different colors depending on type and status:

  • Red labels - blocking system calls.
  • Green labels - the return of blocking system calls.
  • Orange labels - a failure of a system call, typically a timeout.
  • White labels - system calls that completed without blocking.
  • Yellow labels - user events.
  • Blue labels - kernel notices (e.g., Actor Ready).
When selecting an event of a call that blocks, the corresponding event where that call returns or times out is also highlighted. You may jump to that event by pressing F8 or by using the context menu.

Zoom and navigation features

To navigate the trace, you can use the mouse wheel or the scroll bar (in the right). You can also drag the view by holding down the mouse wheel or middle mouse button. The arrow buttons and page up/down buttons can also be used when the trace view area has focus.

You can select an interval by holding in the left mouse button. By right-clicking on the selection, you open a context menu with various options for the selection interval, such as Zoom In. You can also measure the time between two event labels by selecting an event and then holding the SHIFT key while selecting another event.

Note
When searching for a particular location, it's often easier to use the Finder or one of the graphical overviews to find it. When using another view to navigate the trace, you can click or double click to focus the trace view on this location. All graphical views also support selecting a time interval (by pressing the left mouse button and dragging) and showing this interval in the trace view.

To zoom in or out, use the zoom buttons on the tool panel, the numpad + and - buttons or the zoom options in the right-click menu. You can also zoom with your mouse wheel when holding down the Ctrl key. The scroll-to-zoom behavior is always active when Scroll Lock is enabled. If your mouse features back and forward buttons, you can use these to quickly zoom in and out.

Tool Panel

To the right of the trace view is the tool panel. At the top is the Actor Information display, which shows information about the selected actor and the currently selected actor instance, such as timing, fragmentation and any events that occur. Property values for the selected instance are displayed as well as actor average, maximum and minimum. Double-clicking on maximum or minimum values shows the corresponding instance in the trace.

Below the Actor Information display are buttons to navigate to the previous and next instance of the same actor.

Next follows the view settings. You can set the view size (zoom level) by typing the desired view size into the view size text box and pressing enter. Under the view size setting are the grid settings. The grid is the white and gray stripes in the trace view, which shows the time scale.

Below the view settings are buttons to zoom in and out.

At the bottom of the tool panel is the visibility filter box which controls what is displayed in the trace view. By default, all actors are visible but no events. Unchecking an actor will not hide it completely, but cause it's fragments to be drawn as outlined gray rectangles. Any events in unchecked actors will be hidden.

To display kernel service events, select one or more kernel services or kernel objects you are interested in. If you select both kernel objects and kernel services, the included events must match both a selected kernel service and a selected kernel object.

Advanced features

Tracealyzer can identify activation causes for actor instances. For example, an instance might be activated when another actor sends to a queue or signals a semaphore. To go to the activation cause of the selected actor instance, press F9.

Tracealyzer can also identify instances triggered by the selected instance, either from the Actor Information display ("Triggers") or by pressing F10. In using F10 and there are multiple instances activated by the selected instance, you get a menu where you can select which activated actor you wish to follow.

For kernel service calls, you can go to the sending or receiving event with F11. For a semaphore, pressing F11 on a "SemaphoreTake" call would take you to the corresponding SemaphoreGive call. For a queue send, F11 will take you to the event where the particular data is received.

For blocking kernel call events, using F12 you can show the reason for the triggering/released blocking, if this is due to a system call. This is also available in the Actor Information display ("Triggered By"). This gives in many cases the same result as when using F11, but not always. For example, if a queue send blocks due to a full queue, F12 shows the most recent receive event since that allows the send operation to complete, while F11 shows the location where the received message was sent.

Menu options

File

The File menu features standard options such as open trace, reload current trace and recently opened trace files. It also includes Export Current View as Image, Export Actor Data and External Tools.

Export Current View as Image allows you to export the current trace view to an image, e.g., for documentation or for sharing an issue with colleagues.

Export Actor Data allows you to export actor instance data to a text file. The exported data includes start time, execution time, response time and fragmentation of each instance of the selected actors. You can export it as tab separated fields for import in other tools or space aligned columns for easy reading.

External Tools allow you to define tools which can be launched from within Tracealyzer. This can for example be used to launch a tool or script which uploads the trace from your a device, i.e., by making your debugger taking a RAM dump.

Find

The Find menu allows you to quickly find the previous or next instance from the selected instance. It also lets you open the Finder dialog (can also be opened using CTRL-F).

View

The View menu allows you to configure the trace view and to open other views. See the respective page for information about the other views.

New Trace Window opens up a new trace view.

Trace Details shows recorder-related properties of the current trace, such as the number of events and the length of the trace, as well as additional technical details.

Trace View Settings allows you to configure the trace view, such as the colors of actors and whether to display bookmarks or not.

Trace View Mode allows you to set the View Mode, as introduced in the View Modes topic above.

Time Unit allows you to change the time unit used throughout the application.

Time Mode allows you to change the relative zero point in time.

Show Tool Panel allows you to toggle the visibility of the tool panel on the right. This can be useful if you wish to make the application window smaller, e.g., when having multiple views open. The tool panel can be restored using the trace view context menu.

Bookmarks

The Bookmark menu allows you to create and organize bookmarks. If you want to share bookmarks with colleagues, you can export and import them using the respective menu options. Any bookmarks will also be displayed in this menu.

Help

The help menu includes the User Manual, the license system dialog, and a shortcut to the target system code required by Tracealyzer, as well as diagnostic information about the application.


Copyright Percepio AB 2014, all rights reserved.