Unveiling WLSDM Version-4: A Journey Through Software Release Testing with JDK 11

From Code to Launch: The Testing Process of WLSDM Version-4 with JDK 11

WLSDM for WebLogic
WLSDM for WebLogic
9 min readMay 22, 2024

--

In the dynamic world of software development, ensuring that every component functions seamlessly is paramount. End-to-end testing of JDK 11 plays a crucial role in this process, providing a thorough validation of its functionality, performance, and reliability. By meticulously evaluating each aspect, we guarantee that JDK 11 meets the highest standards of excellence and readiness for deployment. Join us as we delve into the comprehensive testing journey of WLSDM Version-4, showcasing the meticulous process and robust outcomes achieved with JDK 11.

Test Story of Unveiling WLSDM Version-4

Environment List

• Java Version: java 11.0.21 2023–10–17 LTS
• WebLogic Server Version: 14.1.1.0.0
• WLSDM Version: v4.1.1-b5066
• JavaServerLoader
• TechCo-ECommerce-1.0-SNAPSHOT

The Purpose of Testing

The testing encompasses end-to-end tests for the integration of JDK 11 with WLSDM.

The Roadmap Followed During Testing

In order to conduct backend tests, the JavaServerLoader and TechCo-Ecommerce applications were deployed on WebLogic 14. WLSDM threshold values were adjusted to their minimum values to capture all events occurring in the backend. To capture backend events, “New Back-end System Monitoring” was added from the Add/Update Monitoring & Diagnostics Configurations page.

SC-1: System Settings > system.monitoring (tab) | Configuration and fine-tuning for backend system activity thresholds
SC-2: AddUpdate Monitoring & Diagnostics Configuration > Back-end Systems | Create New Back-end Systems Monitoring
SC-3: New Back-end Monitoring Settings Pop-Up

Back-end Tests

To stress the system, the CPU Performance test was initiated via the JavaServerLoader application. Subsequently, the CheckOut function with a sleep function in the TechCo-Ecommerce application was executed to create load on the backend. Each page related to the backend was individually checked through WLSDM to demonstrate successful data collection. The checked pages are as follows:

1- Back-end Systems→ Back-end Generic

  • It was observed that JDBC and EJB event information was successfully collected and listed in the table on the BACK-END GENERIC page.
SC-4: Monitoring & Diagnostics > Back-end Systems | Backend event graphs for each server.

2- Back-end Systems → JDBC

  • Relevant event tables were successfully created on the JDBC page.
SC-5: Monitoring & Diagnostics > Back-end Systems > JDBC

3- Back-end Systems → EJB

  • The relevant event tables were successfully created on the JDBC page.
SC-6: Monitoring & Diagnostics > Back-end Systems > EJB

4- Back-end Systems → HTTPClient Outbound Call

SC-7: Monitoring & Diagnostics > Back-end Systems > HTTPClient Outbound Call

5- Socket I/O

SC-8: Monitoring & Diagnostics > Back-end Systems > Socket I/O

6- Transaction Profiling and Slow Traces

  • The sleep function executed on the TRANSACTION PROFILING AND SLOW TRACES page was successfully displayed in the table. Clicking on it provided the transition to the relevant detail section where details related to the function were listed.
SC-9: Monitoring & Diagnostics > Transaction Profiling and Slow Traces | Slow trace graphs for each individual managed server.
SC-10: Monitoring & Diagnostics > Transaction Profiling and Slow Traces | View details by clicking on the data points in the slow traces graph.
SC-11: Monitoring & Diagnostics > Transaction Profiling and Slow Traces | Expand tabs for details.

7- Notifications → Metric Notifications

  • Load was generated on the CPU via the JavaServerLoader tool in the Metric Notifications section, and the load generated here was listed in detail on the page. When the load test ended, the relevant clear notification appeared in the table.
SC-12: Notifications | Receive notifications for real-time system issues.
SC-13: Notifications | Use the Actions buttons to view details.
SC-14: Notifications | Receive clear notifications when system issues are resolved.

