Monitor Event Classes
The following tables contain an alphabetical listing of the available Monitor event names. For each event name, a description is provided along with the associated Managed Code Framework class name and the corresponding fields that appear in the text output. All events listed in the text output of a monitoring session include the Time Stamp Counter (TSC), Process ID (PID), Thread ID (TID), and the core (CORE) on which the event occurred.
For example:
20848276916965: Context Switch, CORE 4, Event generated by PID 0, TID 2 Old Thread: 0, New Thread: 2, Old Process 0, New Process 0
To navigate these tables of events, scroll or click on a link below to jump to a particular section.
A | C | D | E | F | H | I | L | M | P | R | S | T | U | W | Examples
Name / Managed Code Framework Class Name | Description | Text Output Fields |
---|---|---|
Attach Line Based Interrupt MonitorEventAttachInterruptLinedBased |
Represents an application attaching to a line-based interrupt. This event is generated when a call to RtAttachInterrupt is made to attach a line-based interrupt. |
|
Attach Message Based Interrupt MonitorEventAttachInterruptMessagedBased |
Represents attaching an IST or ISR to a message-based interrupt. This event is generated when a call to RtAttachInterrupt is made to attach a message-based interrupt. |
|
Name / Managed Code Framework Class Name | Description | Text Output Fields |
---|---|---|
CLOS Set MonitorEventCLOSSet |
Represents a change in Class of Service (CLOS) of a thread. |
|
MonitorEventContextSwitch
|
Represents a context switch event. This event is generated when a thread context switch happens. This event is disabled by default, because there can be several thousands of context switches per second. NOTE: Context Switch events are enabled by default. |
|
Contiguous Windows Memory Allocate MonitorEventContiguousMemoryAlloc |
Represents the successful allocation of physically contiguous memory by a call to RtAllocateContiguousMemory. NOTE: This monitoring event is not generated in RTX64 4.3 and later versions. |
|
Contiguous Windows Memory Allocate Fail MonitorEventContiguousMemoryAllocFailed |
Represents a failed allocation of physically contiguous memory by a call to RtAllocateContiguousMemory. This event is generated when RtAllocateContiguousMemory is called and it fails. NOTE: This monitoring event is not generated in RTX64 4.3 and later versions. |
|
Contiguous Windows Memory Specify Cache Allocate MonitorEventContiguousMemoryAllocSpecifyCache |
Represents a successful allocation of physically contiguous memory by a call to RtAllocateContiguousMemorySpecifyCache. This event is generated when RtAllocateContiguousMemorySpecifyCache is called and it succeeds. NOTE: This monitoring event is not generated in RTX64 4.3 and later versions. |
|
Contiguous Windows Memory Specify Cache Allocate Fail MonitorEventContiguousMemoryAllocSpecifyCacheFailed |
Represents a failed allocation of physically contiguous memory by a call to RtAllocateContiguousMemorySpecifyCache. This event is generated when RtAllocateContiguousMemorySpecifyCache is called and it fails. NOTE: This monitoring event is not generated in RTX64 4.3 and later versions. |
|
Contiguous Memory Free MonitorEventContiguousMemoryFree |
Represents freeing physically contiguous memory via RtFreeContiguousMemory. This event is generated when RtFreeContiguousMemory is called and it succeeds. NOTE: This monitoring event is not generated in RTX64 4.3 and later versions. |
|
Contiguous Memory Free Fail MonitorEventContiguousMemoryFreeFail |
Represents failed freeing of contiguous memory. NOTE: This monitoring event is not generated in RTX64 4.3 and later versions.
|
|
Critical Section Delete MonitorEventCriticalSectionDelete |
Represents a thread deleting a critical section. This event is generated when DeleteCriticalSection is called. |
|
Critical Section Enter MonitorEventCriticalSectionEnter |
Represents a thread entering a critical section. This event is generated when TryEnterCriticalSection is successfully called. |
|
Critical Section Init MonitorEventCriticalSectionInit |
Represents the creation of a critical section. This event is generated when InitializeCriticalSection is called. |
|
Critical Section Leave MonitorEventCriticalSectionLeave |
Represents a thread leaving a critical section. This event is generated when LeaveCriticalSection is called |
|
Custom MonitorEventCustom |
Represents a custom event generated by user application code. This event generated by a call to RtGenerateEvent. NOTE: In Tracealyzer, custom events are displayed as user events. |
|
Name / Managed Code Framework Class Name | Description | Text Output Fields |
---|---|---|
Data Lost MonitorEventDataLost |
Represents a Data Lost event. This event is generated when RTX64 Monitor's internal buffers become full, resulting in loss of monitoring event data. If you see this event, you should use the RTX64 Control Panel to increase the amount of non-paged pool memory allocated to monitoring and/or monitor fewer kinds of events. This event indicates that at least one but possibly many monitoring events were lost. The kind of the first lost event is given on the second line of this event. |
|
Name / Managed Code Framework Class Name | Description | Text Output Fields |
---|---|---|
Event Create MonitorEventEventCreate |
Represents the creation of an event (the kind used for synchronization, not an RTX64 Monitor event).
This event is generated when RtCreateEvent is called. |
|
Event Destroy MonitorEventEventDestroy |
Represents the destruction of an event object. This event is generated after the last handle to an event object is closed. NOTE: This event can happen an arbitrary amount of time after the reference count on the corresponding subsystem object reaches zero. |
|
Event Open MonitorEventEventOpen |
Represents opening of an event (the kind used for synchronization). This event is generated when RtOpenEvent is called. |
|
Event Pulse MonitorEventEventPulse |
Represents a call to RtPulseEvent by a user application. |
|
Event Reset MonitorEventEventReset |
Represents a call to RtResetEvent by a user application. |
|
Event Set MonitorEventEventSet |
Represents a call to RtSetEvent by a user application. |
|
Exception Interrupt MonitorEventExceptionInterrupt |
Represents an exception interrupt that occurs on an RTSS processor. This event is generated when a low-level exception, such as an access violation, page fault, divide-by-zero, or double fault, occurs. This event does not represent a C++ or .NET exception. |
|
Name / Managed Code Framework Class Name | Description | Text Output Fields |
---|---|---|
Fast Semaphore Acquire MonitorEventFastSemaphoreAcquire |
Represents a thread acquiring a RTFAST_SEMAPHORE object. This event is generated when RtAcquireFastSemaphore is called. |
|
Fast Semaphore Initialize MonitorEventFastSemaphoreInit |
Represents a thread initializing a RTFAST_SEMAPHORE object. This event is generated when RtInitializeFastSemaphore is called. |
|
Fast Semaphore Release MonitorEventFastSemaphoreRelease |
Represents a thread releasing some waiters on a RTFAST_SEMAPHORE object. This event is generated RtReleaseFastSemaphore is called. |
|
Fast Semaphore Release All MonitorEventFastSemaphoreReleaseAll |
Represents a thread releasing all waiters a RTFAST_SEMAPHORE object. This event is generated when RtReleaseAllFastSemaphore is called. |
|
File Object Create MonitorEventFileCreate |
Generated when a file has been opened by the subsystem. |
|
File Object Destroy MonitorEventFileDestroy |
Generated when a file has been destroyed by the subsystem. |
|
Name / Managed Code Framework Class Name | Description | Text Output Fields |
---|---|---|
Handle Close MonitorEventHandleClosed |
Represents the closing of a handle. This event is generated when CloseHandle is called on any handle. |
|
Heap Allocate MonitorEventHeapAlloc |
Represents a successful memory allocation using HeapAlloc. This event is generated HeapAlloc or HeapReAlloc is called. |
|
Heap Allocation Fail MonitorEventHeapAllocFailed |
Represents a failed memory allocation using HeapAlloc. |
|
Heap Create MonitorEventHeapCreate |
Represents the creation of a heap. This event is generated when HeapCreate is called. |
|
Heap Destroy MonitorEventHeapDestroy |
Represents the destruction of a heap. This event is generated when HeapDestroy is called. NOTE: This event can happen an arbitrary amount of time after the reference count on the corresponding subsystem object reaches zero. |
|
Heap Free MonitorEventHeapFree |
Represents freeing memory via HeapFree(). This event is generated when HeapFree is called. |
|
Heap Free Fail MonitorEventHeapFreeFail |
Represents failed freeing of memory via HeapFree().
|
|
Heap Re-Allocate MonitorEventHeapReAlloc |
Represents a successful call to HeapReAlloc.
|
|
Name / Managed Code Framework Class Name | Description | Text Output Fields |
---|---|---|
Ideal Processor Set MonitorEventIdealProcessorSet |
Represents a thread setting its ideal processor. This event is generated when SetThreadIdealProcessor is called. |
|
IST Handler MonitorEventIstHandler |
Represents invocation of an IST handler function. This event is generated when an IST interrupt handler is called. |
|
Name / Managed Code Framework Class Name | Description | Text Output Fields |
---|---|---|
Line Based Interrupt Release MonitorEventInterruptLineBasedRelease |
Represents the release of a previously attached line-based interrupt. This event is generated when RtReleaseInterrupt is called to release a line-based interrupt. |
|
Local Memory Alloc MonitorEventLocalMemoryAlloc |
Represents a successful allocation from the local memory pool. This event is generated when local memory is allocated, as with RtAllocateLocalMemory, or when a process is configured to use Local Memory for all allocations. |
|
Local Memory Alloc Fail MonitorEventLocalMemoryAllocFailed |
Represents a failed allocation from the local memory pool. |
|
Local Memory Expand MonitorEventLocalMemoryExpand |
Represents the expansion of the RTSS process' MSpace. This event is generated the local memory pool expands by calling RtExpandMSpace. NOTE: This monitoring event is not generated in RTX64 4.3 and later versions. |
|
Local Memory Free MonitorEventLocalMemoryFree |
Represents freeing local memory. This event is generated when local memory is freed, as with RtFreeLocalMemory or when a process is configured to use local memory for all allocations. |
|
Local Memory Free Fail MonitorEventLocalMemoryFreeFail |
Represents failed freeing of local memory. |
|
Local Memory Shrink MonitorEventLocalMemoryShrink |
Represents the shrinking of the RTSS Process' MSpace. This event is generated when the MSpace shrinks from a call to RtShrinkMSpace. NOTE: This monitoring event is not generated in RTX64 4.3 and later versions. |
|
Name / Managed Code Framework Class Name | Description | Text Output Fields |
---|---|---|
Memory Map MonitorEventMemoryMap |
Represents a successful call to RtMapMemory. |
|
Memory Unmap MonitorEventMemoryUnmap |
Represents a successful call to RtUnmapMemory. |
|
Message Based Interrupt Release MonitorEventInterruptMessagebasedRelease |
Represents the release of a previously attached message-based interrupt. This event is generated when RtReleaseInterrupt is called to release a message-based interrupt. |
|
Module Load MonitorEventModuleLoad |
Represents a successful load of a module (RTSS or RTDLL). This event is generated when a module is loaded, either by launching a new real-time process or by implicitly or explicitly loading an RTDLL. |
|
Module Unload MonitorEventModuleUnload |
Represents a successful unload of a module (RTSS or RTDLL). This event is generated when a module is unloaded, either at process termination or when an RTDLL is unloaded by a call to FreeLibrary. |
|
Mutex Create MonitorEventMutexCreate |
Represents a mutex creation event. This event is generated when RtCreateMutex is called. |
|
Mutex Destroy MonitorEventMutexDestroy |
Acquisition count (0 if free). This event is generated when the last handle to a mutex is closed. NOTE: This event can happen an arbitrary amount of time after the reference count on the corresponding subsystem object reaches zero. |
|
Mutex Open MonitorEventMutexOpen |
Represents opening of a mutex. This event is generated when RtOpenMutex is called. |
|
Mutex Release MonitorEventMutexRelease |
Represents a mutex being released by a call to RtReleaseMutex. NOTE: NOTE: If the mutex recursion count is greater than zero after RtReleaseMutex() returns, the mutex remains locked by the current thread. |
|
Name / Managed Code Framework Class Name | Description | Text Output Fields |
---|---|---|
Priority Demotion MonitorEventPriorityDemotion |
Represents priority demotion. This event is generated when thread priority demotion occurs. |
|
Priority Promotion MonitorEventPriorityPromotion |
Represents priority promotion to solve priority inversion. This event is generated when thread priority promotion occurs. |
|
Process Affinity Mask Set MonitorEventProcessAffinityMaskSet |
Represents the setting of a process's processor affinity mask. This event is generated when RtSetProcessAffinityMask is called. |
|
MonitorEventProcessCreate |
Represents the creation of a real-time process. NOTE: This event also represents proxy processes. When the process being created is a proxy process, this event appears as Proxy Process Create. |
|
Local memory MSpace fields
|
||
|
||
Process Destroy MonitorEventProcessDestroy |
Represents the destruction of a process. NOTE: This event can happen an arbitrary amount of time after the reference count on the corresponding subsystem object reaches zero. NOTE: This event also represents proxy processes. When the process being destroyed is a proxy process, this event appears as Proxy Process Destroy in the output. |
|
Process Open MonitorEventProcessOpen |
Represents opening of a process. This event is generated when RtOpenProcess is called. |
|
Name / Managed Code Framework Class Name | Description | Text Output Fields |
---|---|---|
Resume Thread MonitorEventThreadResume |
Represents a call to ResumeThread from a user application. |
|
Name / Managed Code Framework Class Name | Description | Text Output Fields |
---|---|---|
Semaphore Create MonitorEventSemaphoreCreate |
Represents the creation of a semaphore. This event is generated when RtCreateSemaphore is called. |
|
Semaphore Destroy MonitorEventSemaphoreDestroy |
Represents the destruction of a semaphore. This event is generated after the last handle to a semaphore object is closed. NOTE: This event can happen an arbitrary amount of time after the reference count on the corresponding subsystem object reaches zero. |
|
Semaphore Open MonitorEventSemaphoreOpen |
Represents opening of a semaphore. This event is generated when RtOpenSemaphore is called. |
|
Semaphore Release MonitorEventSemaphoreRelease |
Represents a semaphore being released by a call to RtReleaseSemaphore. |
|
Session Marker MonitorEventMarker |
Represents an internal marker event generated by RTX64 Monitor. This event is used to mark the enabling/disabling of monitoring and other interesting internal events. |
|
Shared Memory Create MonitorEventSharedMemoryCreate |
Represents the creation of a shared memory region. This event is generated when RtCreateSharedMemory is called. |
|
Shared Memory Destroy MonitorEventSharedMemoryDestroy |
Represents the destruction of a shared memory object. This event is generated after the last handle to a shared memory region is closed. NOTE: This event can happen an arbitrary amount of time after the reference count on the corresponding subsystem object reaches zero. |
|
Shared Memory Open MonitorEventSharedMemoryOpen |
Represents opening of a shared memory region. This event is generated when RtOpenSharedMemory is called. |
|
Shutdown Handler Create MonitorEventShutdownHandlerCreate |
Represents the creation of a shutdown handler. This event is generated when RtAttachShutdownHandler is called. |
|
Shutdown Handler Destroy MonitorEventShutdownHandlerDestroy |
Represents the destruction of a shutdown handler. This event is generated after RtReleaseShutdownHandler is called. NOTE: This event can happen an arbitrary amount of time after the reference count on the corresponding subsystem object reaches zero. |
|
SRI to Windows Event MonitorEventSriToWindows |
Generated when an SRI over to Windows has been initiated. (no unique ID) |
|
SRI to Windows Return Event MonitorEventSriToWindowsReturn |
Generated when an SRI over to Windows has returned. (no unique ID) |
|
Subsystem Stop MonitorEventSubsystemStop |
Represents the RTX64 subsystem stopping. |
|
Suspend Thread MonitorEventSuspendThread |
Represents a call to SuspendThread from a user application. |
|
Name / Managed Code Framework Class Name | Description | Text Output Fields |
---|---|---|
Thread Affinity Mask Set MonitorEventThreadAffinityMaskSet |
Represents the setting of a thread's processor affinity mask. This event is generated when SetThreadAffinityMask is called. |
|
Thread Create MonitorEventThreadCreate |
Represents the creation of a thread. This event is generated for both user threads and proxy threads. This event is generated when a real-time thread is created, either automatically as when a process starts or by a call to RtCreateThread. |
|
MonitorEventThreadDestroy |
Represents the destruction of a thread. NOTE: This event can happen an arbitrary amount of time after the reference count on the corresponding subsystem object reaches zero. |
|
Thread Open MonitorEventThreadOpen |
Represents the instance a real-time thread is opened. This occurs when a real-time process calls OpenThread. |
|
Thread Priority Set MonitorEventThreadPrioritySet |
Represents a change to a thread's priority via RtSetThreadPriority or SetThreadThreadPriority. This event is generated when RtSetThreadPriority is called or when the RTX64 subsystem performs internal thread scheduling operations. |
|
Thread Terminate MonitorEventThreadTerminate |
Generated when a thread terminates. |
|
Thread Time Quantum Set MonitorEventThreadQuantumSet |
Represents a change to a thread's time quantum via RtSetThreadTimeQuantum. |
|
Thread Sleeping MonitorEventThreadSleep |
Represents a thread sleeping. This event is generated when Sleep or RtSleepFt is called. |
|
Time Quantum Expire MonitorEventTimeQuantumExpired |
Represents the expiration of a thread's time quantum. |
|
Timer Cancel MonitorEventTimerCancel |
This event is generated when RtCancelTimer is called. |
|
Timer Create MonitorEventTimerCreate |
Represents a timer creation event. This event is generated when RtCreateTimer is called. |
|
Timer Destroy MonitorEventTimerDestroy |
Represents the destruction of an timer object. This event is generated after RtDeleteTimer is called. NOTE: This event can happen an arbitrary amount of time after the reference count on the corresponding subsystem object reaches zero. |
|
Timer Expire MonitorEventTimerExpire |
Represents a timer expiration. |
|
Timer Set MonitorEventTimerSet |
Represents a timer being set. |
|
TLS Alloc MonitorEventTLSAlloc |
Represents a call to TlsAlloc by a user application. |
|
TLS Free MonitorEventTLSFree |
Represents a call to TlsFree by a user application. |
|
TLS Free Fail MonitorEventTLSFreeFail |
Represents a failed call to TlsFree by a user application. |
|
Name / Managed Code Framework Class Name | Description | Text Output Fields |
---|---|---|
Unhandled Exception Filter Set MonitorEventUnhandledExceptionFilter |
Represents a call to SetUnhandledExceptionFilter. |
|
Unhandled Exception Filter Call
MonitorEventUnhandledExceptionFilterCalled |
Represents a call to a user-supplied unhandled exception filter function that was installed using SetUnhandledExceptionFilter. This event is generated when an unhandled exception filter function is called. |
|
Name / Managed Code Framework Class Name | Description | Text Output Fields |
---|---|---|
WaitForMultipleObjectsEX Return MonitorEventWFMOEXReturned |
Represents a call to RtWaitForMultipleObjectsEx returning, either successfully or not. This event is generated when WaitForMultipleObjects or WaitForMultipleObjectsEx returns. |
|
WaitForMultipleObjectsEX Wait MonitorEventWFMOEXWait |
Represents a call to RtWaitForMultipleObjectsEx waiting a set of synchronization objects. This event is generated when WaitForMultipleObjects or WaitForMultipleObjectsEx blocks execution to wait on one or more objects. Each handle being waited on is listed (along with the type of object referenced by the handle) starting on the third line of this event. |
|
WaitForSingleObjectEX Return MonitorEventWFSOEXReturned |
Represents a call to RtWaitForSingleObjectEx returning, either successfully or not.
|
|
WaitForSingleObjectEX Wait MonitorEventWFSOEXWait |
Represents a call to RtWaitForSingleObjectEx waiting for a synchronization object. This event is generated when WaitForSingleObject or WaitForSingleObjectEx blocks execution to wait on an object. |
|
Watchdog Reset MonitorEventWatchdogReset |
Represents an instance where a watchdog timer reset occurs.
|
|
Windows Memory Allocate MonitorEventWindowsMemoryAlloc |
Represents a successful allocation of memory from Windows by a real-time process. This event is generated when Windows memory is allocated by the RTX64 subsystem, either for internal use or as the result of a request from a user application (i.e., a call to malloc or new). NOTE: This monitoring event is not generated in RTX64 4.3 and later versions. |
|
Windows Memory Allocation Fail MonitorEventWindowsMemoryAllocFailed |
Represents a failed allocation of memory from Windows by a real-time process. NOTE: This monitoring event is not generated in RTX64 4.3 and later versions. |
|
Windows Memory Free MonitorEventWindowsMemoryFree |
Represents freeing memory to Windows. NOTE: This monitoring event is not generated in RTX64 4.3 and later versions. |
|
Windows Memory Free Fail MonitorEventWindowsMemoryFreeFail |
Represents failed freeing of memory to Windows. NOTE: This monitoring event is not generated in RTX64 4.3 and later versions. |
|
Examples
Below are examples of Event Classes as they appear in text output of a monitoring session.
Heap Create
Heap Create: TSC 14313774442814, PID 1001, TID 12, CORE 2
Handle: 0xFFFFFA80`1BEFD000, Creation Options: 0x0, Init Size: 4096, Max Size: 0, Unique Mutex Id: 0
Heap Destroy
Heap Destroy: TSC 14330549202694, PID 1001, TID 12, CORE 2
Handle: 0xFFFFFA80`1BF06000, Size: 0
Heap Free
Heap Free: TSC 14313776522750, PID 1001, TID 12, CORE 2
Address: 0xFFFFFA80`198F6110, Handle: 0xFFFFFA80`1BEFD000, Flags: 0x0