Article

New ABL Objects Tracking REST API under PASOE

« Go Back

Information

 
Article Number000089516
EnvironmentProduct: OpenEdge
Version: 11.7.3, 11.7.4
OS: All Supported Platforms
Question/Problem Description
In 11.7.3 Progress AppServer for OpenEdge announced the ability to turn on ABL Object Tracking, which allows tracking application memory leaks using PASOE's REST API.
 
Steps to Reproduce
Clarifying Information
Error Message
Defect/Enhancement Number
Cause
Resolution
​In previous versions of the product, in order to track memory leaks in an ABL application, one would have to use the DynObjects.* log entry type in conjunction with the LOG-MANAGER(-clientlog)  to generate a potentially ungainly log file which would then have to be interpreted to find potential memory leaks in the executed ABL code.

11.7.3 introduced the *NEW* REST API for track memory leaks in an ABL application.

To use ABL Object Tracking:
  • HTTP Operation
GET 
 
  • Turn on ABLObjects tracking
URI
http(s)://<hostName>:<port>/oemanager/applications/<app_name>/agents/<agentPID>/trackABLObjects/true
  • Check ABLObject tracking status
URI
http(s)://<hostName>:<port>/oemanager/applications/<app_name>/agents/<agentPID>/trackingABLObjects

  • Get ABLObjectsReport
URI
http(s)://<hostName>:<port>/oemanager/applications/<app_name>/agents/<agentPID>/getABLObjectsReport
  • Turn off ABLObjects tracking
URI
http(s)://<hostName>:<port>/oemanager/applications/<app_name>/agents/<agentPID>/trackABLObjects/false

Example:
  1. Turn on tracking:
http(s)://<hostName>:<port>/oemanager/applications/<app_name>/agents/<agentPID>/trackABLObjects/true
{
"result": true,
"operation": "TRACKING ABL OBJECTS",
"versionStr": "v11.7.3 ( 2018-04-27 )",
"versionNo": 1,
"outcome": "SUCCESS",
"errmsg": ""
}
  1. Check tracking status
http(s)://<hostName>:<port>/oemanager/applications/<app_name>/agents/<agentPID>/trackingABLObjects
{
"result": true,
"operation": "TRACKING ABL OBJECTS",
"versionStr": "v11.7.3 ( 2018-04-27 )",
"versionNo": 1,
"outcome": "SUCCESS",
"errmsg": ""
}
  1. Get ABLObjectsReport
http(s)://<hostName>:<port>/oemanager/applications/<app_name>/agents/<agentPID>/getABLObjectsReport
(Below is sample output, not complete)
{
"result": {
"ABLOutput": {
"ABLObjects": [
{
"AgentSessionId": 4,
"Objects": []
},
{
"AgentSessionId": 7,
"Objects": [
{
"ObjType": "MEMPTR",
"HandleId": 1038,
"Size": 1024,
"Source": "RunleakCode.p",
"Line": 52
},
{
"ObjType": "MEMPTR",
"HandleId": 1037,
"Size": 1024,
"Source": "RunleakCode.p",
"Line": 52
},
  1. Turn off tracking
http(s)://<hostName>:<port>/oemanager/applications/<app_name>/agents/<agentPID>/trackABLObjects/false
  1. Check tracking status
http(s)://<hostName>:<port>/oemanager/applications/<app_name>/agents/<agentPID>/trackingABLObjects
{
"result": false,
"operation": "TRACKING ABL OBJECTS",
"versionStr": "v11.7.3 ( 2018-04-27 )",
"versionNo": 1,
"outcome": "SUCCESS",
"errmsg": ""
}
Workaround
Notes
Please note that the above APIs have been replaced in 11.7.4 with new APIs.  These APIs are documented in the 11.7.4 OpenEdge® Service Pack: New Information PDF located in www.progress.com/esd under the 11.7.4 download page.  A copy of this PDF is attached below.
Last Modified Date12/11/2018 8:41 PM


Feedback
 
Did this article resolve your question/issue?

   

Your feedback is appreciated.

Please tell us how we can make this article more useful. Please provide us a way to contact you, should we need clarification on the feedback provided or if you need further assistance.

Characters Remaining: 1025