IntervalZero.MaxRT.wRTOS.Monitor Namespace

Classes

 

Class Description

Public class

EventReader

This class provides functionality to read monitoring events from monitoring session log folders. Instances of subclasses of class MonitorEvent represent each event.

Public class

MonitorEvent

This class represents a monitoring event. All other event classes derive from this class. This class contains several properties that are common to all events.

Public class

MonitorEventAttachInterruptLineBased

This class represents a successful call to RtAttachInterrupt for a line-based interrupt.

Public class

MonitorEventAttachInterruptMessageBased

This class represents a successful call to RtAttachInterrupt for a message-based interrupt.

Public class

MonitorEventCancelTimer

This class represents a successful call to RtCancelTimer.

Public class

MonitorEventCLOSSet

This class represents a change of Class of Service (CLOS) to a thread.

Public class

MonitorEventContextSwitch

This class represents a thread context switch.

Public class

MonitorEventCriticalSectionDelete

This class represents a successful call to DeleteCriticalSection.

Public class

MonitorEventCriticalSectionEnter

This class represents a successful call to EnterCriticalSection.

Public class

MonitorEventCriticalSectionInit

This class represents a successful call to InitializeCriticalSection.

Public class

MonitorEventCriticalSectionLeave

This class represents a successful call to LeaveCriticalSection.

Public class

MonitorEventCustom

This class represents a custom event generated by a successful call to RtGenerateEvent.

Public class

MonitorEventDataLost

This class represents a Data Lost event. Occurrences of this event mean that there are insufficient internal resources to record all events. If you see this event, you should use the wRTOS Monitor utility or wRTOS Settings to monitor fewer events and/or increase the amount of non-paged pool memory allocated to monitoring in wRTOS Settings.

Public class

MonitorEventEventCreate

This class represents a successful call to RtCreateEvent.

Public class

MonitorEventEventDestroy

This class represents the destruction of a real-time event object. A real-time object is destroyed at an undetermined time after its reference count reaches zero.

Public class

MonitorEventEventOpen

This class represents a successful call to RtOpenEvent.

Public class

MonitorEventEventPulse

This class represents a successful call to RtPulseEvent.

Public class

MonitorEventEventReset

This class represents a successful call to RtResetEvent.

Public class

MonitorEventEventSet

This class represents a successful call to RtSetEvent.

Public class

MonitorEventExceptionInterrupt

This class represents a real-time exception interrupt.

Public class

MonitorEventFastSemaphoreAcquire

This class represents a successful call to RtAcquireFastSemaphore.

Public class

MonitorEventFastSemaphoreInit

This class represents a successful call to RtInitializeFastSemaphore.

Public class

MonitorEventFastSemaphoreRelease

This class represents a successful call to RtReleaseFastSemaphore.

Public class

MonitorEventFastSemaphoreReleaseAll

This class represents a successful call to RtReleaseAllFastSemaphore.

Public class

MonitorEventFileCreate

This class represents a successful call to CreateFile.

Public class

MonitorEventFileDestroy

This class represents the destruction of the internal wRTOS Subsystem object that represents an open file (see class MonitorEventFileCreate). A real-time object is destroyed at an undetermined time after its reference count reaches zero.

Public class

MonitorEventHandleClosed

This class represents a successful call to RtCloseHandle.

Public class

MonitorEventHeapAlloc

This class represents a successful call to HeapAlloc.

Public class

MonitorEventHeapAllocFailed

This class represents an unsuccessful call to HeapAlloc.

Public class

MonitorEventHeapCreate

This class represents a successful call to HeapCreate.

Public class

MonitorEventHeapDestroy

This class represents the destruction of a wRTOS Subsystem heap object. A real-time object is destroyed at an undetermined time after its reference count reaches zero.

Public class

MonitorEventHeapFree

This class represents a successful call to HeapFree by a real-time process.

Public class

MonitorEventHeapFreeFail

This class represents an unsuccessful call to HeapFree by a real-time process.

Public class

