EventAnalyzer for THREADX
The Green Hills Software MULTI EventAnalyzer helps programmers understand the complex interaction of resources in a THREADX system by providing a graphical representation of system activities. As a result, system events occurring within microseconds can easily be isolated and analyzed. This system analysis tool effectively gives programmers the ability to stop time in order to scrutinize system behavior.
Within a real-time operating system, complex interactions take place at a much higher rate than can be analyzed using common source-level debuggers and profilers. Event logging instrumentation built into the THREADX kernel allows the system to record information about itself (such as service calls, context switches, and interrupts). This information is then transferred to the host system, where you can use the EventAnalyzer Graphical User Interface (GUI, pictured below) to view it and to analyze system activities.
The EventAnalyzer GUI provides details about the status of each thread and about events related to that thread. The GUI also includes a variety of control features that enable you to collect meaningful event data with minimal intrusion into the target system. In addition, the instrumentation inside of THREADX is done with in-line macros for the lowest possible overhead.
The EventAnalyzer reads the data file as a series of events and states. The various threads on the target system can alternate between states of activity at any given moment. System events occur depending on the processing needs of the program and of the system. With event logging enabled, the THREADX kernel logs these events and status changes as they occur.
Additionally, you can define the event logging filter to specify the types of events the system will record. This allows you to record only those events required for meaningful analysis. Each event enabled for logging contains additional information that can be obtained by clicking on the event icon. An example of additional information about a particular queue receive call is shown below:
In general, THREADX system events can be characterized as thread context switches, exceptions and interrupts, kernel calls, or user-defined events. The EventAnalyzer contains a graphical representation and icons for each event in THREADX and each is defined in the EventAnalyzer’s legend. A portion of the EventAnalyzer’s legend is shown below:
The MULTI EventAnalyzer for THREADX is available for all MULTI and THREADX support packages.