SupportPac MS0P was first released in 2006. It added a plugin to the MQ Explorer to format event messages, including the accounting and statistic information. Since then, there’s been a lot of added function. But also, the MQ product now has a lot of comparable capability. The last functional update to MS0P was in 2018.
I’m not planning on making any further updates to the package, so I’ve been thinking about retiring it. The recent LTS release of MQ 9.4.0 seemed like a good boundary point to do that. The SupportPac will move to “withdrawn” status – still downloadable, but not as prominent.
But I thought it worth listing the various features, and showing how many of them you can now do differently.
Feature Comparison
Many of the alternative mechanisms listed are command-line tools. That makes it possible to integrate them in a variety of workflows, even if they don’t directly link to GUI interfaces.
MS0P Feature | Alternative |
---|---|
Event Formatting | amqsevt with JSON output. This makes it easy to feed to any analysis tool |
Statistics | amqsact, amqsevt, amqsrua and tools like the OpenTelemetry collector |
Accounting | amqsact and amqsevt |
Activity Viewer | amqsrua and tools like the OpenTelemetry collector |
Message Manager | The MQ Web Console is improving its message processor. Also dmpmqmsg for a command line tool. |
CSV Table Exporter | No need for any direct equivalent as this exported elements of the MQ Explorer itself. |
Topic Viewer | No direct equivalent |
TraceRoute | dspmqrte or look at dspmqrtj for a cluster-aware version |
QTune | Queue file buffer size editor: No replacement |
cmdevent exit | Command/Config events have been part of the queue manager since V7 |
oamlog | Moved to github. |
Not all of the features are directly available in other tools, but the majority – the most commonly-used capabilities – can be done in some other way.
Example
Here is a screenshot showing statistics information from MS0P:
![MS0P Statistics](https://marketaylor.synology.me/wp-content/uploads/2024/06/stats.bmp)
A command-line equivalent using amqsevt:
$ amqsevt -m QM1 -q SYSTEM.ADMIN.STATISTICS.QUEUE *** Message #1 (800 Bytes) on Queue SYSTEM.ADMIN.STATISTICS.QUEUE **** Event Type : Statistics Queue [165] Message Type : Statistics [21] Reason : None [0] Event created : 2024/06/24 08:46:44.55 GMT Queue Mgr Name : QM1 Start Date : 2024-06-24 Start Time : 09.46.43 End Date : 2024-06-24 End Time : 09.46.44 Command Level : 940 Object Count : 1 QUEUE STATISTICS DATA Queue Name : SYSTEM.ADMIN.CONFIG.EVENT Creation Date : 2022-02-22 Creation Time : 12.15.01 Queue Type : Local Definition Type : Predefined Queue Min Depth : 500 Queue Max Depth : 500 Avg Queue Time : 0 ...
and the same thing in JSON style, to make it easy to send elsewhere for analysis:
$ amqsevt -m QM1 -q SYSTEM.ADMIN.STATISTICS.QUEUE -o json { "eventSource" : { "objectName": "SYSTEM.ADMIN.STATISTICS.QUEUE", "objectType" : "Queue", "queueMgr" : "QM1"}, "eventType" : { "name" : "Statistics Queue", "value" : 165 }, "msgType" : { "name" : "Statistics", "value" : 21 }, "eventReason" : { "name" : "None", "value" : 0 }, "eventCreation" : { "timeStamp" : "2024-06-24T08:46:44Z", "epoch" : 1719218804 }, "eventData" : { "queueMgrName" : "QM1", "startDate" : "2024-06-24", "startTime" : "09.46.43", "endDate" : "2024-06-24", "endTime" : "09.46.44", "commandLevel" : 940, "objectCount" : 1, "queueStatisticsData" : [ { "queueName" : "SYSTEM.ADMIN.CONFIG.EVENT", "creationDate" : "2022-02-22", "creationTime" : "12.15.01", "queueType" : "Local", "definitionType" : "Predefined", "queueMinDepth" : 500, "queueMaxDepth" : 500, "avgQueueTime" : [ 0, 0 ...
Open source?
I did consider releasing the package to an open source repository, but unfortunately that’s not practical. Apart from embarrassing code quality (the first iteration of MS0P was my first-ever piece of Java programming), there are a few too many places which require some level of internal knowledge or a non-documented interface. And even without that, it would require a lot of work to clean up and make into a suitable shape for anyone else to deal with. There’s not even a particularly useful subset of features that would work for an open source repo.
Can you still use MS0P?
If you have a copy of MS0P, you can continue to use it if you want. I don’t know of any reason why Ms0P would not continue to work in the 9.4 MQ Explorer, and I have heard of at least one person doing so. There just won’t be any enhancements or testing at newer MQ levels. And newer Eclipse versions seem to make it harder to install plug-ins. (On Windows, the “run as Administrator” option usually helps with that.)
The package is moving to a listing on the “withdrawn” SupportPac page, which states: “If you need a SupportPac from this list, contact askmessaging@uk.ibm.com.” so you will still be able to get access to it if you’ve not already kept a copy.
This post was last updated on June 24th, 2024 at 01:00 pm
Terrible news.
We have large numbers of queue managers. The MQ web console is years away from maturity.
We use the message manager feature of MS0P to support production incidents. Using DMPMQMSG via the command line is very much a backward step. A decent GUI is essential.
I hope MS0P will continue with work with MQ releases until the web console has the necessary features and offers comparable ease of use in a few years time.
It ought to continue to work. There’s nothing I know of that would actually break it in future versions of Explorer or the underlying Eclipse. But this at least makes it clearer that there will nothing new here.