OpenEdge ABL - PASOE Manager GUI
A Visual Studio Code extension that provides a graphical interface to manage OpenEdge PASOE (Progress Application Server for OpenEdge) agents and sessions through the OpenEdge oemanager REST API.
Features
This extension provides a comprehensive dashboard for managing your PASOE AppServer environment:
Agent Statistics View (NEW)
- Command:
OE Manager: Show Agent Metrics
- Agent Selection: Filter statistics by specific agent or view all agents
- Manual Refresh: Get Statistics button to fetch data on-demand (no auto-refresh)
- Get Requests Toggle: Optional checkbox to include/exclude request data (unchecked by default for faster loading)
- Reset Statistics: Clear agent statistics for selected agent or all agents
- Expandable Agent Cards: Click agent headers to expand/collapse detailed data
- Loading Indicators: Spinning animation on agent cards during data loading and expansion
- Card-based Metrics Display:
- Status counts: Threads, Sessions, Connections, Requests
- Memory metrics: CStack Memory, Overhead Memory (formatted)
- Activity metrics: Active/Exited Threads, Active/Exited Sessions, Open/Closed Connections
- Data Grids: Detailed tables for Threads, Connections, and Requests
- User-friendly Error Messages: Clear feedback for operations like "No Available Agents"

Real-time Monitoring
- Command:
OE Manager: Show Charts
- SessionManager Metrics - View key performance metrics with auto-refresh capability
- Performance Charts - Dedicated independent panel with real-time time-series charts:
- Session Memory Over Time - Track memory usage per session
- Requests Completed Over Time - Monitor request completion rates
- Requests Failed Over Time - Track failure rates
- Session-specific bar charts (Memory, Completed, Failed per session)
- Task Manager-style scrolling (200 data points, configurable refresh interval)
- Fewer vertical grid lines for cleaner display
- Agents Grid - Monitor all agents with their current status and properties
- Auto-selects first agent on refresh
- Preserves collapsed/expanded state on refresh
- Sessions Grid - View active sessions for selected agents
- Automatically loads when first agent is selected
- Running Queries - Track active requests with auto-refresh (configurable interval)

Agent Management
- Command:
OE Manager: Show Agents
- Add Agent - Create new agents with a single click
- Delete Agent - Remove agents with configurable wait times
- Trim All Agents - Delete all agents from the current application with one click
- Trim All Agents (Command Palette) -
OE Manager: Trim All Agents deletes all agents from all applications
- Cancel Request - Right-click on any running request to cancel it (NEW)
- Enable/Disable ABL Objects - Control ABL object handling per agent
- Get ABL Objects Report - Export detailed ABL objects information to file
- Agent Properties - View and edit comprehensive agent configuration:
- Edit properties directly in modal dialog
- Save changes to update agent configuration via API
- All properties are editable (PROPATH, session limits, memory limits, etc.)
- Auto-Refresh Agent Grid - Agents grid automatically refreshes (configurable interval, default 10s)
- Preserves agent selection after refresh
- Sessions/Requests grids only update for RUNNING or AVAILABLE agents

