1 Introduction and Roadmap

The WebLogic Diagnostics Framework (WLDF) is a monitoring and diagnostic framework that defines and implements a set of services that run within WebLogic Server processes and participate in the standard server life cycle. Using WLDF, you can create, collect, analyze, archive, and access diagnostic data generated by a running server and the applications deployed within its containers.This data provides insight into the run-time performance of servers and applications and enables you to isolate and diagnose faults when they occur.

What Is the WebLogic Diagnostics Framework?

The WebLogic Diagnostics Framework (WLDF) is a suite of services and APIs that provide the ability to collect and surface metrics that provide visibility into server and application performance.Independent Software Vendors (ISVs) can use these APIs, using standard interfaces such as WLST, REST, and JMX, to develop custom monitoring and diagnostic tools for integration with WLDF.

The suite of services, components, and APIs provided by WLDF for collecting and analyzing data includes the following:

  • Integration with Oracle HotSpot—If WebLogic Server is configured with Oracle HotSpot, WLDF can generate diagnostic information about WebLogic Server that is captured in the Java Flight Recorder file.

  • Built-in diagnostic system modules—A set of diagnostic modules available out-of-the-box that you can enable dynamically to capture basic performance data about the JVM, the WebLogic Server run time, and primary WebLogic Server subsystems, including JDBC data sources, messaging, and Java EE containers, such as servlets, EJBs, and resource adapters. The built-in diagnostic modules can also be cloned and modified, providing a simple way to create custom diagnostic system modules.

  • Monitoring Dashboard—Graphically presents the current and historical operating state of WebLogic Server and hosted applications, including information gathered by the built-in diagnostic system modules. The Monitoring Dashboard, which is accessed from the WebLogic Server Administration Console, provides a set of tools for organizing and displaying diagnostic data into views, which surface some of the more critical run-time WebLogic Server performance metrics and the change in those metrics over time.

  • Diagnostic Image Capture—Creates a diagnostic snapshot from the server that can be used for post-failure analysis. The diagnostic image capture includes Java Flight Recorder data, if it is available, that can be viewed in Java Mission Control.

  • Archive—Captures and persists data events, log records, and metrics from server instances and applications.

  • Instrumentation—Adds diagnostic code to WebLogic Server instances and the applications running on them to execute diagnostic actions at specified locations in the code. The Instrumentation component provides the means for associating a diagnostic context with requests so they can be tracked as they flow through the system. The WebLogic Server Administration Console includes a Request Performance page, which shows real-time and historical views of method performance information that has been captured through the WLDF instrumentation capabilities, serving as a tool that can help identify performance problems in applications.

  • Harvester—Captures metrics from run-time MBeans, including WebLogic Server MBeans and custom MBeans, which can be archived and later accessed for viewing historical data.

  • Policies and Actions—Provides the means for monitoring server and application states and sending notifications based on criteria set in the policies.

  • Logging services—Manage logs for monitoring server, subsystem, and application events. The WebLogic Server logging services are documented separately from the rest of the WebLogic Diagnostics Framework. See Related Documentation.

WLDF provides a set of standardized application programming interfaces (APIs) that enable dynamic access and control of diagnostic data, as well as improved monitoring that provides visibility into the server. These APIs can be accessed using the JMX and the WebLogic Scripting Tool (WLST), as described in Configuring and Using WLDF Programmatically.

WLDF enables dynamic access to server data through standard interfaces, and the volume of data accessed at any given time can be modified without shutting down and restarting the server.

Guide to This Document

