Monitor, tune and test your Progress Application Server for OpenEdge instances. Using Progress tools to monitor your Progress Application Servers for OpenEdge. Use OEJMX and REST APIs to monitor and manage your instances. Load balance your application servers with help from the OpenEdge HealthScanner. Analyze data collected by the deferred logging to decide how best to improve performance. Explore third-party tools including JConsole, JMX, and JConsole to monitor and manage your PAS for OpenEdge instances.

Monitor and manage Progress Application Servers for OpenEdge using Progress tools

In addition to the management tools introduced earlier, the following tools are useful to monitor performance on test, staging, and production application servers:

  • OEMANAGER—A command-line utility that allows you to obtain metrics about your Progress Application Server (PAS) instance in one call. The output is an easy-to-read textual representation of the metrics initiated from an OS command line. This concept is most similar to the ASBMAN and WTBMAN utilities previously available within the Classic AppServer product. In addition, the utility can be used to manage runtime behavior. For more information, see OEMANAGER utility in Manage Progress Application Server (PAS) for OpenEdge.
  • OEJMX—A command-line utility that you can use to request information about Managed Beans (MBeans) and to run MBean queries. MBeans are the interfaces used for managing the resources of a PAS for OpenEdge server. The output of OEJMX requests and queries is written to a file.

    For more information, see Use OEJMX to manage and monitor an instance in Manage Progress Application Server (PAS) for OpenEdge.

    You can use the following queries to get information about your PAS for OpenEdge server:

    • Get active session information—Provides details about client connections including avgQueueDepth, maxConcurrentClients, maxQueueDepth, reads, requests, and timesQueued. The maxQueueDepth can be used to determine whether there are any bottlenecks causing the requests to be queued. You may be able to improve performance by reducing the number of queue requests.

      For more information, see Get active session information query in Manage Progress Application Server (PAS) for OpenEdge..

    • Get transport metrics—Provides detailed metrics for the APSV, SOAP, REST, and WEB transports in an ABL web application. Metrics include requests, maxConnectTime, successfulRunRequests, successfulRequests, avgConnectTime, and accessTime that identify areas for performance improvements.

      For examples of transport metrics, see Get transport metrics for an ABL web application in PAS for OpenEdge Administration Tools Reference.

    • Get metrics for a specific ABL application—Provides information about the number of requests that were executed, failed, and queued while running on a specific ABL application. This metric shows whether clients timed out. If there are no read or write errors, then that indicates that the server is running well.

      For an example, see Get metrics for an ABL application in PAS for OpenEdge Administration Tools Reference.

    • Get hung client connections—Provides information about the number of requests that are still running in a given ABL application, to identify client connections that are hung. Specify the number of milliseconds to elapse before sending information about hung client connections.

      For an example, see Get hung client connections in PAS for OpenEdge Administration Tools Reference.

  • OpenEdge HealthScanner—Checks the overall health of a server and assigns a score from 0-100% as well as a status code. System administrators configure an acceptable threshold for a server to be considered in good operational health. Servers with scores below the threshold can be taken out of service by an elastic load balancer (ELB).

    For more information, see Tune PAS for OpenEdge instances in Manage Progress Application Server (PAS) for OpenEdge.

  • Deferred logging—Gives system administrators the ability to run an on-demand monitoring check on the instance. The in-memory buffer is configured independently from the agent log, and automatically writes to the agent log file in the event of a crash or when it is called through an API. You can configure deferred logging to get additional information beyond the standard logging messages. When an agent crashes, the deferred logging buffer is printed to the agent log file. Alternatively, you can invoke an API to print the deferred logging buffer to the agent log file or clear the deferred log buffer.

    Here is a video that provides how you can use deferred logging:

For more information about the tools used in the video, see

Tune by making one change at a time

A well-tuned PAS for OpenEdge instance balances the use of the OS, CPU, memory, and processes to service the largest number of concurrent client requests with the best response time. A poorly tuned PAS for OpenEdge instance can overload the server instance, multi-session agent, or OS which degrades the client response times or causes server outages.

Monitor PAS for OpenEdge with third-party tools

Java Monitoring and Management Console (JConsole)—An application included with Java, that can be used to monitor and manage PAS for OpenEdge instances. On production servers, JConsole is commonly used for monitoring and tuning, and for removing hung sessions. Use JConsole with a remote connection to a production server to avoid adding the overhead of JConsole into the values returned. The usual security concerns apply when you enable remote administrative access to an instance.

For more information, see Run JConsole remotely in Manage Progress Application Server (PAS) for OpenEdge.

Java Management Extensions (JMX)— The technology provides dynamic access to applications and other resources by using Java objects called Managed Beans (MBeans). One or more MBeans instrument a resource through the use of the MBean's attributes, actions (defined as methods), and notifications. For more information about JMX and MBeans, see Introduction to JMX in the Java documentation.