The OpenEdge Memory Profiler tool uses the following configuration files to control the memory analysis of recordings and the AI recommendations:
  • analysis.config—Specifies the thresholds that the local memory analysis uses and the optional settings for AI recommendations.
  • llm.config—Specifies the connection to the Progress Agentic RAG service that provides the AI recommendations.
The tool reads both files from the PROPATH of the PAS for OpenEdge report application.

analysis.config

The analysis.config file controls the local memory analysis thresholds and the optional AI recommendation workflow. The tool reads the file from the PROPATH of the PAS for OpenEdge report application. The local analysis and health classification do not require the recommendations section or an AI service.

The following JSON shows the supplied analysis.config file. The application-managed prompts are validated defaults that should not be modified at this time.
{
  "startupDetection": {
    "minSnapshots": 5,
    "startup": {
      "minRequests": 1,
      "minAuto": 2,
      "acceptableRises": 1
    }
  },
  "steadyState": {
    "objectGrowthThreshold": 0.05,
    "growthPerRise": 0.02,
    "overallGrowth": 0.20
  },
  "reporting": {
    "maxTopObjects": 5
  },
  "recommendations": {
    "provider": "progress-agentic-rag",
    "autoRun": {
      "healthStatuses": ["healthy", "marginal", "leaking"]
    },
    "prompts": [
      {
        "role": "developer",
        "template": "You are an OpenEdge memory profiler expert. Analyze this memory recording and provide actionable recommendations to fix memory consumption issues. Reference the observed data points when possible. Do not invert facts. If the evidence is weak, say so. Prefer OpenEdge ABL best practices and operational safe fixes. For each recommendation, include the action, priority level (1-5), and rationale."
      },
      {
        "role": "user",
        "template": "Provide 3-5 specific, actionable recommendations to improve memory usage in JSON format. Focus on OpenEdge ABL best practices. Set severity to LOW/MEDIUM/HIGH and confidence to your certainty level (0-100) to be interpreted as a percentage."
      }
    ]
  }
}
The following table describes the settings in the supplied analysis.config file. Growth thresholds are ratios. For example, 0.05 represents 5%.
Table 1. analysis.config settings
Setting Description Supplied value
startupDetection.minSnapshots

Specifies the minimum number of operational snapshots for phased analysis. With fewer snapshots, the analyzer uses a simpler end-to-end comparison.

5
startupDetection.startup. minRequests

Specifies the minimum number of PAS for OpenEdge _EndOfRequest snapshots used to identify the startup period.

1
startupDetection.startup.minAuto Specifies the minimum number of AVM-Client _AUTO snapshots used to identify the startup period. 2
startupDetection.startup.acceptableRises Specifies the maximum number of rise events tolerated during startup period. 1
steadyState.objectGrowthThreshold Specifies the object-count growth threshold between the post-startup baseline and the pre-cleanup measurements. 0.05
steadyState.growthPerRise Specifies the memory-growth threshold for an individual steady-state rise event. 0.02
steadyState.overallGrowth Specifies the overall application or platform memory-growth threshold between the post-startup baseline and the pre-cleanup measurements. 0.20
reporting.maxTopObjects Specifies the maximum number of largest objects retained for reporting. 5
The optional recommendations object controls AI recommendations:
  • provider—Identifies the Progress Agentic RAG service configured in llm.config. Keep the provider IDs matched.
  • autoRun.healthStatuses—Lists the health statuses that are eligible for automatic recommendation requests. The supplied configuration includes healthy, marginal, and leaking. An empty array disables automatic requests.
  • prompts—Contains the prompts that the recommendation workflow uses. These are validated defaults that should not be modified at this time.
Note: You can omit the recommendations object when you do not use AI recommendations. When the object is present, leave the application-managed prompts entries unchanged.

llm.config

The llm.config file defines the connection to Progress Agentic RAG. For this initial release, the tool supports only the OpenAI Chat Completions service pattern that Progress Agentic RAG provides. Other LLM providers are not available in this release. The tool reads the file from the PROPATH of the PAS for OpenEdge report application. The provider id must match recommendations.provider in the analysis.config file.

The Progress Agentic RAG provider requires an id, an apiKey, and a services array. Its service uses type: "chat-completions" and specifies a model and an endpoint with a baseUrl and a path. The optional format property can request JSON output.
{
  "providers": [
    {
      "id": "progress-agentic-rag",
      "apiKey": "REPLACE_WITH_YOUR_PROGRESS_AGENTIC_RAG_TOKEN",
      "services": [
        {
          "type": "chat-completions",
          "model": "chatgpt-6-luna",
          "endpoint": {
            "baseUrl": "https://aws-us-east-2-1.rag.progress.cloud",
            "path": "/api/v1/predict/compat/chat/completions"
          },
          "format": "json"
        }
      ]
    }
  ]
}
Replace the token placeholder with the credential for your Progress Agentic RAG deployment. Use the model and endpoint values supplied for that deployment. Do not substitute another LLM provider or endpoint.
Note: The token must not be empty, and you should protect it as a secret. Do not commit a real API key to source control.