MonitorEventHeapReAlloc

This class represents a successful call to real-time API HeapReAlloc. Note that unsuccessful calls to this API do not cause a monitoring event to be generated.

Public class

MonitorEventIdealProcessorSet

This class represents a successful call to SetThreadIdealProcessor by a real-time thread.

Public class

MonitorEventInterruptLineBasedRelease

This class represents a successful call to RtReleaseInterrupt for a line-based interrupt.

Public class

MonitorEventInterruptMessagebasedRelease

This class represents a successful call to RtReleaseInterrupt for a message-based interrupt.

Public class

MonitorEventIstHandler

This class represents a call to an Interrupt Service Thread (IST) handler function.

Public class

MonitorEventLocalMemoryAlloc

This class represents allocation of wRTOS Local Memory by a successful call to RtAllocateLocalMemory, RtAllocateLocalMemoryEx, or any memory allocation function called by a real-time process that is configured to always use Local Memory.

Public class

MonitorEventLocalMemoryAllocFailed

This class represents an unsuccessful allocation of RTX Local Memory by a call to RtAllocateLocalMemory, RtAllocateLocalMemoryEx, or any memory allocation function called by a real-time process that is configured to always use Local Memory.

Public class

MonitorEventLocalMemoryFree

This class represents a successful call to RtFreeLocalMemory.

Public class

MonitorEventLocalMemoryFreeFail

This class represents an unsuccessful call to RtFreeLocalMemory.

Public class

MonitorEventMarker

This class represents a Marker event, which marks various monitoring lifecycle activities.

Public class

MonitorEventMemoryMap

This class represents a successful call to RtMapMemory.

Public class

MonitorEventMemoryUnmap

This class represents a successful call to RtUnmapMemory.

Public class

MonitorEventModuleLoad

This class represents a successful load of a real-time module (i.e., an RTSS or RTDLL module).

Public class

MonitorEventModuleUnload

This class represents the unloading of a real-time module (i.e., an RTSS or RTDLL module).

Public class

MonitorEventMutexCreate

This class represents creation of a real-time mutex object using RtCreateMutex. Note that an unnamed real-time mutex object is used to implement real-time critical sections, so this event will also be generated by a successful call to InitializeCriticalSeciton.

Public class

MonitorEventMutexDestroy

This class represents the destruction of a wRTOS Subsystem mutex object. A real-time object is destroyed at an undetermined time after its reference count reaches zero.

Public class

MonitorEventMutexOpen

This class represents a successful call to RtOpenMutex.

Public class

MonitorEventMutexRelease

This class represents a successful call to RtReleaseMutex.

Public class

MonitorEventPriorityDemotion

This class represents thread priority demotion.

Public class

MonitorEventPriorityPromotion

This class represents thread priority promotion.

Public class

MonitorEventProcessAffinityMaskSet

This class represents a successful call to RtSetProcessAffinityMask.

Public class

MonitorEventProcessCreate

This class represents the creation of a real-time process. This happens when RtCreateProcess is called and when a Windows process loads RTAPI.DLL, which creates a real-time proxy process for the Windows process.

Public class

MonitorEventProcessDestroy

This class represents the destruction of real-time process object. A real-time object is destroyed at an undetermined time after its reference count reaches zero.

Public class

MonitorEventProcessOpen

This class represents a successful call to RtOpenProcess.

Public class

MonitorEventReserved

This class represents a reserved event. This kind of event should never appear.

Public class

MonitorEventSemaphoreCreate

This class represents a successful call to RtCreateSemaphore.

Public class

MonitorEventSemaphoreDestroy

This class represents the destruction of a wRTOS Subsystem semaphore object. A real-time object is destroyed at an undetermined time after its reference count reaches zero.

Public class

MonitorEventSemaphoreOpen

This class represents a successful call to RtOpenSemaphore.

Public class

MonitorEventSemaphoreRelease

This class represents a successful call to RtReleaseSemaphore.

Public class

MonitorEventSharedMemoryCreate

