Newest updates are at the top of this file.
- Update for MQ 9.1.4 - No new base API function introduced
- Add amqsgbr sample for browse option
- ibmmq - Add qmgr variant of the CB function for event handlers (#128)
- mqmetric - Add MaxChannels/MaxActiveChannels for z/OS (#129)
- mqmetric - Add MaxInst/MaxInst for SVRCONN channels (ibm-messaging/mq-metric-samples#21)
- ibmmq - Enable use of Context in MQPMO structure (#122)
- ibmmq - Remove unusable fields referring to Distribution List structures
- Update Docker build scripts for newer Go compiler level
- mqmetric - Issue warning if trying to monitor queues with names containing '/'
- ibmmq - Add new verb GetSlice to mirror Get() but which returns ready-sized buffer (#110)
- See updated sample amqsget.go
- Some comment tidying up. Make CMQC constants constant.
- ibmmq - Add error checking to some structure fields (#111)
- mqmetric - Support RESET QSTATS on z/OS queue manager
- mqmetric - Add a Logger class to enable debug output
- mqmetric - Improve some error reports
- Update for MQ 9.1.3 - No new API function introduced
- mqmetric - Fix leak in subscriptions after rediscovery
- mqmetric - Add USAGE as a queue label for selection by xmitq
- mqmetric - Allow exclusion patterns for queue names (but not other object types)
- Use "!" as prefix to a simple pattern in the list of monitored queues
- For example, "APP.,S,!SYSTEM.*"
- mqmetric - Enable re-expansion of monitored queue wildcards while still monitoring
- See Prometheus monitor sample for configuration
- mqmetric - Added batch size and xmitq time averages to channel metrics
- mqmetric - Enable use of z/OS DISPLAY USAGE for pageset/bufferpool data
- mqmetric - Allow limited monitoring of V8 Distributed platforms
- Set
ibmmq.usePublications
to false to enable in monitor programs #104
- Set
- mqmetric - Added queue_attribute_max_depth to permit %full calculation
- Set
ibmmq.useStatus
to true to enable in monitor programs #105
- Set
- samples - Correct use of the new form of the Inq() verb
- Fixed memory leak in InqMP
- mqmetric - Added ability to set a timezone offset
- mqmetric - Added fields from SBSTATUS
- mqmetric - Added last put/get time metric for queues
- mqmetric - Added last msg time metric for channels
- mqmetric - Added fields from QMSTATUS and TPSTATUS
- Added scripts to compile samples inside a container
- BREAKING API: Add hConn to callback function
- Callbacks not setting hConn correctly (#93)
- Update for MQ 9.1.2 - ApplName now settable during Connect
- BREAKING API: deprecated Inq()/MQINQ implementation replaced.
- Fixes to callback functions for EVENT processing
- mqmetric - Improve handling of z/OS channel status where multiple instances of the same name
- mqmetric - More accurate testing of model queue default maxdepth for status replies
- mqmetric - Was ignoring an error in subscription processing
- Deal with callback functions being called unexpectedly (#75)
- mqmetric - Add some configuration validation
- mqmetric - Make it possible to use CAPEXPRY for statistics subscriptions
- All relevant API calls now automatically set FAIL_IF_QUIESCING
- Samples updated to use "defer" instead of just suggesting it
- Add support for MQCB/MQCTL callback functions
- Add support for MQBEGIN transaction management
- Add Dead Letter Header parser
- Added GetPlatform to mqmetric so it can be used as a label/tag in collectors
- Added sample programs demonstrating specific operations such as put/get of message
- Fixed conversion of some C strings into Go strings
- Update MQI header files for MQ V9.1.1 and give more platform variations
- Add support for MQSTAT and MQSUBRQ functions
- Add support and sample for Message Property functions
- Add InqMap as alternative (simpler) MQINQ operation. Inq() should be considered deprecated
- Add support for MQSET function
- Add discovery of translated versions of the mqmetric descriptions
- Added functions to mqmetric to issue DISPLAY QSTATUS for additional stats
- Added z/OS capability for minimal status
- Allow compilation against MQ v8
- Added functions to the mqmetric package to assist with collecting channel status
- Better handle truncated messages when listing the queues that match a pattern
- Corrected heuristic for generating metric names
- Added V9.1 constant definitions
- Updated build comments
- Corrected package imports
- Formatted go code with
go fmt
- Rearranged this file
- Removed logging from golang package
mqmetric
- Moved samples to a separate repository
- Added build scripts for
ibmmq
andmqmetric
packages andibmmq
samples - Added unit tests for
ibmmq
andmqmetric
packages
- Added V9.0.5 constant definitions
- Changed #cgo directives for Windows now the compiler supports standard path names
- Added mechanism to set MQ userid and password for Prometheus monitor
- Released v1.0.0 of this repository for use with golang dependency management tools
- Added V9.0.4 constant definitions - now generated from original MQ source code
- Added MQSC script to show how to redefine event queues for pub/sub
- Prometheus collector has new parameter to override the first component of the metric name
- Prometheus collector can now process channel-level statistics
- Added the V9.0.3 constant definitions.
- Reinstated 64-bit structure "length" fields in cmqc.go after fixing a bug in the base product C source code generator.
- Added the metaPrefix option to the Prometheus monitor. This allows selection of non-default resources such as the MQ Bridge for Salesforce included in MQ 9.0.2.
- API BREAKING CHANGE: The MQI verbs have been changed to return a single error indicator instead of two separate values. See mqitest.go for examples of how MQRC/MQCC codes can now be tested and extracted. This change makes the MQI implementation a bit more natural for Go environments.
- Added support for the MQCD and MQSCO structures to allow programmable client connectivity, without requiring a CCDT. See the clientconn sample program for an example of using the MQCD.
- Moved sample programs into subdirectory
- Minor updates to this README for formatting
- Removed xxx_CURRENT_LENGTH definitions from cmqc
- Added a collector that prints metrics in a simple JSON format. See the README for more details.
- Fixed bug where freespace metrics were showing as non-integer bytes, not percentages
- Added some Windows support. An example batch file is included in the mq_influx directory; changes would be needed to the MQSC script to call it. The other monitor programs can be supported with similar modifications.
- Added a "getting started" section to this README.
- Added a collector for Amazon AWS CloudWatch monitoring. See the README for more details.
- Added a OpenTSDB monitor. See the README for more details.
- Added a Collectd monitor. See the README for more details.
- Added MQI MQCNO/MQCSP structures to support client connections and password authentication with MQCONNX.
- Allow client-mode connections from the monitor programs
- Added Grafana dashboards for the different monitors to show how to query them
- Changed database password mechanism so that "exec" maintains the PID for MQ services
- Added a monitor command for exporting MQ data to InfluxDB. See the README for more details
- Restructured the monitoring code to put common material in the mqmetric package, called from the Influx and Prometheus monitors.
- Added functions to handle basic PCF creation and parsing
- Added a monitor command for exporting MQ V9 queue manager data to Prometheus. See the README for more details
- Changed structures so that most applications will not need to use cgo to imbed the MQ C headers
- Go programs will now use int32 where C programs use MQLONG
- Use of message handles, distribution lists require cgo for now
- Package ibmmq now includes the numeric #defines as a Go file, cmqc.go, for easier use
- Removed "src/" prefix from tree in github repo
- Removed need for buffer length parm on Put/Put1
- Updated comments
- Added MQINQ
- Added MQItoString function for some maps of values to constant names
- Initial release