The System Profiler is a tool that works in concert with the Neutrino instrumented kernel (procnto*-instr) to provide insight into the operating system's events and activities. Think of the System Profiler as a system-level software
logic analyzer. Like the Application Profiler, the System Profiler can help pinpoint areas that need improvement, but at a
system-wide level.
You might use the System Profiler to solve such problems as:
- IPC bottlenecks (by observing the flow of messages among threads)
- resource contention (by watching threads as they change states)
- cache coherency in a multicore machine (by watching threads as they migrate from one CPU or core to another)
Note: Details on kernel instrumentation (such as types and classes of events) are more fully covered in the System Analysis Toolkit
(SAT)
User's Guide
.
The QNX System Profiler perspective includes several components that are relevant to system profiling:
- File System Navigator
- Events are stored in log files (with the extension .kev) within projects in your workspace. These log files are associated with the System Profiler editor.
- Target Navigator view
- When you right-click a target machine in the Target Navigator view, you can select , which initiates the Log Configuration dialog. You use this wizard to specify which events to capture, the duration of the
capture period, as well as specific details about where the generated event log file (.kev file) is stored.
- System Profiler editor
- This editor provides the graphical representation of the instrumentation events in the captured log file. Like all other Eclipse
editors, the System Profiler editor shows up in the editor area and can be brought into any perspective. This editor is automatically
associated with .kev files.
- Trace Event Log view
- This view lists instrumentation events, as well as their details (time, owner, etc.), surrounding the selected position in
the currently active System Profiler editor.
- General Statistics view
- A tabular statistical representation of events.
- Condition Statistics view
- A tabular or graphical statistical representation of the conditions used in the search panel.
- Event Owner Statistics view
- A tabular statistical representation of events broken down per owner.
Other components help you determine why a given thread is running, examine the migration of threads from one processor or
core to another, and so on. For more details, see Gathering statistics from trace data, later in this chapter.
Note: The QNX System Profiler perspective may produce incorrect results when more than one IDE is communicating with the same target
system. To use this perspective, make sure only one IDE is connected to the target system.