Why is msgage() empty?

I have a queue with messages on it – but msgage ( of the oldest message on the queue) is empty.

To get this data, and last put/get time etc you need to alter ql(xx) monq(yy) where yy is not “off”. For the queue you may want to alter the queue to LOW, MEDIUM, HIGH. If the value is QMGR, you need to use DIS QMGR MONQ. You could change the QMGR value to LOW … but this would then apply to all queues – which you may or may not want. I think it should it always be LOW… so when you have a problem you have the data to help you diagnose the problem.

5 thoughts on “Why is msgage() empty?

  1. Hi Colin, Ideally, I think it should be MEDIUM at the QMGR and override at the queue level. If a queue has a high message rate, perhaps set to LOW for that queue. In most cases, these are going to be the exception queues, rather than the general case. This is in-line with the KC recommendations. However, do consider the appropriate setting on queues such as S.C.T.Q etc. Set monitoring values at the queue level first, before setting it at the QMGR level. Basically, setting these values should be a deliberate act, not an unconscious one.

    Like

    1. Thank you.. Page https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.1.0/com.ibm.mq.mon.doc/q037990_.htm says

      For real-time monitoring of queues, you can set the MONQ attribute to one of the three monitoring levels, low, medium or high. However, there is no distinction between these values. The values all enable data collection, but do not affect the size of the sample.

      Does that affect msgage, or were your comments on MONQ as a whole?
      If I have MONQ(LOW) does it produce the same output as MONQ(HIGH), for example does it determine the oldest message every 10 messages got, instead of every message.

      Like

      1. Thanks Colin,

        My comments were in regard to MONQ ,as a whole. However, you raise a good point. What a curious statement in the KC! What else do we get from MONQ above and beyond real-time data? If nothing else, then this statement contradicts what is written elsewhere in the KC with regard to the MONQ settings. Setting LOW, MEDIUM or HIGH is meant to affect the rate at which these samples are gathered (not the size of the sample). In which case, there is a distinction between these levels.For example,

        MQMON_LOW
        If the value of the QueueMonitoring queue manager attribute is not MQMON_NONE, online monitoring data collection is turned on, with a low rate of data collection for this queue.
        MQMON_MEDIUM
        If the value of the QueueMonitoring queue manager attribute is not MQMON_NONE, online monitoring data collection is turned on, with a moderate rate of data collection for this queue.
        MQMON_HIGH
        If the value of the QueueMonitoring queue manager attribute is not MQMON_NONE, online monitoring data collection is turned on, with a high rate of data collection for this queue.
        https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.1.0/com.ibm.mq.ref.dev.doc/q103470_.htm

        So, I am raising this question over a documentation issue with the Lab and will update you if I get a response.

        Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s