Application Monitoring

The monitoring functionality in RTX64 allows you to trace the behavior of your real-time applications by recording significant events that occur during execution of those applications. The events are written to disk, where they are grouped into sessions. Each session corresponds to a single folder that contains one or more files containing events generated during that session. A new session begins each time monitoring is started, and the current session ends each time monitoring is stopped.

There are many kinds of events. For instance, one might represent the creation of a thread, another might represent a fast semaphore being acquired, and yet another might represent a thread exiting a critical section. Using the RTX64 Control Panel and RTX64 Monitor utility, you can choose the events you want to collect, filtering out the events that are of no interest. Events are stored in each session folder in binary form. You can view and analyze session data in Tracealyzer. Alternatively, using RTX64 Monitor, you can convert a session file into text files showing the details of each event in the order in which the events happened.

NOTE: Monitoring causes as much as one microsecond of latency depending on the real time operation. It is recommended that you only enable and start monitoring during development and that you disable monitoring in production. The amount of latency depends on how many kinds of events are being monitored and how frequently those events occur in real-time applications. Monitoring fewer kinds of events reduces the impact of monitoring on latency.

Configuring Default Monitoring Settings

In the RTX64 Control Panel, you can specify the global, persistent default monitoring settings you want to use when the Subsystem is started.

For example, you can:

NOTE: You can configure the overall amount of non-paged memory that the Subsystem will dedicate to collecting monitored events through the Manage memory page in the Control Panel.

Controlling Monitoring Sessions

Once monitoring is enabled in the RTX64 Control Panel, you can use RTX64 Monitor to:

Analyzing Session Data

Using Tracealyzer — a diagnostics tool created by Percepio and integrated with RTX64 — you can quickly trace and analyze monitoring session data to see elements in your real-time applications that require optimization. For instance, Tracealyzer might reveal unnecessary resource conflicts in an application, which, when optimized, could result in a significant improvement in real-time responsiveness and performance.

NOTE: Tracealyzer requires a monitor session file. If you don't already have a session file to analyze, you can generate one using RTX64 Monitor or by using the RtMonitorControl API to enable monitoring programmatically.

Related Topics:

Other Resources: