The program attached to this article will generate the stack traces of all ABL Sessions running on the configured PASOE instance using OEJMX. The purpose of such program is to make it easier to generate information regarding what the ABL Session would be running during performance slowness where OEM and/or REST Apis would not return a result hence OEJMX could be an alternative.
There are 3 files:
cleanup.sh - A script used to clean up temporary files from previous execution of the program runitst.sh - A sample script to call the program passing the required parameters
hbjmxst.p - The ABL program that will find the PASOE Agent PIDs for a given instance, find the ACTIVE ABL Sessions and create the Stack Traces running OEJMX calls.
To configure it: Inside a PASOE instance: $CATALINA_BASE, create the hbjmxst directory Place this program and scripts inside the newly created $CATALINA_BASE/hbjmxst directory Run the following command line or embed it in a shell script to be called by an OS scheduler tool: bpro -p hbjmxst.p -param "/usr/wrk/oepas100,oepas100,1,1" hbjmxst.p accepts 4 parameters as below after the -param clause in the command live above: 1 - $CATALINA_BASE : the home directory of the PASOE instance being called by hbjmxst.p 2 - PASOE Instance Name : the name of the PASOE instance itself 3 - Control Log generation : use 1 to enable logging of this program´s activities or 0 to disable it (hbjmxst.log) 4 - Delete Temp Files : use 1 to enable temporary files deletion or 0 to disable it If for some reason there is a need to get a log from the Progress client running this piece of code, enable clientlog: bpro -p hbjmxst.p -param "/usr/wrk/oepas100,oepas100,1,1" -clientlog mylog.txt -logginglevel 4 -logentrytypes 4GLTrace
After the execution, some *.txt files will be created in the hbjmxst directory:
agentPIDList.txt - PASOE Agent PIDS used to create the OEJMX queries to get the SessionMetrics and Stack Traces of the ABL Sessions hbjmxst-*qry - Those files are created by hbjmxst.p and hold the OEJMX queries information - they are intended for internal use of hbjmxst.p hbjmxst-*.txt - Those files contain the results of the OEJMX queries and will contain the relevant information like the Stack Traces (hbjmxst-getSessionStacks*.txt).
The file format used is this: hbjmxst-<OEJMX-call>-<PASOE-Agent-PID>-<Date>-<Time>.extension
Every time the hbjmxst.p is performed, it will clean up the current directory, so all previous *.qry, *.log and *.txt files will be deleted. Remember to save them to another place if they are needed later.
*It is important to fix the directories in the two scripts - cleanup.sh, runitst.sh - to reflect the needs of the environment where it will be performed.
This tool is not supported by Progress Software. This was meant to be used in a Development/Test environment.
|