Classes | |
struct | TIdArray |
Defines an array of MPI ids. More... | |
struct | SVersionInfo |
Defines MPI version information. More... | |
struct | SConfigData |
struct | SLineNumberTableEntry |
Defines a mapping between two types of offsets. More... | |
struct | SLineNumberTable |
Defines a line number table. More... | |
struct | SDotNetModulePrejit |
Defines .NET module pre-JIT information. More... | |
struct | SCodeRegion |
Defines a region of continuous native (JITted) code. More... | |
struct | SCodeInfo |
struct | SStackEntry |
Defines stack entry information. More... | |
struct | SStackTrace |
Defines a stack trace. More... | |
struct | SGgMovedRefInfo |
Defines .NET GC Moved References information. More... | |
struct | SJavaDynamicCode |
Defines JVM internal dynamic code information. More... | |
struct | SMethodLineNumbers |
Defines a method's first and last source line numbers. More... | |
struct | SArrayDimensionInfo |
Defines array dimension information. More... | |
struct | SArrayDimensionsInfos |
Defines array dimensions. More... | |
struct | SArrayInfo |
Defines array information. More... | |
struct | SObjectInfo |
Defines object information for the IMpi::GetObjectInfo API and the Heap events. More... | |
interface | IEventObserver |
A base interface for all Event Observer interfaces. More... | |
struct | SNewMethodEventData |
Defines New Method event data. More... | |
interface | INewMethodEventObserver |
Observer interface for receiving New Method events. More... | |
struct | SMethodEnterEventData |
Defines Method Enter event data. More... | |
interface | IMethodEnterEventObserver |
Observer interface for receiving Method Enter events. More... | |
struct | SMethodLeaveEventData |
Defines Method Leave event data. More... | |
interface | IMethodLeaveEventObserver |
Observer interface for receiving Method Leave events. More... | |
struct | SJittedMethodLoadedEventData |
Defines JITted Method Loaded event data. More... | |
interface | IJittedMethodLoadedEventObserver |
Observer interface for receiving JITted Method Loaded events. More... | |
struct | SJittedMethodUnloadedEventData |
Defines JITted Method Unloaded event data. More... | |
interface | IJittedMethodUnloadedEventObserver |
Observer interface for receiving JITted Method Unloaded events. More... | |
struct | SThreadEventData |
Defines Thread events data. More... | |
interface | IThreadStartEventObserver |
Observer interface for receiving Thread Start events. More... | |
interface | IThreadEndEventObserver |
Observer interface for receiving Thread End events. More... | |
struct | SMonitorWaitEventData |
Defines Monitor Wait event data. More... | |
interface | IMonitorWaitEventObserver |
Observer interface for receiving Monitor Wait events. More... | |
struct | SMonitorWaitedEventData |
Defines Monitor Waited event data. More... | |
interface | IMonitorWaitedEventObserver |
Observer interface for receiving Monitor Waited events. More... | |
struct | SContendedMonitorEnterEventData |
Defines Contended Monitor Enter event data. More... | |
interface | IContendedMonitorEnterEventObserver |
Observer interface for receiving Contended Monitor Enter events. More... | |
struct | SContendedMonitorEnteredEventData |
Defines Contended Monitor Entered event data. More... | |
interface | IContendedMonitorEnteredEventObserver |
Observer interface for receiving Contended Monitor Entered events. More... | |
struct | SThreadInteractionEventData |
Defines Thread Interaction event data. More... | |
interface | IThreadInteractionEventObserver |
Observer interface for receiving Thread Interaction events. More... | |
struct | SHeapEventData |
Defines Heap events data. More... | |
interface | IObjectAllocEventObserver |
Observer interface for receiving Object Alloc events. More... | |
interface | IObjectFreeEventObserver |
Observer interface for receiving Object Free events. More... | |
interface | IGcStartEventObserver |
Observer interface for receiving Garbage Collection Start events. More... | |
interface | IGcEndEventObserver |
Observer interface for receiving Garbage Collection Finish events. More... | |
struct | SGcMovedRefEventData |
Defines Garbage Collection Moved References event data. More... | |
interface | IGcMovedReferencesEventObserver |
Observer interface for receiving Garbage Collection Moved References events (.NET only). More... | |
struct | SVmInitEventData |
Defines VM Init event data. More... | |
interface | IVmInitEventObserver |
Observer interface for receiving VM Init events. More... | |
interface | IVmShutdownEventObserver |
Observer interface for receiving VM Shutdown events. More... | |
struct | SDotNetMethodInstrEventData |
Defines .NET Method Instrumentation event data. More... | |
interface | IDotNetMethodInstrumentationPointEventObserver |
Observer interface for receiving .NET Method Instrumentation Point events (.NET only). More... | |
struct | SDotNetModuleEventData |
Defines .NET Module events data. More... | |
interface | IDotNetModuleUnloadStartEventObserver |
Observer interface for receiving .NET Module Unload Started events (.NET only). More... | |
interface | IDotNetModuleLoadFinishEventObserver |
Observer interface for receiving .NET Module Load Finished events (.NET only). More... | |
struct | SJavaDynamicCodeEventData |
Defines Java Dynamic Code Generated event data. More... | |
interface | IJavaDynamicCodeGeneratedEventObserver |
Observer interface for receiving Java Dynamic Code Generated events (Java only). More... | |
struct | SClassFileLoadHookEventData |
Defines Java Class File Load Hook event data. More... | |
interface | IJavaClassFileLoadHookEventObserver |
Observer interface for receiving Java Class File Load Hook events (Java 5.0+ only). More... | |
struct | SSetOutputDirEventData |
Defines Set Output Directory event data. More... | |
interface | IEcSetOutputDirEventObserver |
Observer interface for receiving Set Output Directory events from External Controllers. More... | |
interface | IEcStartEventObserver |
Observer interface for receiving Start events from External Controllers. More... | |
interface | IEcStopEventObserver |
Observer interface for receiving Stop events from External Controllers. More... | |
interface | IEcAttachEventObserver |
Observer interface for receiving Attach events from External Controllers. More... | |
interface | IEcDetachEventObserver |
Observer interface for receiving Detach events from External Controllers. More... | |
struct | SCustomCommandEventData |
Defines Custom Command event data. More... | |
interface | IEcCustomCommandEventObserver |
Observer interface for receiving Custom Command events from External Controllers. More... | |
struct | SCallGraphFilterData |
Defines data for the Call Graph events filter. More... | |
interface | ICallGraphFilter |
Event Filter interface for defining selectivity for Call Graph events. More... | |
struct | SHeapFilterData |
Defines data for the Heap events filter. More... | |
interface | IHeapFilter |
Event Filter interface for defining selectivity for Heap events. More... | |
struct | SThreadInteractionFilterData |
Defines data for the Thread Interaction events filter. More... | |
interface | IThreadInteractionFilter |
Event Filter interface for defining selectivity for Thread Interaction events. More... | |
struct | SMethodInfo |
Defines method information for the IMpi::GetMethodInfo API. More... | |
struct | SClassInfo |
Defines class information for the IMpi::GetClassInfo API. More... | |
struct | SObjectDataRequest |
Defines object information for the IMpi::GetObjectInfo API. More... | |
struct | SThreadInfo |
Defines thread information for the IMpi::GetThreadInfo API. More... | |
struct | SThreadInfoArrayEntry |
Defines information for an entry in an SThreadInfoArray. More... | |
struct | SThreadInfoArray |
Defines thread information array for the IMpi::GetAllThreadsInfo API. More... | |
struct | SModuleInfo |
Defines module information for the IMpi::GetModuleInfo API. More... | |
struct | SObjectReference |
Defines information for an object reference. More... | |
struct | SObjectReferenceInfo |
Defines object reference information for the IMpi::GetObjectReferences API. More... | |
interface | IMpi |
Martini Profiling Interface functions. More... | |
interface | IEventFilter |
Event Filter interface. More... | |
Defines all MPI supported events | |
This is a list of all supported MPI events. However there are multiple modules that implement MPI, not all of them support the entire set of events. Unsupported events will result in a proper return value during event registration via IMpi::RegisterEvent()
| |
typedef unsigned int | TEventType |
const TEventType | EV_NONE = 0 |
const TEventType | EV_METHOD_ENTER = 1 |
const TEventType | EV_METHOD_LEAVE = 2 |
const TEventType | EV_NEW_METHOD = 3 |
const TEventType | EV_JITTED_METHOD_LOADED = 4 |
const TEventType | EV_JITTED_METHOD_UNLOADED = 5 |
const TEventType | EV_THREAD_START = 6 |
const TEventType | EV_THREAD_END = 7 |
const TEventType | EV_OBJECT_ALLOC = 8 |
const TEventType | EV_OBJECT_FREE = 9 |
const TEventType | EV_GC_START = 10 |
const TEventType | EV_GC_END = 11 |
const TEventType | EV_GC_MOVED_REFERENCES = 12 |
const TEventType | EV_VM_INIT = 13 |
const TEventType | EV_VM_SHUTDOWN = 14 |
const TEventType | EV_DOTNET_METHOD_INSTRUMENTATION_POINT = 15 |
const TEventType | EV_DOTNET_MODULE_UNLOAD_STARTED = 16 |
const TEventType | EV_DOTNET_MODULE_LOAD_FINISHED = 17 |
const TEventType | EV_JAVA_DYNAMIC_CODE_GENERATED = 18 |
const TEventType | EV_EC_START = 19 |
const TEventType | EV_EC_STOP = 20 |
const TEventType | EV_EC_SET_OUTPUT_DIRECTORY = 21 |
const TEventType | EV_EC_ATTACH = 22 |
const TEventType | EV_EC_DETACH = 23 |
const TEventType | EV_EC_CUSTOM_COMMAND = 24 |
const TEventType | EV_MONITOR_WAIT = 25 |
const TEventType | EV_MONITOR_WAITED = 26 |
const TEventType | EV_CONTENDED_MONITOR_ENTER = 27 |
const TEventType | EV_CONTENDED_MONITOR_ENTERED = 28 |
const TEventType | EV_JAVA_CLASS_FILE_LOAD_HOOK = 29 |
const TEventType | EV_THREAD_INTERACTION = 30 |
const TEventType | EV_LAST = 31 |
Typedefs | |
typedef U64 | TId |
Id Type for most MPI elements: modules, classes, methods, etc... | |
typedef U64 | TTimeStamp |
Time stamp type. | |
typedef U32 | TDataRequestType |
Data Type for MPI Data Request Types. | |
typedef TResult(* | TDotNetUnmanagedStackWalkCallBack )(SThreadInfo *pData, void *context, unsigned int contextSize, U64 firstUnmanagedCallSiteIP, U64 terminatingManagedCallSiteIP) |
callback function for unmanaged stack walk (.NET only) | |
typedef TResult(* | TClientInstantiate )(IMpi *pMpiApi, TId clientId, const char *szOptions) |
Prototype of MPI client initialization function. | |
typedef U32 | BitSet |
Bit set. | |
Enumerations | |
enum | EEventGroup { EG_NONE, EG_CALL_GRAPH, EG_HEAP, EG_MONITOR, EG_THREAD_INTERACTION, EG_LAST } |
Defines MPI Event Groups. More... | |
enum | EMessageType { MT_ERROR, MT_INFORMATIVE, MT_DEBUG } |
Defines message types for the IMpi::MessageLog function. More... | |
enum | EMessageDest { MD_LOG_FILE = 0x01, MD_EXTERNAL_CONTROL = 0x02 } |
Defines possible destinations for messages sent with the IMpi::MessageLog function. More... | |
enum | EConfigurationFlags { CF_NONE = 0x00000000, CF_DOTNET_USE_VM_IDS = 0x00010000, CF_DOTNET_NO_INLINING = 0x00020000, CF_DOTNET_DISABLE_PREJIT_USE = 0x00040000, CF_LAST = 0x80080000 } |
enum | ERuntimeType { RT_JAVA = 2, RT_DOTNET, RT_JIT_PROFILING = 9, RT_UNDEFINED } |
Defines MPI supported runtime types (Virtual Machines). More... | |
enum | EMethodAccessType { MAT_NONE = 0, MAT_CLASS_INTERNAL, MAT_PACKAGE_INTERNAL, MAT_MODULE_INTERNAL = MAT_PACKAGE_INTERNAL, MAT_PACKAGE_API, MAT_MODULE_API = MAT_PACKAGE_API } |
Defines method access (scope or visibility) types. More... | |
enum | EArrayType { AT_NONE, AT_CLASS, AT_BOOL, AT_CHAR, AT_S1, AT_U1, AT_S2, AT_U2, AT_S4, AT_U4, AT_S8, AT_U8, AT_FLOAT, AT_DOUBLE, AT_STRING, AT_VOID, AT_OTHER, AT_LAST } |
Defines array types. More... | |
enum | EThreadInteractionType { IT_NOTIFY_ALL = 1, IT_NOTIFY = 2, IT_INTERRUPT = 3, IT_START = 4 } |
Defines Thread Interaction types. More... | |
enum | EThreadState { TS_UNKNOWN, TS_UNSTARTED, TS_RUNNING, TS_SLEEPING, TS_BLOCKED, TS_WAITING, TS_TERMINATED } |
Defines thread states. More... | |
enum | EObjectReferenceType { OR_CLASS = 1, OR_FIELD = 2, OR_ARRAY_ELEMENT = 3, OR_JAVA_CLASS_LOADER = 4, OR_JAVA_REFERENCE_SIGNERS = 5, OR_JAVA_PROTECTION_DOMAIN = 6, OR_INTERFACE = 7, OR_STATIC_FIELD = 8, OR_CONSTANT_POOL = 9, OR_SUPERCLASS = 10, OR_JAVA_JNI_GLOBAL = 21, OR_SYSTEM_CLASS = 22, OR_MONITOR = 23, OR_STACK_LOCAL = 24, OR_JAVA_JNI_LOCAL = 25, OR_THREAD = 26, OR_OTHER = 27 } |
Defines object reference types. More... | |
Variables | |
Data Request Types | |
const TDataRequestType | DR_NONE = 0x00000000 |
No data. | |
const TDataRequestType | DR_THREAD_ID = 0x00000001 |
Thread id. Unique for the duration of the profiled application. | |
const TDataRequestType | DR_MODULE_ID = 0x00000002 |
Unique module id. | |
const TDataRequestType | DR_CLASS_ID = 0x00000004 |
Unique class id. | |
const TDataRequestType | DR_METHOD_ID = 0x00000008 |
Unique method id. | |
const TDataRequestType | DR_OBJECT_ID = 0x00000010 |
Unique object id. | |
const TDataRequestType | DR_METHOD_NAME = 0x00010000 |
Method name (developer-friendly). | |
const TDataRequestType | DR_METHOD_SIGNATURE = 0x00020000 |
Method signature (developer-friendly). | |
const TDataRequestType | DR_SOURCE_FILE_NAME = 0x00040000 |
Name of the source file in which a method is defined. | |
const TDataRequestType | DR_METHOD_LINE_NUMBERS = 0x00080000 |
First and last source file line numbers of a method. | |
const TDataRequestType | DR_MODULE_NAME = 0x00100000 |
Module name. | |
const TDataRequestType | DR_CLASS_NAME = 0x00200000 |
Class name. | |
const TDataRequestType | DR_METHOD_CODE = 0x00400000 |
Compiled method code. | |
const TDataRequestType | DR_NATIVE_TO_SRC_LINE_MAP = 0x00800000 |
Mapping of compiled method JITted (native) code to source line numbers. | |
const TDataRequestType | DR_NATIVE_TO_MANAGED_LINE_MAP = 0x01000000 |
Mapping of compiled method JITted (native) code to managed code (Java byte-code or .NET IL) offsets. | |
const TDataRequestType | DR_MANAGED_TO_SRC_LINE_MAP = 0x02000000 |
Mapping of managed code (Java byte-code or .NET IL) to source line numbers. | |
const TDataRequestType | DR_JAVA_NATIVE_CLASS_NAME = 0x04000000 |
Native (non-translated) class name (Java-only). | |
const TDataRequestType | DR_DOTNET_MODULE_PREJIT = 0x10000000 |
const TDataRequestType | DR_DOTNET_METHOD_TOKEN = 0x20000000 |
Method token (.NET only). | |
const TDataRequestType | DR_JAVA_NATIVE_METHOD_NAME = 0x40000000 |
Native (non-translated) method name (Java-only). | |
const TDataRequestType | DR_JAVA_NATIVE_METHOD_SIGNATURE = 0x80000000 |
Native (mangled) method signature (Java-only). | |
const TDataRequestType | DR_THREAD_NAME = 0x00010000 |
Thread name. | |
const TDataRequestType | DR_THREAD_GROUP = 0x00020000 |
Thread group name. Currently supported only for Java. | |
const TDataRequestType | DR_THREAD_PARENT_GROUP = 0x00040000 |
Name of the parent group of this thread's group. Currently supported only for Java. | |
const TDataRequestType | DR_ABSOLUTE_NATIVE_STACK_TRACE = 0x00080000 |
Stack trace of the current thread, using absolute machine IP (.NET only). | |
const TDataRequestType | DR_VM_RELATIVE_STACK_TRACE = 0x00100000 |
Stack trace of the current thread, using relative VM instruction offsets. | |
const TDataRequestType | DR_THREAD_ELAPSED_TIME = 0x00200000 |
Thread elapsed time. | |
const TDataRequestType | DR_THREAD_CPU_TIME = 0x00400000 |
Thread elapsed time. | |
const TDataRequestType | DR_THREAD_STATE = 0x00800000 |
Thread state. | |
const TDataRequestType | DR_CURRENT_MONITOR = 0x01000000 |
Id of the object (if any) whose monitor the thread is waiting for (Java only). | |
const TDataRequestType | DR_THREAD_INFO |
Thread information (name, group and parent group). | |
const TDataRequestType | DR_MONITOR_OWNER_THREAD_ID = 0x00010000 |
Id of the thread owning the contended monitor. | |
const TDataRequestType | DR_OBJECT_INFO = 0x00020000 |
Object information. | |
const TDataRequestType | DR_MONITOR_TIMEOUT = 0x00040000 |
Monitor timeout for "wait" operations, in milliseconds. | |
const TDataRequestType | DR_MONITOR_TIMED_OUT = 0x00800000 |
Monitor timeout expiration status for "wait" operations. | |
const TDataRequestType | DR_THREAD_INTERACTION_TYPE = 0x01000000 |
Type of interaction between threads,. | |
const TDataRequestType | DR_MONITOR_OWN_WAITERS = 0x00080000 |
List of threads waiting to own the monitor. | |
const TDataRequestType | DR_MONITOR_NOTIFY_WAITERS = 0x00100000 |
List of threads waiting to be notified by the monitor. | |
const TDataRequestType | DR_ALLOC_VM_INSTRUCTION_OFFSET = 0x00200000 |
The VM instruction index (relative to the beginning of the method) where an object was allocated. Can be used with DR_METHOD_ID to identify the object allocation site (Java-only). | |
const TDataRequestType | DR_OBJECT_AGE = 0x00400000 |
The number of Garbage Collection cycles an object survived (Java-only). | |
const TDataRequestType | DR_JAVA_HEAP_USAGE = 0x00010000 |
Heap usage information. Used with SHeapUsage (Java-only). | |
const TDataRequestType | DR_ACTIVITY_PATH = 0x00010000 |
Activity path defined by an External Controller with the EV_EC_CONFIGURE event. | |
const TDataRequestType | DR_DOTNET_GC_MOVED_REF_INFO = 0x00010000 |
Information about objects moved during Garbage Collection (.NET only). | |
const TDataRequestType | DR_JAVA_DYNAMIC_CODE = 0x00010000 |
Dynamic code information (Java-only). | |
const TDataRequestType | DR_COMMAND_ID = 0x00010000 |
Id of a Custom Command passed with the EV_EC_CUSTOM_COMMAND event. | |
const TDataRequestType | DR_COMMAND_DATA = 0x00020000 |
Custom Command Data passed with the EV_EC_CUSTOM_COMMAND event. |
typedef TResult(* TClientInstantiate)(IMpi *pMpiApi, TId clientId, const char *szOptions) |
The MPI client must implement an initialization function whose name is MPICL_Instantiate and whose type is TClientInstantiate. This method is called during initialization phase by the module that implements MPI. The client is expected to initialize itself and register for events from within this function.
[in] | pMpiAPI | MPI interface object. With this interface object all MPI API's can be called |
[in] | clientId | Id of the client, to be passed with all MPI functions. |
[in] | szOptions | Client-specific options in the following format: param=value[,param=value]* |
MRTE_RESULT_OK | Client successfully initialized | |
MRTE_RESULT_FAIL | Client failed to initialize | |
MRTE_RESULT_OUT_OF_MEMORY | Out of memory | |
MRTE_ERROR_PHASE_FAILURE | Can't instantiate after initialization phase |
typedef TResult(* TDotNetUnmanagedStackWalkCallBack)(SThreadInfo *pData, void *context, unsigned int contextSize, U64 firstUnmanagedCallSiteIP, U64 terminatingManagedCallSiteIP) |
A .NET-specific callback function that informs clients of an unmanaged stack frame encountered during a Stack Trace request (
firstUnmanagedCallSiteIP
and terminatingManagedCallSiteIP
arguments can be used to determine the start and end IPs of the unmanged frame(s).[in,out] | pData | The pData argument supplied to GetThreadInfo . The client can use this to populate the pData->nativeAbsoluteStack field with unmanged stack frame information. |
[in] | context | The context (machine registers, etc) of the unmanged frame. |
[in] | contextSize | The size of the context parameter in bytes |
[in] | firstUnmanagedCallSiteIP | IP of the first unmanaged call site. |
[in] | terminatingManagedCallSiteIP | IP of the next managed frame following this unmanaged frame. May be 0 if not enough space was allocated for the stack trace array. |
MRTE_RESULT_OK
to notify the Martini implementation to continue stack walk, or any other value (e.g, MRTE_ERROR_FAIL
) to terminate the stack walk.
enum EArrayType |
Enumerator indicating the type of an array object. Used with the SObjectInfo struct.
enum EConfigurationFlags |
Defines configuration options
Used with the IMpi::Configure() function as a bit-mask for the configuration options of the loaded Martini interface module.
CF_NONE | None. |
CF_DOTNET_USE_VM_IDS |
Set this to receive native VM id's instead of MPI allocated id's.
Applies for the following MPI elements: thread, module, class and method |
CF_DOTNET_NO_INLINING | Set this to disable inlining in the VM. |
CF_DOTNET_DISABLE_PREJIT_USE | Set this to disable the VM from using pre-JITted (NGEN'ed) modules. |
CF_LAST | End sentinel. |
enum EEventGroup |
Defines MPI Event Groups.
enum EMessageDest |
Defines possible destinations for messages sent with the IMpi::MessageLog function. Values can be OR'ed together to specify multiple destinations.
MD_LOG_FILE | Message is sent to the log file of the MPI module. |
MD_EXTERNAL_CONTROL | Message is sent to an External Control module, if one is loaded. |
enum EMessageType |
Defines message types for the IMpi::MessageLog function
enum EMethodAccessType |
Defines method access (scope or visibility) types. Used with Call Graph filters
enum EObjectReferenceType |
enum ERuntimeType |
Defines MPI supported runtime types (Virtual Machines)
Defines Thread Interaction types
enum EThreadState |
Enumerator indicating the a thread state. A thread can be in only one state at a given point in time.
Wait
, Sleep
, or Join
.
const TDataRequestType DR_METHOD_NAME = 0x00010000 |
Method name in a developer friendly format. The internal VM method name is translated to the name used by developers in their programs, and is the one
const TDataRequestType DR_METHOD_SIGNATURE = 0x00020000 |
Method signature in a developer friendly format. The internal VM signature is translated to the signature expected by developers
Initial value:
(C) Copyright Intel Corporation 2007-2008. All Rights Reserved.
Generated on Thu Mar 6 15:07:57 2008 for Martini by