getRequestStatistics(dynObj: JadeDynamicObject input; localOrRemote: Integer);
The
If the localOrRemote parameter is set to 1, the statistics for all requests invoked on the local node are returned as properties in the dynamic object specified in the dynObj parameter. If the localOrRemote parameter is set to 2, the statistics for all requests from the local node to remote nodes are returned as properties in the specified dynamic object.
Most of the request statistics are collected only when node sampling is active on the node. The values that are reported independent of node sampling are thin client statistics that are part of the local request statistics.
The properties that are returned to the dynamic object specified in the dynObj parameter when the localOrRemote parameter is set to 1 (that is, local node sampling) are listed in the following table.
Property | Primitive Type |
---|---|
processId | Integer |
clockTicks | Integer64 |
nodeCPUTime | Integer64 |
nodeTicks | Integer64 |
processCPUTime | Integer64 |
processTicks | Integer64 |
processLogicalClock | Integer64 |
transientObjectCreates | Integer64 |
transientObjectDeletes | Integer64 |
transientObjectClones | Integer64 |
transientObjectCopies | Integer64 |
transientObjectGetProperties | Integer64 |
transientObjectSetProperties | Integer64 |
transientObjectJadeMethods | Integer64 |
transientObjectExternalMethods | Integer64 |
transientObjectLocks | Integer64 |
transientObjectUnlocks | Integer64 |
transientObjectRemoveLocks | Integer64 |
transientObjectGets | Integer64 |
transientObjectPuts | Integer64 |
transientBufferSwaps | Integer64 |
persistentObjectCreates | Integer64 |
persistentObjectDeletes | Integer64 |
persistentObjectClones | Integer64 |
persistentObjectCopies | Integer64 |
persistentObjectGetProperties | Integer64 |
persistentObjectSetProperties | Integer64 |
persistentObjectJadeMethods | Integer64 |
persistentObjectExternalMethods | Integer64 |
persistentObjectLocks | Integer64 |
persistentObjectUnlocks | Integer64 |
persistentObjectRemoveLocks | Integer64 |
persistentObjectGets | Integer64 |
persistentObjectPuts | Integer64 |
persistentBufferSwaps | Integer64 |
primitiveJadeMethods | Integer64 |
primitiveExternalMethods | Integer64 |
transientBeginTransactions | Integer64 |
transientEndTransactions | Integer64 |
transientAbortTransactions | Integer64 |
transientBeginNotifications | Integer64 |
transientEndNotifications | Integer64 |
transientCauseEvents | Integer64 |
transientReturnNotes | Integer64 |
receivedNotesFromLocal | Integer64 |
userRequests | Integer64 |
persistentBeginTransactions | Integer64 |
persistentEndTransactions | Integer64 |
persistentAbortTransactions | Integer64 |
persistentBeginNotifications | Integer64 |
persistentEndNotifications | Integer64 |
persistentCauseEvents | Integer64 |
persistentReturnNotes | Integer64 |
thinClientMsgsSentByAppServer | Integer64 |
thinClientBytesSentByAppServer | Integer64 |
thinClientMsgsSentByClient | Integer64 |
thinClientBytesSentByClient | Integer64 |
thinClientLogicMsgWaitTime | Integer64 |
For explanations about these statistics, see "Local Request Statistics Format" under "Statistics File Format", later in this chapter.
The properties that are returned to the dynamic object specified in the dynObj parameter when the localOrRemote parameter is set to 2 (that is, remote node sampling) are listed in the following table.
Property | Primitive Type |
---|---|
processId | Integer |
clockTicks | Integer64 |
nodeCPUTime | Integer64 |
nodeTicks | Integer64 |
processCPUTime | Integer64 |
processTicks | Integer64 |
processLogicalClock | Integer64 |
rpcNewBufferGetObjects | Integer64 |
rpcUpdatedBufferGetObjects | Integer64 |
rpcNonUpdatedBufferGetObjects | Integer64 |
rpcTemporaryBufferGetObjects | Integer64 |
rpcNewBufferGetObjectGroups | Integer64 |
rpcUpdatedBufferGetObjectGroups | Integer64 |
rpcNonUpdatedBufferGetObjectGroups | Integer64 |
rpcTemporaryBufferGetObjectGroups | Integer64 |
rpcGetObjectGroups | Integer64 |
rpcNewBufferLockObjects | Integer64 |
rpcUpdatedBufferLockObjects | Integer64 |
rpcNonUpdatedBufferLockObjects | Integer64 |
rpcTemporaryBufferLockObjects | Integer64 |
rpcNewBufferLockObjectGroups | Integer64 |
rpcUpdatedBufferLockObjectGroups | Integer64 |
rpcNonUpdatedBufferLockObjectGroups | Integer64 |
rpcTemporaryBufferLockObjectGroups | Integer64 |
rpcLockObjectGroups | Integer64 |
rpcCreateObjects | Integer64 |
rpcUpdateObjects | Integer64 |
rpcDeleteObjects | Integer64 |
rpcUnlockObjects | Integer64 |
rpcUnlockObjectGroups | Integer64 |
rpcRemoveLocks | Integer64 |
rpcGetEditions | Integer64 |
rpcGetOids | Integer64 |
rpcBeginTransactions | Integer64 |
rpcEndTransactions | Integer64 |
rpcAbortTransactions | Integer64 |
rpcBeginNotifications | Integer64 |
rpcEndNotifications | Integer64 |
rpcCauseEvents | Integer64 |
rpcReturnNotes | Integer64 |
receivedNotesFromRemote | Integer64 |
rpcServerExecutions | Integer64 |
rpcSendDatabaseMessages | Integer64 |
rpcNewBufferGetObjectsTime | Integer64 |
rpcUpdatedBufferGetObjectsTime | Integer64 |
rpcNonUpdatedBufferGetObjectsTime | Integer64 |
rpcTemporaryBufferGetObjectsTime | Integer64 |
rpcNewBufferGetObjectGroupsTime | Integer64 |
rpcUpdatedBufferGetObjectGroupsTime | Integer64 |
rpcNonUpdatedBufferGetObjectGroupsTime | Integer64 |
rpcTemporaryBufferGetObjectGroupsTime | Integer64 |
rpcGetObjectGroupsTime | Integer64 |
rpcNewBufferLockObjectsTime | Integer64 |
rpcUpdatedBufferLockObjectsTime | Integer64 |
rpcNonUpdatedBufferLockObjectsTime | Integer64 |
rpcTemporaryBufferLockObjectsTime | Integer64 |
rpcNewBufferLockObjectGroupsTime | Integer64 |
rpcUpdatedBufferLockObjectGroupsTime | Integer64 |
rpcNonUpdatedBufferLockObjectGroupsTime | Integer64 |
rpcTemporaryBufferLockObjectGroupsTime | Integer64 |
rpcLockObjectGroupsTime | Integer64 |
rpcLockQueueWaitsTime | Integer64 |
rpcPutObjectsTime | Integer64 |
rpcUnlockObjectTime | Integer64 |
rpcUnlockObjectGroupsTime | Integer64 |
rpcRemoveLocksTime | Integer64 |
rpcGetEditionsTime | Integer64 |
rpcGetOidsTime | Integer64 |
rpcBeginTransactionsTime | Integer64 |
rpcEndTransactionsTime | Integer64 |
rpcAbortTransactionsTime | Integer64 |
rpcBeginNotificationsTime | Integer64 |
rpcEndNotificationsTime | Integer64 |
rpcCauseEventsTime | Integer64 |
rpcReturnNotesTime | Integer64 |
rpcServerExecutionsTime | Integer64 |
rpcSendDatabaseMessagesTime | Integer64 |
allRequestBytesSent | Integer64 |
allRequestBytesReceived | Integer64 |
allRequestPacketsSent | Integer64 |
allRequestPacketsReceived | Integer64 |
allReceiptsBytesReceived | Integer64 |
allReceiptsPacketsReceived | Integer64 |
For explanations about these statistics, see "Remote Requests Statistics Format" under "Statistics File Format", later in this chapter.
The following example, which shows the use of the
getProcessTicks(); vars sample : JadeDynamicObject; cumulativeProcessTicks : Integer64; processTicks : Integer64; person : Person; begin create sample transient; process.getRequestStatistics(sample, 1); // local statistics cumulativeProcessTicks := sample.getPropertyValue("processTicks").Integer64; beginTransaction; create person persistent; person.surname := "Smith"; person.firstName := "John"; commitTransaction; process.getRequestStatistics(sample, 1); processTicks := sample.getPropertyValue("processTicks").Integer64 – cumulativeProcessTicks; delete sample; write "Process ticks to create an object = " & processTicks.String; end;