8- Reports → Metric Reports

  • The details of the relevant metrics resulting from the load tests could be tracked under the “Metric Reports” page.
SC-15: Reports > Metric Reports | Get detailed reports for each metric.
SC-16: Reports > Metric Reports | Table view
SC-17: Reports > Metric Reports | Chart view

9- Reports → Back-end Reports

  • After setting the relevant filters on the Back-end Reports page, daily reports were successfully listed using the “Get Report From Daily Data” button. However, it was observed that the “Get Report” button did not work when attempting to fetch a report from a specific time period.
SC-18: Reports > Back-end Reports | Get detailed reports for each backend activity.
SC-19: Reports > Back-end Reports | Use the “Detail” button for more information.
SC-20: Reports > Back-end Reports | Event Stack Trace
SC-21: Reports > Back-end Reports | Chart view
  • The “Get Report” button is not functioning as expected.

UPDATE: It was learned that the “Get Report” button retrieves only data with the store feature enabled from metric settings. The button is functioning successfully.

SC-22: Reports > Back-end Reports | To retrieve stored historical data, use the “Get Report” button.
SC-23: Reports > Back-end Reports | Table view

10- Reports → Back-end Systems Top Events

SC-24: Reports >Back-end Systems Top Events
SC-25: Reports > Back-end Systems Top Events | Backend Monitoring Notification Detail
SC-26: Reports > Back-end Systems Top Events | JDBC Statement Execute Filter
SC-27: Reports > Back-end Systems Top Events | JDBC Statement Execute Detail and SQL

11- Reports → Response Times Top Requests

SC-28: Reports → Response Times Top Requests

List Of Pages Containing JFR (Java Flight Recording)

  1. In the Smart Dashboards → JVM System Resources page, the “Actions” buttons in the tables contain JFR.
SC-28: Define JFR actions for metrics exceeding the threshold

2. In the Smart Dashboards → Servers page, the “Actions” buttons in the tables contain JFR.

SC-29: Define JFR actions for metrics exceeding the threshold

3. In the Monitoring & Diagnostics → Profiling Dumps page, there are tables under the “Profiling Dumps” and “Flight Recorder Repository (Auto JFRs)” tabs that allow us to generate manual JFR files or automatically generate JFR files.

SC-30: Monitoring & Diagnostic > Profiling Dumps
SC-31: Monitoring & Diagnostic > Profiling Dumps | Dumps can be taken manually for specific managed servers
SC-32: Monitoring & Diagnostic > Profiling Dumps | Automatically collected JFR files can be listed and downloaded

4. Under Configuration → WLSDM System Settings page, the following JFR parameter settings are found in the “system.monitoring” table:

  • system.monitoring.metric.actions.jfr.default.settings
  • system.monitoring.metric.actions.jfr.duration
SC-33: Configuration > WLSDM System Settings | General settings are configured for JFRs collected with action settings

Transaction Profiling and Slow Traces

SC-34: Monitoring & Diagnostics > Transaction Profiling and Slow Traces | Detailed graph of current slow traces
SC-35: Monitoring & Diagnostics > Transaction Profiling and Slow Traces | Details of the selected section from the graph
SC-36: Monitoring & Diagnostics > Transaction Profiling and Slow Traces | Details of the selected section from the graph
SC-37: SQL Analysis of Slow Traces

Backend Dashboard

A dashboard named “Test” has been created from the Add Monitoring page. Events were added to this dashboard under the Back-end System category. It was observed that the events were successfully listed.

SC-38: Add/Update Monitoring & Diagnostics Configurations > Back-end Systems | Create a new dashboard and add specific backend events
SC-39: Monitoring & Diagnostics > Back-end Systems > New_Dashboard | View the graph of the event you added on the new dashboard

View WLSDM Agent

  • A dashboard named “Test” has been created from the Add Monitoring page. Events were added to this dashboard under the Back-end System category. It was observed that the events were successfully listed.
