I found the documentation for activity trace was not clear as to the activity trace settings.
In mqat.ini you can provide information as to what applications (including channels) you want traced.
This file and trace value are checked when the application connects. If you have TRACE=ON when the application connects, and you change it to TRACE=OFF, it will continue tracing.
If you have TRACE=OFF specified, and the application connects, changing it to TRACE=ON will not produce any records.
- TRACE=ON, the application will be traced
- TRACE=OFF the application will not be traced
- TRACE= or omitted then the tracing depends on alter qmgr ACTVTRC(ON|OFF). For a long running transaction using alter qmgr to turn it on, and then off, you will get trace records for the application from in the gap.
If you have
applicationTrace: ApplClass=USER ApplName=prog* Trace=OFF applicationTrace: ApplClass=USER ApplName=progp* Trace=ON
then program progput will have trace turned on because the definition is more specific.
You could have
applicationTrace: ApplClass=USER ApplName=progzzz Trace=OFF applicationTrace: ApplClass=USER ApplName=prog* Trace=
to be able to turn trace on for all programs beginning with prog, but not to trace progzzz.
Thanks to Morag of MQGEM who got in contact with me, and said long running tasks are notified of a change to the mqat.ini file, if the file has changed, and a queue manager attributed has been changed – even if it is changed to the same variable.
This and lots of other great info about activity trace (a whole presentation’s worth of information) is available here.