This class represents a successful call to RtCreateSharedMemory.

Public class

MonitorEventSharedMemoryDestroy

This class represents the destruction of a wRTOS Subsystem shared memory object. A real-time object is destroyed at an undetermined time after its reference count reaches zero.

Public class

MonitorEventSharedMemoryOpen

This class represents a successful call to RtOpenSharedMemory.

Public class

MonitorEventShutdownHandlerCreate

This class represents a successful call to RtAttachShutdownHandler.

Public class

MonitorEventShutdownHandlerDestroy

This class represents the destruction of a wRTOS Subsystem shutdown handler object. A real-time object is destroyed at an undetermined time after its reference count reaches zero.

Public class

MonitorEventSriToWindows

This class represents an SRI (System Request Interrupt) from the wRTOS Subsystem to Windows. SRIs are a kind of remote procedure call from the wRTOS Subsystem running on real-time processors to the Windows kernel running on the Windows processors. SRIs are used to manage resources, such as memory, which can only be obtained from Windows. Each SRI is identified by an internal function name (see property FunctionName).

Public class

MonitorEventSriToWindowsReturn

This class represents an SRI (System Request Interrupt) returning from Windows. See class MonitorEventSriToWindows for more information about SRIs).

Public class

MonitorEventSubsystemStop

This class represents the wRTOS Subsystem stopping.

Public class

MonitorEventSuspendThread

This class represents a successful call to SuspendThread.

Public class

MonitorEventThreadAffinityMaskSet

This class represents a successful call to SetThreadAffinityMask by a real-time thread.

Public class

MonitorEventThreadCreate

This class represents creation of a real-time thread. This happens when a real-time process calls CreateThread or when a real-time proxy thread is created for a thread in a Windows appliation that has loaded RTAPI.DLL.

Public class

MonitorEventThreadDestroy

This class represents the destruction of a wRTOS Subsystem thread object. A real-time object is destroyed at an undetermined time after its reference count reaches zero.

Public class

MonitorEventThreadOpen

This class represents the instance a real-time thread is opened. This occurs when a real-time process calls OpenThread.

Public class

MonitorEventThreadPrioritySet

This class represents a successful call to RtSetThreadPriority.

Public class

MonitorEventThreadQuantumSet

This class represents a change in time quantum.

Public class

MonitorEventThreadResume

This class represents a successful call to ResumeThread.

Public class

MonitorEventThreadSleep

This class represents a successful call to Sleep, RtSleepFt, or RtSleepFtEx.

Public class

MonitorEventThreadTerminate

This class represents termination of a real-time thread.

Public class

MonitorEventTimeQuantumExpired

This class represents the expiration of a real-time thread's time quantum.

Public class

MonitorEventTimerCreate

This class represents the creation of a timer object using RtCreateTimer or RtCreateTimerEx.

Public class

MonitorEventTimerDestroy

This class represents the destruction of a real-time timer object. A real-time object is destroyed at an undetermined time after its reference count reaches zero.

Public class

MonitorEventTimerExpire

This class represents the expiration of a real-time timer.

Public class

MonitorEventTimerSet

This class represents a successful call to RtSetTimer or RtSetTimerRelative.

Public class

MonitorEventTLSAlloc

This class represents a call to TlsAlloc.

Public class

MonitorEventTLSFree

This class represents a successful call to TlsFree.

Public class

MonitorEventTLSFreeFail

This class represents an unsuccessful call to TlsFree.

Public class

MonitorEventUnhandledExceptionFilterCalled

Represents a call to a unhandled exception filter function set up with SetUnhandledExceptionFilter.

Public class

MonitorEventUnhandledExceptionFilterSet

This class represents a successful call to SetUnhandledExceptionFilter.

Public class

MonitorEventWatchdogReset

This class represents the instance a watchdog timer reset occurs on certain cores.

Public class

MonitorEventWFMOEXReturned

This class represents the return from a call to WaitForMultipleObjects or WaitForMultipleObjectsEx, whether or not the call blocked.

