Regarding MQIA_MSG_DEQ_COUNT you should be aware that the RESET_QUEUE_STATISTICS command which returns this attribute is what I like to call the "quantum physics property of WMQ" because the act of observing the value resets the value. This is fine if you are the only one inquiring on the value and you have only one thread of inquiry. But if you have multiple inquiries going at once, they all reset the counter to zero at each inquiry, each one stepping on the other one's numbers.
This aspect renders RESET_QUEUE_STATISTICS of limited use for real-time debugging and not suitable for reliable statistics gathering.
Regarding MQIA_MSG_DEQ_COUNT, you should be aware that the RESET_QUEUE_STATISTICS command which returns this attribute is what I like to call the "quantum physics property of WMQ" because the act of observing the value resets the value. This is fine if you are the only one inquiring on the value and you have only one thread of inquiry. But if you have multiple inquiries going at once, they all reset the counter to zero at each inquiry, each one stepping on the other one's numbers.
This aspect renders RESET_QUEUE_STATISTICS of limited use for real-time debugging and not suitable for reliable statistics gathering. An alternative is to use MQ's Accounting and Statistics facility. In order to get the QMgr to produce Accounting and Statistics messages, it is necessary to enable them either at the QMgr or on a per-queue basis.
The instructions for how to enable them are in the manual section Queue statistics information. Note that the statistics are reported to an event queue and must be fetched and parsed. The documentation reference on parsing the event messages is in the Queue statistics message data section.
There is a sample program in source format named amqsmon that shows how to fetch and format the statistics messages. The compiled version is also supplied to provide a human-readable listing of such messages. Once you enable the statistics on the queue(s) of interest and have a way to parse the messages, simply point your parser at the appropriate event queue and collect the stats.An example of the output of amqsmon showing the stats available follows: RecordType: QueueStatistics QueueManager: 'saturn.queue.
Manager' IntervalStartDate: '2005-04-30' IntervalStartTime: '15.09.02' IntervalEndDate: '2005-04-30' IntervalEndTime: '15.39.02' CommandLevel: 600 ObjectCount: 3 QueueStatistics: QueueName: 'LOCALQ' CreateDate: '2005-03-08' CreateTime: '17.07.02' QueueType: Predefined QueueDefinitionType: Local QMinDepth: 0 QMaxDepth: 18 AverageQueueTime: 29827281, 0 PutCount: 26, 0 PutFailCount: 0 Put1Count: 0, 0 Put1FailCount: 0 PutBytes: 88, 0 GetCount: 18, 0 GetBytes: 52, 0 GetFailCount: 0 BrowseCount: 0, 0 BrowseBytes: 0, 0 BrowseFailCount: 1 NonQueuedMsgCount: 0 ExpiredMsgCount: 0 PurgedMsgCount: 0 This and other examples are provided in the manual in a section entitled, appropriately enough, amqsmon examples.
Thanks rob, was one of the alternatives I had considered. I've ended up using a support pack (MS0B) which provides a set of PCF classes for Java which I've integrated into a hyperic plugin. Then having turned on Queue Monitoring for the required queues im requesting the last message get time to check messages are being delivered and pulled from the queue which is all im really interested in at the moment.
I wasn't sure what kind of performance overheads enabling Queue Statistics might cause. Thanks for the info on reset queue statistics + hehe "quantum physics property of WMQ". Phil – Phil Greenland Mar 31 at 10:36 Message expiry is the "Schroedinger's Cat" property of messaging - it can exist in both states until you fetch it.
– T. Rob Mar 31 at 11:45.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.