Salesforce

Is there a program to generate the Stack Traces of all ABL Session running on a PASOE Instance for all Agents?

« Go Back

Information

 
TitleIs there a program to generate the Stack Traces of all ABL Session running on a PASOE Instance for all Agents?
URL NameIs-there-a-program-to-generate-the-Stack-Traces-of-all-ABL-Session-running-on-a-PASOE-Instance-for-all-Agents
Article Number000154214
EnvironmentProduct: OpenEdge
Version: 11.7.x
OS: UNIX
Question/Problem Description
Is there a program to generate the Stack Traces of all ABL Session running on a PASOE Instance for all Agents?
How to determine what an ABL Session is running during a performance slowness?
Is there an alternative to generate ABL Session stack traces other than OEM and OE Manager REST Apis?
How to generate the stack traces of all ABL Sessions running on a given PASOE instance at once?



 
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution
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. 




 
Workaround
Notes
Keyword Phrase
Last Modified Date11/20/2020 6:54 AM

Powered by