Salesforce

PASOE Dynamic Objects Viewer

« Go Back

Information

 
TitlePASOE Dynamic Objects Viewer
URL NamePASOE-Dynamic-Objects-Viewer
Article Number000113175
EnvironmentProduct: OpenEdge
Version: 11.7.4, 12.x
OS: Windows
Question/Problem Description

This is a tool to help simplify turning on/off the ABLObjects feature in PASOE by using the REST API from a GUI interface, and to fetch the leaks after the feature has been enabled for a given agent.
The PASOE Dynamic Objects Viewer automates interacting with a PASOE instance that has the oemanager deployed, to enable and capture the results from the getABLObjects dynamic object tracking feature in PASOE.
This feature allows simply throwing a switch, then reading a list of leaked objects in a pasoe agent, along with application information showing where (what line of code) the objects were created on.
Past versions of dynamic objects tracking for ABL applications has included generating log output.
Where can I find the pasDynObjectsViewer?
How to use Swagger's rest api to diagnose memory leaks in pasoe instance?
How to diagnose memory leak in pasoe?
How to turn on pasoe's dynobjects tracking feature?
How to use PASOE's dynamic object tracking feature?
How to detect memory leaks in a live pasoe agent?

 

Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution
The oemanager service:

As a prerequisite to using this tool, you must enable the oemanager service in PASOE.  This does not get automatically installed in a production instance.  

Follow the instructions in the article below to enable this service.

How to enable Swagger for PASOE instance


To start the tool:

  • Ensure that the appropriate version of the OpenEdge.Net.pl file is in the PROPATH.
  • This tool uses the ABLObjects REST API provided by swagger through the OE Manager.  Instructions for setting this up before using this tool are available in the article here: How to enable Swagger for PASOE instance .
  • Download the attached pasDynObjectViewer.zip
  • Execute: prowin32.exe -p pasDynObjectViewer.w
User-added image

Setting up Instances to connect to:

By default, the tool does NOT load local instances into its instance registry.  This is because many don't register their instances and it can generally be a waste of time waiting for the command line stuff in the tool to execute, grabbing information up front for each instance registered.

If the instance you're investigating is local to the machine where you're running the viewer, select Edit >> Load Local Instances, and the interface should load all registered instances.  Once this step is done you can skip to "Interrogating an instance".
User-added image

If your instance is not local and you need to connect to it, you will need to add the connection information to the Instance Registry. 

To manage the Instance Registry follow the steps below:
  • From the Main PASOE Dynamic Objects Viewer, select Edit >> Instance Registry
User-added image
  • Select the Add button
  • Enter the below information:
    • Instance name
    • Instance Path/Hostname - Should be the hostname where the PAS instance is running
    • Manager Port - The http port used in defining the instance.  Once this is filled in, the https and shutdown ports are auto-filled with port numbers 1 and 2 greater than the http port
    • Https port - Only if different than suggested value (not used for anything in this tool... yet)
    • Shutdown port - Only if different that suggested value (not used for anything in this tool... yet)
  • Click the Save button
  • Click Done to go back to the main window
Interrogating an instance:
  • Choose the instance from the Instance combo-box - This will automatically load agent information from that instance in the Agents browse
User-added image
  • To turn on Objects Tracking, select the Tracking Objects toggle for the agent you wish to interrogate
  • Run code against the agent that you suspect has leaks
  • Select a session, then select the "Fetch DynObject Leaks" button.  If there were leaked objects on the Agent, they will be shown, along with where the leak came from in the application.
User-added image
 
Workaround
Notes
This source code is provided freely and with some comments to describe what it's doing.  If you have questions about how to use this tool or it's not working for you, please do not open a Technical Support case. 

Rather choose "No" below this article, where it asks "Was this article helpful?" and leave your comments.

If you have questions about supported functionality exploited using this tool, feel free to log a Technical Support case for assistance.

All of the code that this demonstration is made up of, and more can be found using the below Progress knowledgebase articles as a start.  These contain links to numerous other how to articles, based on what information you're trying to capture from your PASOE agents.

 How to call into the OEManager's REST API for insight into PASOE?
 How to fetch output from ABLObjects tracking REST API from PASOE?

There is also a TTY version of this tool that is discussed in the below Progress knowledgebase article.  This was provided primarily for those who do not have OpenEdge installations on Windows GUI, which is required for this tool.

 PASOE Dynamic Objects Viewer for TTY interfaces

 
Keyword Phrase
Last Modified Date11/18/2024 8:42 PM

Powered by