This document is organized as follows:

  • This chapter, "Introduction and Roadmap", provides an overview of WLDF components and describes the audience for this guide.

  • Overview of the WLDF Architecture provides a high-level view of the WLDF architecture.

  • Using the Built-in Diagnostic System Modules describes the built-in system diagnostic modules, which are provided by the WebLogic Diagnostics Framework (WLDF) as a simple and easy-to-use mechanism for performing basic health and performance monitoring of a WebLogic Server instance

  • Using WLDF with Java Flight Recorder describes the WLDF integration features with Java Flight Recorder, describes basic usage scenarios, and provides a sample walkthrough of using Java Mission Control to examine WebLogic Server events captured in a Java Flight Recorder file.

  • Understanding WLDF Configuration provides an overview of how WLDF features are configured for servers and applications.

  • Configuring and Capturing Diagnostic Images describes how to configure and use the WLDF Diagnostic Image Capture component to capture a snapshot of significant server configuration settings and the server state.

  • Configuring Diagnostic Archives describes how to configure and use the WLDF Diagnostic Archive component to persist diagnostic data to a file store or database.

  • Configuring the Harvester for Metric Collection describes how to configure and use the WLDF Harvester component to harvest metrics from run-time MBeans, including WebLogic Server MBeans and custom MBeans.

  • Configuring Policies and Actions provides an overview of WLDF policies and actions.

  • Configuring Policies describes how to configure policies to monitor server instances and applications for specific conditions and execute actions when those conditions are met.

  • Configuring Actions describes how to configure actions that can be executed by policies.

  • Configuring Instrumentation describes how to add diagnostic instrumentation code to WebLogic Server classes and to the classes of applications running on the server.

  • Configuring the DyeInjection Monitor to Manage Diagnostic Contexts describes how to use the DyeInjection monitor and how to use dye filtering with diagnostic monitors.

  • Accessing Diagnostic Data With the Data Accessor tells how to use the WLDF Data Accessor component to retrieve diagnostic data.

  • Deploying WLDF Application Modules explains how to configure and manage instrumentation for an application as a diagnostics application module.

  • Using the Monitoring Dashboard explains how to graphically present the current and historical operating state of WebLogic Server and hosted applications using, in part, diagnostic data captured by WLDF.

  • Configuring and Using WLDF Programmatically provides an overview of how you can use the JMX API and the WebLogic Scripting Tool (WLST) to configure and use WLDF components.

  • Using Debug Patches describes how to apply debug patches dynamically, allowing you to capture diagnostic information using a patch that is activated and deactivated without requiring a server restart.

  • Smart Rule Reference contains a comprehensive reference of all smart rules provided in WLDF are used as policy predicates, typically for elastic scaling operations in dynamic clusters.

  • WLDF Beans and Functions Reference provides a reference for the beans provided by WLDF, and Java EL functions, that can be used in collected metrics policy expressions to obtain access to common WebLogic Server JMX data sources.

  • WLDF Query Language describes the WLDF query language that is used for constructing expressions to query diagnostic data using the Data Accessor, constructing watch rules, and constructing rules for filtering logs.

  • WLDF Instrumentation Library describes the predefined diagnostic monitors and diagnostic actions that are included in the WLDF Instrumentation Library.

  • Using Wildcards in Expressions discusses how to use wildcards in WLDF expressions.

  • WebLogic Scripting Tool Examples provides examples of how to perform WLDF monitoring and diagnostic activities using the WebLogic Scripting Tool.

  • WLDF Query Language-Based Policies explains how to configure policies with expressions that use the deprecated WLDF query language.

  • Glossary is a glossary of terms used in WLDF.

Samples and Tutorials

In addition to this document, we provide a variety of samples and tutorials that show WLDF configuration and use.

Avitek Medical Records Application (MedRec) and Tutorials

MedRec is an end-to-end sample Java EE application shipped with WebLogic Server that simulates an independent, centralized medical record management system. The MedRec application provides a framework for patients, doctors, and administrators to manage patient data using a variety of different clients.

MedRec demonstrates WebLogic Server and Java EE features, and highlights recommended best practices. MedRec is optionally installed in the WebLogic Server distribution and is available by selecting the Complete Installation type. By default, Medrec is configured post-installation in the ORACLE_HOME/user_projects/domains/medrec directory, where ORACLE_HOME represents the Oracle home directory on your machine. See Sample Applications and Code Examples in Understanding Oracle WebLogic Server.

WLDF Samples Available for Download

Additional WLDF samples for download can be found at http://www.oracle.com/technetwork/indexes/samplecode/index.html. These examples are distributed as .zip files that you can unzip into an existing WebLogic Server samples directory structure. These samples include Oracle-certified ones, as well as samples submitted by fellow developers.

What’s New in This Guide

For a comprehensive listing of the new WebLogic Server features introduced in this release, see What's New in Oracle WebLogic Server.