Configuration
- Flexible authentication (Basic Auth)
- SSL certificate validation control (supports self-signed certificates)
- Configurable API endpoints
- Auto-refresh intervals for real-time data
- Customizable wait times for agent operations
Requirements
- OpenEdge PASOE with oemanager application deployed and accessible
- VS Code version 1.74.0 or higher
- Network access to your PASOE server's oemanager REST API endpoints
Installation
- Install the extension from the VS Code Marketplace (or manually via
.vsix file)
- Configure the extension settings (see Getting Started section below)
- Open the Command Palette (
Ctrl+Shift+P or Cmd+Shift+P)
- Run
OE Manager: Show Agents
Getting Started
First-Time Setup
When you install the extension for the first time, you need to configure at least one PASOE server connection. The extension provides a built-in Configure dialog that makes this easy.
Step 1: Open a View
- Open the Command Palette (
Ctrl+Shift+P or Cmd+Shift+P)
- Run one of the following commands:
OE Manager: Show Agents - Agent management view
OE Manager: Show Charts - Performance charts view
OE Manager: Show Agent Metrics - Statistics view
Step 2: Add Your First PASOE Server
- In the view, click the Configure... button (located in the top toolbar)
- A modal dialog will open showing "No servers configured"
- Click Add New Server
- Fill in the server details:
- Name: A friendly name for this server (e.g., "Production PASOE", "Dev Server")
- URL: The base URL of your PASOE oemanager API (e.g.,
https://myserver.com:8810)
- Username: Your oemanager username (e.g.,
admin)
- Password: Your oemanager password (stored securely)
- Click Save
Step 3: Select Your Server
After saving, your server will appear in the list. Click Select to activate it. The extension will:
- Store the connection settings
- Load the available applications from the server
- Display the application data in the view
Managing Multiple PASOE Servers
The extension supports managing multiple PASOE server connections, making it easy to switch between different environments (Development, QA, Production, etc.).
Adding More Servers
- Click Configure... in any view
- Click Add New Server
- Enter the server details and click Save
Switching Between Servers
- Click Configure... in any view
- Click Select next to the server you want to use
- All open views will automatically update to show data from the selected server
Editing a Server
- Click Configure... in any view
- Click Edit next to the server you want to modify
- Update the details and click Save
Deleting a Server
- Click Configure... in any view
- Click Delete next to the server you want to remove
- Confirm the deletion when prompted
View Settings
Each view displays the current connection settings in the top toolbar:
- Application: Dropdown to select which PASOE application to monitor
- OE Manager Base URL: Shows the current server URL (read-only)
- Refresh Interval: Set the auto-refresh interval in seconds (1-300)
- Changes apply immediately when you leave the field or press Enter
Configuration
The recommended way to configure the extension is through the Configure... button in any view. This allows you to manage multiple server connections easily.
Alternatively, you can configure settings through VS Code settings (File > Preferences > Settings or Ctrl+,).
VS Code Settings
These settings are automatically managed when you use the Configure... dialog, but can also be set manually:
| Setting |
Type |
Default |
Description |
diabolo.oemanager.baseUrl |
string |
- |
Base URL for the OE Manager API (e.g., https://server:8810) |
diabolo.oemanager.username |
string |
- |
Username for basic authentication |
diabolo.oemanager.rejectUnauthorized |
boolean |
false |
Verify SSL certificates (set to false for self-signed certs) |
diabolo.oemanager.waitToFinish |
number |
120000 |
Wait time in ms for agent deletion (2 minutes) |
diabolo.oemanager.waitAfterStop |
number |
60000 |
Wait time in ms after agent stop (1 minute) |
diabolo.oemanager.requestsRefreshInterval |
number |
5 |
Auto-refresh interval in seconds for requests/sessions |
diabolo.oemanager.chartsRefreshInterval |
number |
10 |
Charts data collection interval in seconds |
diabolo.oemanager.agentsRefreshInterval |
number |
10 |
Auto-refresh interval in seconds for agents grid |
Password: Passwords are stored securely using VS Code's Secret Storage API. When using the Configure... dialog, passwords are stored automatically. You can also use command palette commands:
OE Manager: Set Password - Store password for the current baseUrl
OE Manager: Delete Password - Remove the stored password
Example Configuration
{
"diabolo.oemanager.rejectUnauthorized": false,
"diabolo.oemanager.requestsRefreshInterval": 5,
"diabolo.oemanager.chartsRefreshInterval": 10,
"diabolo.oemanager.agentsRefreshInterval": 10
}
Note: The baseUrl and username are typically managed through the Configure... dialog, which also handles password storage securely.
Usage
Opening the Dashboard
- Open Command Palette (
Ctrl+Shift+P / Cmd+Shift+P)
- Type
OE Manager: Show Agents
- Press Enter
Managing Agents
Add an Agent:
- Click the "Add Agent" button in the toolbar
Agent Context Menu (Right-click on any agent):
- Enable ABL Objects - Enable ABL object handling
- Disable ABL Objects - Disable ABL object handling
- Get ABL Objects Report - Export report to JSON file
- Delete Agent - Remove the agent (with confirmation)
Viewing Sessions
- Click on any agent row to view its active sessions
- Sessions are displayed in the grid below the agents
Viewing and Editing Agent Properties
- Click the "Agents Properties" button in the toolbar
- A modal dialog displays all agent configuration properties
- Edit any property value directly in the input fields
- Click "Save" to update the agent configuration
- Changes are applied immediately via the oemanager API
- Click "Show Charts" to display real-time performance monitoring
- Three independent chart sections (collapsible):
- Session Memory Over Time - Memory usage per session in MB
- Requests Completed Over Time - Completed request counts
- Requests Failed Over Time - Failed request counts
- Each chart shows a 1-hour scrolling window (200 data points)
- Charts scroll left as new data arrives (Task Manager style)
- Individual "Hide" and "Refresh" buttons for each chart section
- Data collection interval configurable via
chartsRefreshInterval setting
Monitoring Running Queries
- The bottom grid shows all active requests across the application
- Toggle auto-refresh ON/OFF using the button in the grid header
- Refresh interval is configurable via settings
Auto-Refresh Controls
Both SessionManager Metrics and Running Queries grids have independent auto-refresh toggle buttons:
- Click "Refresh: ON" to disable auto-refresh
- Click "Refresh: OFF" to enable auto-refresh
- Both use the same interval from
oemanager.requestsRefreshInterval
API Endpoints Used
This extension interacts with the following OpenEdge oemanager REST API endpoints:
GET /oemanager/applications/{app}/agents - List agents
GET /oemanager/applications/{app}/agents/sessions - Get all sessions with metrics
GET /oemanager/applications/{app}/agents/{id}/sessions - Get agent sessions
GET /oemanager/applications/{app}/agents/properties - Get agent properties
PUT /oemanager/applications/{app}/agents/properties - Update agent properties
GET /oemanager/applications/{app}/metrics - Get SessionManager metrics
GET /oemanager/applications/{app}/requests - Get active requests
POST /oemanager/applications/{app}/addAgent - Create new agent
DELETE /oemanager/applications/{app}/agents/{id} - Delete agent
PUT /oemanager/applications/{app}/agents/{id}/ABLObjects/status - Enable/disable ABL objects
GET /oemanager/applications/{app}/agents/{id}/ABLObjects - Get ABL objects report
Commands
| Command |
Description |
OE Manager: Show Agents |
Open the OE Manager dashboard |
OE Manager: Show Charts |
Open the performance charts panel |
OE Manager: Show Agent Metrics |
Open the agent statistics panel |
OE Manager: Refresh Agents |
Refresh the agents view |
OE Manager: Set Password |
Securely store your password |
OE Manager: Delete Password |
Remove the stored password |
Troubleshooting
Connection Issues
If you can't connect to the oemanager API:
- Verify
diabolo.oemanager.baseUrl is correct
- Check that the oemanager application is running
- Confirm network connectivity to the PASOE server
- Verify username is correct and password is set using
OE Manager: Set Password command
SSL Certificate Errors
For self-signed certificates:
- Set
diabolo.oemanager.rejectUnauthorized to false
Authentication Failures
- Ensure
diabolo.oemanager.username is correctly set
- Run
OE Manager: Set Password command to securely store your password
- Verify the user has permissions to access oemanager APIs
Known Issues
- Large ABL Objects reports may take time to download and save
Release Notes
0.0.17 (Current)
Features:
- Cross-Panel Server Synchronization - When switching PASOE servers from any panel, all open panels are automatically updated
- Refresh Interval Live Update - Changing the refresh interval applies immediately on blur or Enter key
- Improved Getting Started Experience - Better documentation for first-time setup
Changes:
- Session Charts section moved to top of Charts view for better visibility
- Base URL field is now read-only (use Configure button to change server)
- Removed Apply Settings button (settings managed through Configure modal)
- Fixed Delete button in server configuration modal
0.0.16
Features:
- Multi-PASOE Server Configuration - Manage multiple PASOE server connections with secure password storage
- Configure Button - Added to all views for easy server management
- Server Configuration Modal - Add, edit, delete, and select servers from a modal dialog
0.0.15
Features:
- Agent selection dropdown to filter by specific agent or view all agents
- "Get Requests" toggle checkbox (unchecked by default) to optionally include request data
- "Reset Statistics" button to clear agent statistics via DELETE API
- Spinning animation indicator on agent cards during data loading and expansion
- Apply Settings button moved to first row for better layout
- Improved Loading Experience:
- Consistent loading screen with big spinner across all views (Agents, Charts, Metrics)
- Loading placeholders with spinner while fetching agent metrics data
- User-friendly Error Messages:
- "Add Agent" button now shows helpful message when no agents are available in pool
- Context-specific error messages for authentication, not found, and timeout errors
0.0.14
Features:
- Editable Agent Properties - Edit and save agent configuration directly from the modal dialog
- Real-time Performance Charts - Three time-series charts with Task Manager-style scrolling:
- Session Memory Over Time (MB)
- Requests Completed Over Time
- Requests Failed Over Time
- Charts feature 1-hour scrolling window with 200 data points
- Configurable chart refresh interval (default: 10 seconds)
- Collapsible chart sections with individual refresh controls
- Button renamed from "Get Agents Properties" to "Agents Properties"
0.0.3
Features:
- Secure password storage using VS Code Secret Storage API
- Passwords no longer stored in clear text settings
- New commands: "Set Password" and "Delete Password"
0.0.1 (Initial Release)
Features:
- Real-time monitoring of PASOE agents, sessions, and requests
- SessionManager metrics dashboard
- Add/Delete agent operations
- Enable/Disable ABL Objects per agent
- Export ABL Objects reports
- Auto-refresh for metrics and running queries
- Basic authentication support
- SSL certificate validation control
- Context menu actions for agent management
Contributing
Contributions are welcome! Please feel free to submit issues and pull requests to the GitHub repository.
License
See LICENSE file for details.
Note: This extension requires access to an OpenEdge PASOE server with the oemanager application properly configured and accessible.