Managing traces

Opening a trace file starts the Trace Server and opens the System Profiler.

Opening a trace

To open a trace:

  1. In the file system of your Workspace, locate the trace.kev file.
  2. Click the file. The Trace Server starts, and the System Profiler displays the views. By default, the Histogram is displayed first, although this can be changed to the CPU Usage View.

    Go to Using the System Profiler for more information.



Closing a trace

To close a trace:

  1. In the VS Code file browser, locate the tab allocated to the trace.kev file.
  2. Close the tab to close the trace.kev file.


Removing traces from the System Profiler

To remove a trace:

  1. In the System Profiler, expand From OPENED TRACES, and then click x next to the trace that you want to remove. The trace is removed.


Event decoding

You can insert user events into the event stream. This is useful for flagging events or bracketing groups of events to isolate them for study. You can provide custom event data formatting for the custom user events; you must provide an event definition file describing the data format for the custom user events. Go to Classes and Events for more information.

To upload the file:

  1. Make sure that you have a running trace server.
  2. Click the User Event Data Formatting button at the top right of the interface. The settings are opened, where you can specify the path to the user events definition file.


User Event Example:

<eventformatting>
    <datakey format="%4u1x state %d seq_id">
        <event class="6" id="22"/>
        <enum name="state" value="0x0" string="INPUT_RECEIVED"/>
        <enum name="state" value="0x1" string="START_PROCESSING"/>
        <enum name="state" value="0x2" string="END_PROCESSING"/>
        <enum name="state" value="0x3" string="REQUEST_RENDER"/>
        <enum name="state" value="0x4" string="RENDER_COMPLETE"/>
    </datakey>
</eventformatting>
Important:
You need a corresponding trace file with user events to test event decoding.

Constructed filters

Filtering lets you view a subset of the trace data. By applying filters, you can restrict which owners and events are shown in the Event table and Timeline View. You can apply the filters from the Event Filters, Owner Filters, or from the Timeline View directly.

To apply the filters:

  1. Right-click in the Event Filters, Owner Filters, or Timeline View.
  2. Select the filter and action of choice.

The impacted views (Events Table and Timeline View) update accordingly.



The following table describes the filters that can be applied:
Heading Description
State Activity Owners Include event data for all threads that changed state during the trace.
Selected Owners Include event data for all threads that are selected in the Timeline View. This doesn't apply to the Add action.
IPC Activity - Selected Owners Include data from the selected threads in the Timeline View that are involved in any form of IPC (e.g., message passing, signaling).
IPC Activity - All Owners Include data from all threads involved in any form of IPC (e.g., message passing, signaling).
CPU Usage - Top 10 Owners Ten threads that consumed the most CPU time (excluding idle).
CPU Usage - All Owners Include data from all threads that consumed CPU time.
The following table describes the actions that can be applied to the filters:
Heading Description
Add Add data for specific owners and events to the filtered set.
Remove Remove data for specific owners and events from the filtered set.
Show Only Replace the filtered set to show only the data for specific owners and events.
Show All Show data for all owners and events.
Hide All Hide data for all owners and events.

Saving filtered traces

You can save a partial trace.kev file based on user filters (time range, zoom region, selection range).

To save a filtered trace:

  1. From a running trace, click the three dots at top right.
  2. Click Save Filtered File.


  3. Select the time range: Selected, Zoom, Full.
  4. Select filters to apply.
  5. Save the filtered file.

After you've saved the file, you are prompted to load it.



The following table describes the possible time ranges:
Heading Description
Selected Filters the trace based on the selection range. To select a range, drag over the desired area in overview graph, or Shift+Click (multi-select) in the event table.
Zoom Filters the trace based on the zoom range. Select the zoom range by right-click + dragging over the overview graph. Or zoom in or out using the buttons at the top of the panel.
Full Filters the trace based on the entire time range of the trace.
The following table describes the possible filters:
Heading Description
Both Apply both owner and event filters.
Event Apply only event filters.
Owner Apply only owner filters.
None Apply no filters.

Essential events:

Essential events always display regardless of the applied filtering settings.

The following list comprises the essential events:
  1. _NTO_TRACE_SYS_APS_NAME
  2. _NTO_TRACE_SYS_APS_BUDGETS
  3. _NTO_TRACE_PROCTHREAD_NAME
  4. _NTO_TRACE_PROCCREATE_NAME
  5. _NTO_TRACE_THRUNNING
  6. _NTO_TRACE_THREADY
  7. _NTO_TRACE_CONTROL class; go to Control class:_NTO_TRACE_CONTROL in the Events and the Kernel chapter of the System Analysis Toolkit User's Guide.
  8. The procnto utility or its threads; go to the procnto utility in the Utilities Reference chapter of Utilities & Libraries for more information.

For more information about events, go to Table of events in the Current Trace Events and Data chapter of the System Analysis Toolkit User's Guide.

Page updated: