Salesforce

Is there a program to get the Session State of all ABL Sessions from a given PASOE instance?

« Go Back

Information

 
TitleIs there a program to get the Session State of all ABL Sessions from a given PASOE instance?
URL Nameis-there-a-program-to-get-the-session-state-of-all-abl-sessions-from-a-given-pasoe-instance
Article Number000154212
EnvironmentProduct: OpenEdge
Version: 11.7.x, 12.x
OS: UNIX
Question/Problem Description

Is there a program to get the Session State of all ABL Sessions from a given PASOE instance?
Is there a program to generate the Session State of all ABL Session running on a PASOE Instance for all Agents?
How to determine the Session State of an ABL Session during a performance slowness?
Is there an alternative to generate Session State information from ABL Sessions other than OEM and OE Manager REST Apis?
How to generate the Session States of all ABL Sessions running on a given PASOE instance at once?

Steps to Reproduce
Clarifying Information
The program attached to this article will generate the state 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 the state of all ABL Sessions that 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 2 files:

runitst.sh - A sample script to call the program passing the required parameters

hbjmx.p - The ABL program that will find the PASOE Agent PIDs for a given instance and will run the following OEJMX queries against the collected PIDs:

-OEJMXAgents
-OEJMXGetAgentStatus
-OEJMXDefault
-OEJMXGetSessionMetrics
-OEJMXGetMemory

To configure it:
 
   Inside a PASOE instance: $CATALINA_BASE, create the hbjmx directory
   Place this program and the script inside the newly created $CATALINA_BASE/hbjmx directory
   
   Run the following command line or embed it in a shell script to be called by an OS scheduler tool:
   bpro -p hbjmx.p -param "/usr/wrk/oepas100,oepas100,1,1" 
   
   hbjmx.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 hbjmx.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 (hbjmx.log)
   4 - Delete Temp Files      : use 1 to enable temporary files deletion or 0 to disable it
                                                                                                       
   If for some reason it is needed to get a log from the Progress client running this piece of code, enable clientlog:
   bpro -p hbjmx.p -param "/usr/wrk/oepas100,oepas100,1,1" -clientlog mylog.txt -logginglevel 4 -logentrytypes 4GLTrace

After the execution, some hbjmx*.txt files will be created in the $CATALINA_BASE/temp directory with the result of the OEJMX queries performed.

hbjmx-getSessionMetrics-out-*.txt - will contain information about the ABL Sessions and their status, like IDLE or ACTIVE, etc
hbjmx-getAgents-out-*.txt - will contain information about the PASOE Agent itself, its status, AgentID, etc
hbjmx-getMemory-out-*.txt - will contain information about HeapMemoryUsage and PeakUsage, etc
hbjmx-getDefault-out-*.txt - will contain information about the Applications, Agents and some Metrics, etc

These calls can be customized inside the hbjmx.p program to call or generate only the desired OEJMX queries.

The file format used is this:
hbjmxst-<OEJMX-call>-<Date>-<Time>.extension

One of the main usages of this program would be to collect data that could be further analyzed to identify trends in terms of Memory Usage, Agents and Session States, especially when facing performance problems.
With that in mind, this program will not delete the data in the $CATALINA_BASE/temp directory as that data could be used to detect a trend in one of the parameters being analyzed.

*It is important to fix the directories in runit.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. 


 
Error Message
Defect Number
Enhancement Number
Cause
Resolution
Workaround
Notes
Keyword Phrase
Last Modified Date6/3/2021 1:43 PM

Powered by