Skip to content

Commit 965b115

Browse files
committed
Update for MQ 9.4.5
1 parent 526990d commit 965b115

8 files changed

Lines changed: 34 additions & 8 deletions

File tree

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# Changelog
22
Newest updates are at the top of this file.
33

4+
## Feb 06 2026 - v5.7.1
5+
- Update for MQ 9.4.5
6+
47
## Dec 14 2025 - v5.7.0
58
- ibmmq - Add ByteString and Integer and String Filter constructions to PCF processor
69
- mqmetric - Enable use of STATMQI/STATQ event messages as alternative to many of the published metrics

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ RUN mkdir -p $GOPATH/src $GOPATH/bin $GOPATH/pkg \
3737
ARG RDURL_ARG="https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/messaging/mqdev/redist"
3838
ENV RDURL=${RDURL_ARG} \
3939
RDTAR="IBM-MQC-Redist-Linux${MQARCH}.tar.gz" \
40-
VRMF=9.4.4.0
40+
VRMF=9.4.5.0
4141

4242
# Install the MQ client from the Redistributable package. This also contains the
4343
# header files we need to compile against. Setup the subset of the package

ibmmq/mqi.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -254,8 +254,15 @@ func Connx(goQMgrName string, gocno *MQCNO) (MQQueueManager, error) {
254254
// Setting this environment variable should make it easier
255255
// to get stack traces out of Go programs in the event of
256256
// errors. For this particular variable, any value will make it
257-
// effective.
258-
os.Setenv("MQS_NO_SYNC_SIGNAL_HANDLING", "true")
257+
// effective. There's a further override env var here to bypass
258+
// the setting and stick to MQ's handlers. It should not be needed, but it
259+
// may be useful in some debug scenarios.
260+
if os.Getenv("MQIGO_MQ_STANDARD_SIGNAL_HANDLING") == "" {
261+
logTrace("Setting MQS_NO_SYNC_SIGNAL_HANDLING")
262+
os.Setenv("MQS_NO_SYNC_SIGNAL_HANDLING", "true")
263+
} else {
264+
logTrace("Not setting MQS_NO_SYNC_SIGNAL_HANDLING")
265+
}
259266

260267
qMgr := MQQueueManager{}
261268
qMgr.Name = goQMgrName

ibmmqotel/mqiotel.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,9 @@ func otelDisc(qMgr *mq.MQQueueManager) {
275275
//
276276
// Note that we can't (and don't need to) do the same for an MQPUT1 because the
277277
// information we are trying to discover is only useful on MQGET/CallBack.
278+
//
279+
// Also note that this is only relevant for a queue as that's the only object
280+
// that has the INPUT option.
278281
func otelOpen(hObj *mq.MQObject, od *mq.MQOD, openOptions int32) {
279282
var propCtl int32
280283

mqmetric/mapping.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,9 @@ var mHeur = map[string]string{
239239
"synchronous_log_data_average_compression_time": "synchronous_log_data_average_compression_time_bytes",
240240
"synchronous_log_data_average_decompression_time": "synchronous_log_data_average_decompression_time_bytes",
241241
"synchronous_uncompressed_log_bytes_sent": "synchronous_uncompressed_log_sent_bytes",
242+
"backlog_long-term_average_bytes": "backlog_long_term_average_bytes",
243+
"catch-up_time_percentage": "catch_up_time_percentage",
244+
"throttling_time_percentage": "throttling_time_percentage",
242245
}
243246

244247
// This map contains only the additional elements where the heuristic version might not be suitable or

mqmetric/metrics.txt

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,15 +92,21 @@ Class: NHAREPLICA
9292
Log write average acknowledgement size
9393
Backlog average bytes
9494
Backlog bytes
95+
Backlog long-term average bytes
9596
Catch-up log bytes sent
9697
Catch-up compressed log bytes sent
9798
Catch-up log data average compression time
9899
Catch-up log bytes decompressed
99100
Catch-up log data average decompression time
101+
Catch-up time percentage
100102
Catch-up uncompressed log bytes sent
101103
MQ FDC file count
102104
Log file system - free space
103105
Log file system - bytes in use
106+
Log - write latency
107+
Log - slowest write since restart
108+
Log - timestamp of slowest write
109+
Log - write size
104110
Average network round trip time
105111
Queue Manager file system - free space
106112
Queue Manager file system - bytes in use
@@ -110,6 +116,7 @@ Class: NHAREPLICA
110116
Synchronous log bytes decompressed
111117
Synchronous log data average decompression time
112118
Synchronous uncompressed log bytes sent
119+
Throttling time percentage
113120

114121
Class: STATMQI
115122
Type: CONNDISC
@@ -243,8 +250,8 @@ Class: STATQ
243250
lock contention
244251
rolled back MQPUT count
245252

246-
Other metrics and attributes
247-
----------------------------
253+
Object status metrics and object attributes
254+
-------------------------------------------
248255

249256
There are other metrics extracted or calculated by this package, or used as tags. Most of
250257
these values come from "DISPLAY xxSTATUS" or "DISPLAY xx" commands for the relevant object type and name.
@@ -389,6 +396,9 @@ These are available on all Distributed platforms (not z/OS) by setting the STATQ
389396
on the queue manager and queues. The STATCHL option is not used as very similar numbers come from
390397
the existing channel status attributes. See the README for additional information on this approach.
391398

399+
If you enable collection of these metrics, then the queue and queue manager metrics from the
400+
resource publications (the STATQ and STATMQI classes) are not reported to avoid overlap.
401+
392402
Class: queue
393403
average_queue_time_seconds destructive_mqget_message
394404
destructive_mqget_message_bytes destructive_mqget_non_persistent_message
@@ -516,4 +526,4 @@ Class: qmgr
516526
unsubscribe_durable_remove unsubscribe_non_durable
517527
unsubscribe_non_durable_keep unsubscribe_non_durable_remove
518528

519-
This page was automatically generated from the source tree on 2025-12-04 12:20:00
529+
This page was automatically generated from the source tree on 2026-01-30 06:27:20

samples/runSample.deb.Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ RUN mkdir -p $GOPATH/src $GOPATH/bin $GOPATH/pkg \
7777
# Location of the downloadable MQ client package \
7878
ENV RDURL="https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/messaging/mqdev/redist" \
7979
RDTAR="IBM-MQC-Redist-Linux${MQARCH}.tar.gz" \
80-
VRMF=9.4.4.0
80+
VRMF=9.4.5.0
8181

8282
# Install the MQ client from the Redistributable package. This also contains the
8383
# header files we need to compile against. Setup the subset of the package

samples/runSample.ubi.Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ RUN mkdir -p $GOPATH/src $GOPATH/bin $GOPATH/pkg \
5656
# Location of the downloadable MQ client package \
5757
ENV RDURL="https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/messaging/mqdev/redist" \
5858
RDTAR="IBM-MQC-Redist-Linux${MQARCH}.tar.gz" \
59-
VRMF=9.4.4.0
59+
VRMF=9.4.5.0
6060

6161
# Install the MQ client from the Redistributable package. This also contains the
6262
# header files we need to compile against. Setup the subset of the package

0 commit comments

Comments
 (0)