Public class

MonitorEventWFMOEXWait

This class represents a call to WaitForMultipleObjects and WaitForMultipleObjectsEx that blocks.

Public class

MonitorEventWFSOEXReturned

This class represents a return from a call to RtWaitForSingleObject or RtWaitForSingleObjectEx, whether the call blocked or not.

Public class

MonitorEventWFSOEXWait

This class represents a call to RtWaitForSingleObject or RtWaitForSingleObjectEx that blocks.

Public class

Subsystem

This class provides configuration and control operations for the wRTOS monitoring framework. It is important to understand the distinction between the Persistent Event Set and the Transitent Event Set. This class allows clients to configure two sets of enabled/disabled monitoring events:
-- The Persistent Event Set
-- The Transient Event Set
The Persistent Event Set is the set of enabled/disabled monitoring events persisted in the Registry. This set is configured using wRTOS Settings. Each time the wRTOS Subsystem starts, the Persistent Event Set becomes the set of enabled monitoring events. The Transient Event Set only exists when monitoring is enabled. When the Transient Event Set exists, it controls which monitoring events are enabled/disabled. At the time monitoring is enabled, the Transient Event Set is initialized from the Persistent Event Set. The Transient Event Set is modified using wRTOS Monitor. Changes to the Transient Event Set do not affect the Persistent Event Set. When monitoring is disabled, the Transient Event Set is destroyed. The following APIs in this class provide a bool parameter to control whether the API operates on the Transient Event Set or the Persistent Event Set:
MF_EVENT_KIND[] GetMonitorEvents(bool persistant)
MF_EVENT_KIND[] DisableMonitorEvents(MF_EVENT_KIND monitorEvent, bool persistent)
MF_EVENT_KIND[] DisableMonitorEvents(bool persistent)
MF_EVENT_KIND[] DisableMonitorEvents(MF_EVENT_KIND[] monitorEventList, bool persistent)
MF_EVENT_KIND[] EnableMonitorEvents(MF_EVENT_KIND monitorEvent, bool persistent)
MF_EVENT_KIND[] EnableMonitorEvents(bool persistent)
MF_EVENT_KIND[] EnableMonitorEvents(MF_EVENT_KIND[] monitorEventList, bool persistent)
If the bool parameter in each of the above APIs is set to true, the API operates on the Persistent Event Set, otherwise the API operates on the Transient Event Set. If monitoring is not enabled (i.e., the Transient Event Set does not exist) and these APIs are commanded to operate on the Transient Event Set, these APIs throw an exception.

Interfaces

 

Enumeration Description

Public interface

IMonitorSubsystem

This interface is the abstraction of the concrete implementation by class Subsystem.

Enumerations

 

Enumeration Description

Public enumeration

CLOCK

This enumeration represents the wRTOS clock types. These enumerators match the possible values for type CLOCK defined in RtApi.h.

Public enumeration

INTERFACE_TYPE

This enumeration represents various bus interface types. This is used in Attach Interrupt Line-based events.

Public enumeration

MEMORY_CACHING_TYPE

This enumeration represents the kind of caching available for Memory Map events. This matches enumeration MEMORY_CACHING_TYPE defined in RtApi.h.

Public enumeration

MF_EVENT_KIND

This enumeration represents the various kinds of monitoring events. See property Kind.

Public enumeration

MonitorMarkerKind

Public enumeration

ObjectType

This enumeration represents various wRTOS internal object types.

Public enumeration

Subsystem.MonitorComponent

This enumeration represents the product components that can have monitor event generation enabled/disabled.

Public enumeration

Subsystem.MonitorState

This enumeration represents the states of the monitoring framework.

Public enumeration

Subsystem.TriggerKinds

This enumeration represents the various types of event triggers that can be set, reset, and fetched using the public methods of this class. This enumeration is a Flags enumeration, which means its enumerators have values that are powers of 2 that can be combined using the bitwise operators. See https://msdn.microsoft.com/en-us/library/system.flagsattribute.aspx for details.