The JADE Object Manager provides a mechanism for sampling data capture by calling user-supplied entry points at different times during normal operation. You can specify the operations that cause calls to the entry points.
The overhead involved in data capturing is proportional to the level of detail required, the amount of processing in the node being sampled, and the amount of processing that your user library performs on each invocation.
For details about direct node sampling and initializing a sampling library (including when direct node sampling using the
The names of the entry points for your user-supplied library are listed in the following table.
Entry Point | Invoked… |
---|---|
nodeSampleInfoCb | Once, at the time a sampling context begins. |
nodeSampleNodeInfoCb | Once, at the time a sampling context begins or ends and after (for begins) or before (for ends) the NodeSampleInfoCallBack entry point has been invoked. |
nodeSampleProcessInfoCb | Every time a process begins or ends and once for every existing process at the time sampling begins. |
nodeSampleIntervalCb | Every time an individual request interval begins or ends. |
nodeSampleIndividualRequestCb | Every time an individual request occurs, only within those intervals that requested specific levels of details. |
nodeSampleRequestStatisticsCb | When it is explicitly requested by using the logRequestStatistics method or when a process ends. |
nodeSampleCacheInfoCb | When it is explicitly requested by using the logObjectCaches method. |
nodeSampleObjectBufferCb | When it is explicitly requested by using the logObjectCaches method. It is also invoked every time a cache activity occurs, only within those intervals that requested specific levels of details. |
The definitions of these entry points are in the jomSamplingTypes.h file in the include directory on your JADE release medium. In addition, a full example of a user library is provided in the examples\sampling directory. This example library implements the same functionality of the filesmpl library.