SC-40: Operational Tools & Utils > Monitor WLSDM Agents | Check the health and version of all WLSDM Agents across the entire domain.

WLSDM Extended Monitoring and Outbound URL Monitoring

  • A Network Socket test was performed using the JavaServerLoader tool. The test results were successfully listed under Outbound Call in the Back-end Reports section.
SC-41: Generate network socket load using the JavaServerLoader tool.
SC-42: Monitoring & Diagnostics > Back-end Systems > HTTPClient Outbound Call | The generated load is monitored from the HTTPClient Outbound Call dashboard.
SC-43: Monitoring & Diagnostics > Back-end Systems > HTTPClient Outbound Call | Details of the related event
SC-44: Reports > Back-end Reports | Get the HTTPClient Outbound Call report from the daily data
SC-45: Reports > Back-end Reports | Report Table
SC-46: Reports > Back-end Reports | Report Table Details

UI Tests

  • UI tests were conducted across three different web browsers. During the test, significant issues were not encountered. However, one bug was identified, and I have two suggestions for improvement that I propose.

INTERNET BROWSERS USED IN THE TEST

  • Opera
  • Chrome
  • Mozilla

IDENTIFIED UI BUGS

  • If the WLSDM Navigation Bar is pinned by clicking on it and the Bar is enlarged downwards, the “Configuration” tab is positioned below the Volthread logo.
SC-47: New fixed navigation bar

SUGGESTED IMPROVEMENTS

1. In the Back-end Monitoring detail page, when clicking on the Root Cause button to open the pages, it is difficult to read because the height of the “Event Thread” table is too short.

SC-48: The size of the Event Thread Table should be increased

2. To close opened pop-ups, it is mandatory to click on the Close or “X” button. It could be more convenient if they could also be closed by clicking on an empty area of the page.

SC-49: The opened windows should also be closable by clicking outside the window.

3. As the Navigation Bar grows in size, it requires scrolling down the entire page to access the buttons at the bottom. I believe that if the bar is fixed and a structure is designed to only move the bar downwards, the page layout would look more aesthetically pleasing.

SC-50: Navigation bar should be fixed.

Installation

  • A clean installation of WLSDM has been successfully completed without encountering any errors.
SC-51: WLSDM Quick Installation Wizard
SC-52: WLSDM Quick Installation Wizard | Successfully displayed error messages
SC-53: WLSDM Quick Installation Wizard | Successfully passing without selecting optional settings
SC-54: WLSDM Quick Installation Wizard | Successfully displayed error message for invalid license key entry
SC-55: WLSDM Quick Installation Wizard | Successful activation of the license with a valid license key
SC-56: WLSDM Quick Installation Wizard | Alarm Configuration
SC-57: WLSDM Quick Installation Wizard | SMTP/EMAIL configuration warning can be skipped
SC-58: WLSDM Quick Installation Wizard | Resources selection page
SC-59: WLSDM Quick Installation Wizard | Metric Configuratin Page
SC-60: WLSDM Quick Installation Wizard | Recommended settings on the Metric Configuration Page applied successfully
SC-61: WLSDM Quick Installation Wizard | Disk mount selection page
SC-62: WLSDM Quick Installation Wizard | Managed servers to be monitored are selected from the list
SC-63: WLSDM Quick Installation Wizard | Monitoring & Diagnostics settings
SC-64: WLSDM Quick Installation Wizard | Quick installation wizard installation was successfully completed
SC-65: WLSDM successfully started

Overall Test Results of WLSDM Version-4 Release

The tests have been largely completed successfully. No errors have been encountered on the back-end. During the UI tests, one bug was identified that does not affect the system’s functionality.

Suggestions for improvement, which I find beneficial, have been mentioned in the relevant area.

Author: Ozgun Deniz Bedel | Volthread

Co-Authors: Can Sahin | Volthread, Fevzi Korkutata | Volthread

--

--