IntervalZero.RTX64.Monitor Namespace

Classes
ClassDescription
Public classEventReader
This class provides functionality to read monitoring events from monitoring session log folders. Instances of subclasses of class MonitorEvent represent each event.
Public classMonitorEvent
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 classMonitorEventAttachInterruptLineBased
This class represents a successful call to RtAttachInterrupt for a line-based interrupt.
Public classMonitorEventAttachInterruptMessageBased
This class represents a successful call to RtAttachInterrupt for a message-based interrupt.
Public classMonitorEventCancelTimer
This class represents a successful call to RtCancelTimer.
Public classMonitorEventCLOSSet This class represents a change of Class of Service (CLOS) to a thread.
Public classMonitorEventContextSwitch
This class represents a thread context switch.
Public classMonitorEventContiguousMemoryAlloc
This represent a successful call to RtAllocateContiguousMemory.
Public classMonitorEventContiguousMemoryAllocFailed
This class represents an unsuccessful call to RtAllocateContiguousMemory.
Public classMonitorEventContiguousMemoryAllocSpecifyCache
This class represents a successful call to RtAllocateContiguousMemorySpecifyCache.
Public classMonitorEventContiguousMemoryAllocSpecifyCacheFailed
This class represents an unsuccessful call to RtAllocateContiguousMemorySpecifyCache.
Public classMonitorEventContiguousMemoryFree
This class represents a successful call to RtFreeContiguousMemory.
Public classMonitorEventContiguousMemoryFreeFail
This class represents an unsuccessful call to RtFreeContiguousMemory.
Public classMonitorEventCriticalSectionDelete
This class represents a successful call to DeleteCriticalSection.
Public classMonitorEventCriticalSectionEnter
This class represents a successful call to EnterCriticalSection.
Public classMonitorEventCriticalSectionInit
This class represents a successful call to InitializeCriticalSection.
Public classMonitorEventCriticalSectionLeave
This class represents a successful call to LeaveCriticalSection.
Public classMonitorEventCustom
This class represents a custom event generated by a successful call to RtGenerateEvent.
Public classMonitorEventDataLost
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 RTX64 Monitor utility or Control Panel to monitor fewer events and/or use the RTX64 Control Panel to increase the amount of non-paged pool memory allocated to monitoring.
Public classMonitorEventEventCreate
This class represents a successful call to RtCreateEvent.
Public classMonitorEventEventDestroy
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 classMonitorEventEventOpen
This class represents a successful call to RtOpenEvent.
Public classMonitorEventEventPulse
This class represents a successful call to RtPulseEvent.
Public classMonitorEventEventReset
This class represents a successful call to RtResetEvent.
Public classMonitorEventEventSet
This class represents a successful call to RtSetEvent.
Public classMonitorEventExceptionInterrupt
This class represents a real-time exception interrupt.
Public classMonitorEventFastSemaphoreAcquire
This class represents a successful call to RtAcquireFastSemaphore.
Public classMonitorEventFastSemaphoreInit
This class represents a successful call to RtInitializeFastSemaphore.
Public classMonitorEventFastSemaphoreRelease
This class represents a successful call to RtReleaseFastSemaphore.
Public classMonitorEventFastSemaphoreReleaseAll
This class represents a successful call to RtReleaseAllFastSemaphore.
Public classMonitorEventFileCreate
This class represents a successful call to CreateFile.
Public classMonitorEventFileDestroy
This class represents the destruction of the internal RTX64 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 classMonitorEventHandleClosed
This class represents a successful call to RtCloseHandle.
Public classMonitorEventHeapAlloc
This class represents a successful call to HeapAlloc.
Public classMonitorEventHeapAllocFailed
This class represents an unsuccessful call to HeapAlloc.
Public classMonitorEventHeapCreate
This class represents a successful call to HeapCreate.
Public classMonitorEventHeapDestroy
This class represents the destruction of an RTX64 Subsystem heap object. A real-time object is destroyed at an undetermined time after its reference count reaches zero.
Public classMonitorEventHeapFree
This class represents a successful call to HeapFree by a real-time process.
Public classMonitorEventHeapFreeFail
This class represents an unsuccessful call to HeapFree by a real-time process.
Public classMonitorEventHeapReAllocThis 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 classMonitorEventIdealProcessorSet
This class represents a successful call to SetThreadIdealProcessor by a real-time thread.
Public classMonitorEventInterruptLineBasedRelease
This class represents a successful call to RtReleaseInterrupt for a line-based interrupt.
Public classMonitorEventInterruptMessagebasedRelease
This class represents a successful call to RtReleaseInterrupt for a message-based interrupt.
Public classMonitorEventIstHandler
This class represents a call to an Interrupt Service Thread (IST) handler function.
Public classMonitorEventLocalMemoryAlloc
This class represents allocation of RTX64 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 classMonitorEventLocalMemoryAllocFailed
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 classMonitorEventLocalMemoryExpand
This class represents a the expansion of the RTX64 Local Memory pool. This happens for a successful call to RtExpandMSpace or when Local Memory expansion is configured to happen automatically and a process configured to use Local Memory needs to allocate more memory than is currently available in the Local Memory pool.
Public classMonitorEventLocalMemoryFree
This class represents a successful call to RtFreeLocalMemory.
Public classMonitorEventLocalMemoryFreeFail
This class represents an unsuccessful call to RtFreeLocalMemory.
Public classMonitorEventLocalMemoryShrink
This class represents the shrinkage of the RTX Local Memory pool. This happens for a successful call to RtShrinkMSpace or when a process is configurated to use Local Memory and it returns Local Memory memory to Windows.
Public classMonitorEventMarker
This class represents a Marker event, which marks various monitoring lifecycle activities.
Public classMonitorEventMemoryMap
This class represents a successful call to RtMapMemory.
Public classMonitorEventMemoryUnmap
This class represents a successful call to RtUnmapMemory.
Public classMonitorEventModuleLoad
This class represents a successful load of a real-time module (i.e., an RTSS or RTDLL module).
Public classMonitorEventModuleUnload
This class represents the unloading of a real-time module (i.e., an RTSS or RTDLL module).
Public classMonitorEventMutexCreate
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 classMonitorEventMutexDestroy
This class represents the destruction of an RTX64 Subsystem mutex object. A real-time object is destroyed at an undetermined time after its reference count reaches zero.
Public classMonitorEventMutexOpen
This class represents a successful call to RtOpenMutex.
Public classMonitorEventMutexRelease
This class represents a successful call to RtReleaseMutex.
Public classMonitorEventPriorityDemotion
This class represents thread priority demotion.
Public classMonitorEventPriorityPromotion
This class represents thread priority promotion.
Public classMonitorEventProcessAffinityMaskSet
This class represents a successful call to RtSetProcessAffinityMask.
Public classMonitorEventProcessCreate
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 classMonitorEventProcessDestroy
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 classMonitorEventProcessOpen
This class represents a successful call to RtOpenProcess.
Public classMonitorEventReserved
This class represents a reserved event. This kind of event should never appear.
Public classMonitorEventSemaphoreCreate
This class represents a successful call to RtCreateSemaphore.
Public classMonitorEventSemaphoreDestroy
This class represents the destruction of an RTX64 Subsystem semaphore object. A real-time object is destroyed at an undetermined time after its reference count reaches zero.
Public classMonitorEventSemaphoreOpen
This class represents a successful call to RtOpenSemaphore.
Public classMonitorEventSemaphoreRelease
This class represents a successful call to RtReleaseSemaphore.
Public classMonitorEventSharedMemoryCreate
This class represents a successful call to RtCreateSharedMemory.
Public classMonitorEventSharedMemoryDestroy
This class represents the destruction of an RTX64 Subsystem shared memory object. A real-time object is destroyed at an undetermined time after its reference count reaches zero.
Public classMonitorEventSharedMemoryOpen
This class represents a successful call to RtOpenSharedMemory.
Public classMonitorEventShutdownHandlerCalled
This class represents a call to a shutdown handler function previously registered using RtAttachShutdownHandler.
Public classMonitorEventShutdownHandlerCreate
This class represents a successful call to RtAttachShutdownHandler.
Public classMonitorEventShutdownHandlerDestroy
This class represents the destruction of an RTX64 Subsystem shutdown handler object. A real-time object is destroyed at an undetermined time after its reference count reaches zero.
Public classMonitorEventSriToWindows
This class represents an SRI (System Request Interrupt) from the RTX64 Subsystem to Windows. SRIs are a kind of remote procedure call from the RTX64 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 classMonitorEventSriToWindowsReturn
This class represents an SRI (System Request Interrupt) returning from Windows. See class MonitorEventSriToWindows for more information about SRIs).
Public classMonitorEventSubsystemStop
This class represents the RTX64 Subsystem stopping.
Public classMonitorEventSuspendThread
This class represents a successful call to SuspendThread.
Public classMonitorEventThreadAffinityMaskSet
This class represents a successful call to SetThreadAffinityMask by a real-time thread.
Public classMonitorEventThreadCreate
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 classMonitorEventThreadDestroy
This class represents the destruction of an RTX64 Subsystem thread object. A real-time object is destroyed at an undetermined time after its reference count reaches zero.
Public classMonitorEventThreadOpenThis class represents the instance a real-time thread is opened. This occurs when a real-time process calls OpenThread.
Public classMonitorEventThreadPrioritySet
This class represents a successful call to RtSetThreadPriority.
Public classMonitorEventThreadQuantumSet
This class represents a successful call to RtSetThreadTimeQuantume.
Public classMonitorEventThreadResume
This class represents a successful call to ResumeThread.
Public classMonitorEventThreadSleep
This class represents a successful call to Sleep, RtSleepFt, or RtSleepFtEx.
Public classMonitorEventThreadTerminate
This class represents termination of a real-time thread.
Public classMonitorEventTimeQuantumExpired
This class represents the expiration of a real-time thread's time quantum.
Public classMonitorEventTimerCreate
This class represents the creation of a timer object using RtCreateTimer or RtCreateTimerEx.
Public classMonitorEventTimerDestroy
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 classMonitorEventTimerExpire
This class represents the expiration of a real-time timer.
Public classMonitorEventTimerSet
This class represents a successful call to RtSetTimer or RtSetTimerRelative.
Public classMonitorEventTLSAlloc
This class represents a call to TlsAlloc.
Public classMonitorEventTLSFree
This class represents a successful call to TlsFree.
Public classMonitorEventTLSFreeFail
This class represents an unsuccessful call to TlsFree.
Public classMonitorEventUnhandledExceptionFilterCalled
Represents a call to a unhandled exception filter function set up with SetUnhandledExceptionFilter.
Public classMonitorEventUnhandledExceptionFilterSet
This class represents a successful call to SetUnhandledExceptionFilter.
Public classMonitorEventWatchdogResetThis class represents the instance a watchdog timer reset occurs on certain cores.
Public classMonitorEventWFMOEXReturned
This class represents the return from a call to WaitForMultipleObjects or WaitForMultipleObjectsEx, whether or not the call blocked.
Public classMonitorEventWFMOEXWait
This class represents a call to WaitForMultipleObjects and WaitForMultipleObjectsEx that blocks.
Public classMonitorEventWFSOEXReturned
This class represents a return from a call to WaitForSingleObject or WaitForSingleObjectEx, whether the call blocked or not.
Public classMonitorEventWFSOEXWait
This class represents a call to WaitForSingleObject or WaitForSingleObjectEx that blocks.
Public classMonitorEventWindowsMemoryAlloc
This class represents a successful allocation of Windows memory. This happens when any memory allocation function is called from a real-time process that is configured to use Windows memory instead of RTX64 Local Memory.
Public classMonitorEventWindowsMemoryAllocFailed
This class represents an unsuccesful attempt to allocate Windows memory.
Public classMonitorEventWindowsMemoryFree
This class represents a successful attempt to free Windows memory. This happens when any memory free call successfully returns memory back to Windows. Note that many memory management APIs can successfully free memory without returning it to the operating system.
Public classMonitorEventWindowsMemoryFreeFail
This class represents an attempt to free Windows memory fails.
Public classSubsystem
This class provides configuration and control operations for the RTX64 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 the RTX64 Control Panel. Each time the RTX64 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 the RTX64 Monitor utility. 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
InterfaceDescription
Public interfaceIMonitorSubsystem
This interface is the abstraction of the concrete implementation by class Subsystem.
Enumerations
EnumerationDescription
Public enumerationCLOCK
This enumeration represents the RTX64 clock types. These enumerators match the possible values for type CLOCK defined in rtapi.h.
Public enumerationINTERFACE_TYPE
This enumeration represents various bus interface types. This is used in Attach Interrupt Line-based events.
Public enumerationMEMORY_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 enumerationMF_EVENT_KIND
This enumeration represents the various kinds of monitoring events. See property Kind.
Public enumerationMonitorMarkerKind
Public enumerationObjectType
This enumeration represents various RTX64 internal object types.
Public enumerationSubsystem.MonitorComponentThis enumeration represents the product components that can have monitor event generation enabled/disabled.
Public enumerationSubsystemMonitorState
This enumeration represents the states of the monitoring framework.
Public enumerationSubsystemTriggerKinds
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.