2.2.2.4.1.5 MSG_DTCUIC_STATS

The MSG_DTCUIC_STATS message is sent by the Management Server to the Management Client to report current statistical information about transactions (see section 3.3.6.1).


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

MsgHeader (24 bytes)

...

...

cOpen

cCommitted

cAborted

cInDoubt

cHeuristic

cOpenMax

cCommittedMax

cAbortedMax

cInDoubtMax

cHeuristicMax

cForcedCommit

cForcedAbort

cAvgResponseTime

cMinResponseTime

cMaxResponseTime

timeTransactionsUp

systemTimeTransactionsUp (16 bytes)

...

...

dwTimeStamp

cSinglePhaseInDoubt

MsgHeader (24 bytes): This field MUST contain a MESSAGE_PACKET structure (as specified in [MS-DTCO] section 2.2.4.1). The dwUserMsgType field MUST be 0x00003001. The dwcbVarLenData field MUST be 84 plus the size in bytes of the timeTransactionsUp field.

cOpen (4 bytes): A 4-byte unsigned integer indicating the number of currently opened transactions.

cCommitted (4 bytes): A 4-byte unsigned integer indicating the current number of committed transactions.

cAborted (4 bytes): A 4-byte unsigned integer indicating the current number of aborted transactions.

cInDoubt (4 bytes): A 4-byte unsigned integer indicating the current number of in-doubt transactions.

cHeuristic (4 bytes): A 4-byte reserved field that MUST be set to 0x00000000.

cOpenMax (4 bytes): A 4-byte unsigned integer indicating the maximum value of the cOpen field since the transaction manager was started.

cCommittedMax (4 bytes): A 4-byte unsigned integer indicating the maximum value of the cCommitted field since the transaction manager was started.

cAbortedMax (4 bytes): A 4-byte unsigned integer indicating the maximum value of the cAborted field since the transaction manager was started.

cInDoubtMax (4 bytes): A 4-byte unsigned integer indicating the maximum value of the cInDoubt field since the transaction manager was started.

cHeuristicMax (4 bytes): A 4-byte reserved field that MUST be set to 0x00000000.

cForcedCommit (4 bytes): A 4-byte unsigned integer indicating the current number of transactions that were in doubt, and were forced to commit.

cForcedAbort (4 bytes): A 4-byte unsigned integer indicating the current number of transactions that were in doubt, and were forced to abort.

cAvgResponseTime (4 bytes): A 4-byte unsigned integer indicating the current average time in milliseconds for transaction committing.

cMinResponseTime (4 bytes): A 4-byte unsigned integer indicating the current minimum time in milliseconds for transaction committing.

cMaxResponseTime (4 bytes): A 4-byte unsigned integer indicating the current maximum time in milliseconds for transaction committing.

timeTransactionsUp (4 bytes): This field SHOULD contain either an unsigned 4-byte integer, or 4 bytes of padding (containing non-deterministic values) followed by an 8-byte unsigned integer in 64-bit Windows, that specifies the number of seconds that elapsed from a baseline time to when the service was started.<2> In the Windows implementation, the Management Client Role does not use this field. To distinguish between 32-bit and 64-bit Windows, the implementation can check the dwcbVarLenData field, which varies based on 32-bit and 64-bit implementations. The baseline time used for this field MUST be midnight January 1, 1970, Coordinated Universal Time (UTC).

systemTimeTransactionsUp (16 bytes): A SYSTEMTIME structure (as specified in [MS-DTYP] section 2.3.13) indicating the time when the service was started.

dwTimeStamp (4 bytes): A 4-byte unsigned reserved field that MUST be set to 0x00000000.

cSinglePhaseInDoubt (4 bytes): A 4-byte unsigned integer indicating the current number of transactions that have entered the single-phase in-doubt state.