Monitor Event Classes
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 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 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. |
|
|
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. |
|
| Name / Managed Class Name | Description | Text Output Fields |
|---|---|---|
|
Data Lost MonitorEventDataLost |
Represents a Data Lost event. This event is generated when wRTOS Monitor's internal buffers become full, resulting in loss of monitoring event data. If you see this event, you should use wRTOS Settings 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 Class Name | Description | Text Output Fields |
|---|---|---|
|
Event Create MonitorEventEventCreate |
Represents the creation of an event (the kind used for synchronization, not a wRTOS 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 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 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 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 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 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. |
|
| Name / Managed 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 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 Class Name | Description | Text Output Fields |
|---|---|---|
|
Resume Thread MonitorEventThreadResume |
Represents a call to ResumeThread from a user application. |
|
| Name / Managed 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 wRTOS 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 wRTOS subsystem stopping. |
|
|
Suspend Thread MonitorEventSuspendThread |
Represents a call to SuspendThread from a user application. |
|
| Name / Managed 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 wRTOS 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. |
|
|
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 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 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. |
|
|
RtWaitForSingleObjectEX Return MonitorEventWFSOEXReturned |
Represents a call to RtWaitForSingleObjectEx returning, either successfully or not.
|
|
|
RtWaitForSingleObjectEX Wait MonitorEventWFSOEXWait |
Represents a call to RtWaitForSingleObjectEx waiting for a synchronization object. This event is generated when RtWaitForSingleObject or RtWaitForSingleObjectEx blocks execution to wait on an object. |
|
|
Watchdog Reset MonitorEventWatchdogReset |
Represents an instance where a watchdog timer reset occurs.
|
|
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