1 Introduction and Roadmap

This chapter describes the contents and audience for this guide—Configuring and Using the Diagnostics Framework for Oracle WebLogic Server. This guide describes the WebLogic Diagnostics Framework (WLDF), 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 runtime performance of servers and applications and enables you to isolate and diagnose faults when they occur.

This chapter includes the following sections:

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 runtime 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 runtime 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 Configuring Log Files and Filtering Log Messages for Oracle WebLogic Server.

Document Scope and Audience

This document describes and tells how to configure and use the monitoring and diagnostic services provided by WLDF.

WLDF provides features for monitoring and diagnosing problems in running WebLogic Server instances and clusters and in applications deployed to them. Therefore, the information in this document is directed both to system administrators and to application developers. It also contains information for third-party tool developers who want to build tools to support and extend WLDF.

It is assumed that readers are familiar with Web technologies and the operating system and platform where WebLogic Server is installed.

Guide to This Document

This document is organized as follows:

Related Documentation

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. For more information, 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

WebLogic Server 12c (12.2.1) includes the following new and changed features for this document:

  • The terms watch and notification are replaced by policy and action, respectively. Consequently, the Watches and Notifications system has been renamed the Policies and Actions system. Although several new changes are introduced to this system, described in the following list item, the basic definition of these terms has not changed.

  • The Policies and Actions system has been revised to include the following new features:

    • The Java Expression Language (EL) is now supported as the recommended language to use in policy expressions. The WLDF query language is deprecated.

    • The WLDFScheduleBean is now available for policies that are configured with the Harvester rule type and the Java EL expression language. These policies, called scheduled policies, use the WLDFScheduleBean for scheduling all metric collection. Even though these policies are configured as Harvester rule types, they do not use the Harvester for metric collection or for scheduling.

    • A new library of prepackaged smart rules, beans, and functions, is provided for use in scheduled policy expressions. Smart rules greatly simplify the task of creating complex policy expressions by requiring you only to specify their input parameters.

      For more complex policy expressions, WLDF also provides a library of beans and functions, which allow you to obtain access to common WebLogic Server JMX data sources.

      These prepackaged smart rules, beans, and functions are helper tools for creating policies that can be used to support elasticity in dynamic clusters.

    • New action types are provided, including: the scale up and scale down actions to support elasticity in dynamic clusters; script action to run a WLST script; and enhancements to the email action that allow you to customize the message body.

      For more information, see Chapter 10, "Configuring Policies," and Configuring Actions.

      For information about configuring elasticity in dynamic clusters, see Configuring Elasticity in Dynamic Clusters for Oracle WebLogic Server.

  • WLDF has been enhanced to support features in Oracle WebLogic Server Multitenant, such as monitoring partition scope metrics; configuring partition scope diagnostics system modules, debugging, and diagnostic image capture; and instrument partition scope applications. For information, see "Monitoring Partitions" in Using WebLogic Server Multitenant.

  • The following enhancements have been made to WLDF integration with Java Flight Recorder:

    • Improvements to execution context ID (ECID) tracing and correlation in servlet JFR events and SOAP JFR events

    • Support for relationship ID (RID) tracing, including within standalone WebLogic Server environments

    • Support for log level propagation in the diagnostic context within standalone WebLogic Server

    For more information, see Chapter 4, "Using WLDF with Java Flight Recorder".

  • Support for dynamic debug patches. Dynamic debug patches allow you to capture diagnostic information using a patch that is activated and deactivated without requiring a server restart. For more information, see Chapter 18, "Using Debug Patches".