The decision on whether each watch should have its own program or use one common program for multiple watches is dependent upon the program and your design approach.
Either approach is fine, but there are some points to consider:
- Would it be easier to maintain one (more complex) program or several (simpler) programs?
- How often will the watch program change? You may need to end the watches to pick up a changed watch exit program.
- Are there resources used by the watch program that could lead to contention if there are multiple instances running? Does it access things such as files, data areas, stream files…. if there are many watches triggering and you have a single program, you could introduce contention
- What is the logic you want to take when a watch matches? Are the actions similar? Or completely different?
What would I do? If I had several watches, I would probably do a single watch program since handling the input event data is necessary in every program.
But the devil is in the details when it comes down to what you do with the specific watched condition.
Dawn
On Feb 27, 2019, at 10:13 AM, Steinmetz, Paul via MIDRANGE-L <midrange-l@xxxxxxxxxxxxxxxxxx<mailto:midrange-l@xxxxxxxxxxxxxxxxxx>> wrote:
Excellent article by Dawn May on WRKWCH.
https://www.itjungle.com/2019/02/25/guru-find-the-needle-in-the-haystack-with-watches/
"A major advantage of watches is their efficiency. Watches do not read through a job log like the APIs or the IBM i Service. Rather, watches are implemented as an exit point within the Message Handling component in the operating system. Once a watch is set up, the message handling component checks for the watch when a message is sent. It’s a quick check, and if the watch condition is not matched, logic continues as normal. It is only when the watched condition is matched that any overhead occurs. It is possible to watch every job in the system without a performance impact."
I've been using WRKWCH to monitor certain messages in joblogs.
InfoPrint Ers PQT33073 PQT4154
SSL KTA02033 - SSL RXS_Transmit() encountered unexpected transmission error 28. Error message: Timeout was reached
NetServer CPIAD12 - Servicing user profile XXXXX from client N.N.N.N. Neterver user Connecting
My question to the group, and Dawn,
1) Should each Watch have its own Watch Event program?
2) Or, can a common Watch Event program handle multiple Watches?
Reviewing IBM's Service Monitor, IBM use's one watch event program, QPDETWCH, to handle monitors 0 thru 48.
Monitor 49 has a different watch event program, QMHWCHE1
Thank You
_____
Paul Steinmetz
IBM i Systems Administrator
Pencor Services, Inc.
462 Delaware Ave
Palmerton Pa 18071
610-826-9117 work
610-826-9188 fax
610-349-0913 cell
610-377-6012 home
psteinmetz@xxxxxxxxxx
http://www.pencor.com/
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at
https://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.