Home
/
Middleware
/
Oracle WebLogic Server
1/29
Contents
Title and Copyright Information
Preface
Documentation Accessibility
Conventions
1
Introduction and Roadmap
What Is the WebLogic Diagnostics Framework?
Document Scope and Audience
Guide to This Document
Related Documentation
Samples and Tutorials
Avitek Medical Records Application (MedRec) and Tutorials
WLDF Samples Available for Download
What's New in This Guide
2
Overview of the WLDF Architecture
Overview of the WebLogic Diagnostics Framework
Data Creation, Collection, and Instrumentation
Archive
Policies and Actions
Data Accessor
Monitoring Dashboard and Request Performance Pages
Monitoring Dashboard
Diagnostics Request Performance Page
Diagnostic Image Capture
How It All Fits Together
3
Using the Built-in Diagnostic System Modules
Overview
Types of Built-in Diagnostic System Modules
Data Collected by Built-in Diagnostic System Modules
Configuring a Built-in Diagnostic Module
Accessing Data Collected by a Built-in Diagnostic System Module
Using the Monitoring Dashboard
Using the Metrics Log Table in the Administration Console
Creating a Custom Diagnostic System Module Based on a Built-in
4
Using WLDF with Java Flight Recorder
About Java Flight Recorder
Using Java Flight Recorder with Oracle HotSpot
Key Features of WLDF Integration with Java Flight Recorder
Java Flight Recorder Use Cases
Diagnosing a Critical Failure — The "Black Box"
Profiling During Performance Testing or in Production
Real-Time Application Diagnostics and Reporting
Obtaining the Flight Recording File
Analyzing Java Flight Recorder Data
Java Flight Recorder Graphical User Interface
Analyzing Execution Flow — A Sample Walkthrough
Displaying Event Data for a Product Subcomponent
Viewing the Event Log to Display Details
Tracking Execution Flow by Analyzing an Operative Set
Expanding the Operative Set and Viewing Correlated Diagnostic Data
Changing the Location of Temporary JFR Files
5
Understanding WLDF Configuration
Configuration MBeans and XML
Tools for Configuring WLDF
How WLDF Configuration Is Partitioned
Server-Level Configuration
Application-Level Configuration
Configuring Diagnostic Image Capture and Diagnostic Archives
Configuring Diagnostic Image Capture for Java Flight Recorder
Configuring Diagnostic System Modules
About the Resource Descriptor
WLDF Runtime Control
Creating a Diagnostic System Module Based on a Configured Resource
Descriptor
Creating a Diagnostic System Module Based on an External Resource Descriptor
Targeting a Diagnostic System Module to a Server or Cluster
Dynamically Activating or Deactivating Diagnostic System Modules
Using WLST to Activate and Deactivate Diagnostic System Modules
Example
More Information About Configuring Diagnostic System Modules
Configuring Diagnostic Modules for Applications
WLDF Configuration MBeans and Their Mappings to XML Elements
6
Configuring and Capturing Diagnostic Images
How to Initiate Image Captures
Configuring Diagnostic Image Captures
Configuring WLDF Diagnostic Volume
Low Volume Setting
Medium Volume Setting
High Volume Setting
WLST Commands for Generating an Image Capture
How Diagnostic Image Capture Is Persisted in the Server's Configuration
Content of the Captured Image File
Data Included in the Diagnostics Image Capture File
WLST Online Commands for Downloading Diagnostics Image Captures
7
Configuring Diagnostic Archives
Configuring the Archive
Configuring a File-Based Store
Configuring a JDBC-Based Store
Creating WLDF Tables in the Database
Apache Derby
Oracle Database
MySQL
Configuring JDBC Resources for WLDF
Retiring Data from the Archives
Configuring Data Retirement at the Server Level
Configuring Age-Based Data Retirement Policies for Diagnostic Archives
Sample Configuration
8
Configuring the Harvester for Metric Collection
Harvesting, Harvestable Data, and Harvested Data
Harvesting Data from the Different Harvestable Entities
Configuring the Harvester
Configuring the Harvester Sampling Period
Configuring the Types of Data to Harvest
Specifying Type Names for WebLogic Server MBeans and Custom MBeans
Harvesting from the Domain Runtime MBean Server
When Configuration Settings Are Validated
Sample Configurations for Different Harvestable Types
Harvester Performance Considerations
9
Configuring Policies and Actions
Policies and Actions
Overview of Policies and Actions Configuration
Sample Policies and Actions Configuration
10
Configuring Policies
How Policies Are Configured
Rule Type
Expression Language
Policy Expression
Actions
Policy Schedule
Alarm Options
Severity Option
Enablement Option
Configuring Scheduled Policies
Configuring Calendar-Based Policies
Configuring Smart Rule-Based Policies
Types of Diagnostic Data that Smart Rules Evaluate
Smart Rule Example
Configuring Collected Metrics-Based Policies
Using Beans
Using Functions
Chaining Policies
Configuring Log Policies
Configuring Instrumentation Policies
11
Configuring Actions
Actions Overview
Types of Actions
Variables for Customizable Actions
Action Timeout
Configuring JMX Actions
Configuring JMS Actions
Configuring SNMP Actions
Configuring Log Actions
Configuring REST Actions
Configuring SMTP Actions
Configuring Image Actions
Configuring Elastic Actions
Elastic Scaling Operations Cannot Be Cancelled After Starting
Limiting Server Shutdown Time During Scale Down Operations
Configuring Script Actions
12
Configuring Instrumentation
Concepts and Terminology
Instrumentation Scope
Configuration and Deployment
Joinpoints, Pointcuts, and Diagnostic Locations
Diagnostic Monitor Types
Diagnostic Actions
Instrumentation Configuration Files
XML Elements Used for Instrumentation
<Instrumentation> XML Elements
<wldf-instrumentation-monitor> XML Elements
Mapping <wldf-instrumentation-monitor> XML Elements to Monitor Types
Configuring Server-Scoped Instrumentation
Configuring Application-Scoped Instrumentation
Comparing System-Scoped to Application-Scoped Instrumentation
Overview of the Steps Required to Instrument an Application
Creating a Descriptor File for a Delegating Monitor
Creating a Descriptor File for a Custom Monitor
Defining Pointcuts for Custom Monitors
Annotation-based Pointcuts
Creating Request Performance Data
13
Configuring the DyeInjection Monitor to Manage Diagnostic Contexts
Contents, Life Cycle, and Configuration of a Diagnostic Context
Context Life Cycle and the Context ID
Dyes, Dye Flags, and Dye Vectors
Where Diagnostic Context Is Configured
Overview of the Process
Configuring the Dye Vector via the DyeInjection Monitor
Dyes Supported by the DyeInjection Monitor
PROTOCOL Dye Flags
THROTTLE Dye Flag
When Diagnostic Contexts Are Created
Configuring Delegating Monitors to Use Dye Filtering
How Dye Masks Filter Requests to Pass to Monitors
Dye Filtering Example
Using Throttling to Control the Volume of Instrumentation Events
Configuring the THROTTLE Dye
How Throttling is Handled by Delegating and Custom Monitors
Using weblogic.diagnostics.context
14
Accessing Diagnostic Data With the Data Accessor
Data Stores Accessed by the Data Accessor
Accessing Diagnostic Data Online
Accessing Data Using the Administration Console
Accessing Data Programmatically Using Runtime MBeans
Using WLST to Access Diagnostic Data Online
Using the WLDF Query Language with the Data Accessor
Accessing Diagnostic Data Offline
Accessing Diagnostic Data Programmatically
Resetting the System Clock Can Affect How Data Is Archived and Retrieved
15
Deploying WLDF Application Modules
Deploying a Diagnostic Module as an Application-Scoped Resource
Using Deployment Plans to Dynamically Control Instrumentation Configuration
Using a Deployment Plan: Overview
Creating a Deployment Plan Using weblogic.PlanGenerator
Sample Deployment Plan for Diagnostics
Enabling Java HotSwap
Deploying an Application with a Deployment Plan
Updating an Application with a Modified Plan
16
Using the Monitoring Dashboard
Running the Monitoring Dashboard
Scope of the Diagnostic Information Displayed
About the Monitoring Dashboard Interface
View List
Metric Browser
View Display Panel
Understanding How Metrics Are Collected and Presented
About Metrics and Chart Types
Current Time Range Charts
Custom Time Range Charts
Sequence in which Metrics Data is Displayed
Notes about Metric Data Retention
The Parts of a Chart
17
Configuring and Using WLDF Programmatically
How WLDF Generates and Retrieves Data
Mapping WLDF Components to Beans and Packages
Programming Tools
Configuration and Runtime APIs
Configuration APIs
Runtime APIs
WLDF Packages
Programming WLDF: Examples
Example: DiagnosticContextExample.java
Example: HarvesterMonitor.java
Notification Listeners
HarvesterMonitor.java
Example: JMXAccessorExample.java
18
Using Debug Patches
Dynamic Application of Debug Patches
Specifying the Debug Patch Directory
Configuring the WLDF Debug Patch Agent
WLST Commands for Debug Patches
Dynamically Activating a Debug Patch
Dynamically Deactivating Debug Patches
A
Smart Rule Reference
About the Parameters You Specify for Smart Rules
Cluster Scope Smart Rules
ClusterLowThroughput
ClusterHighProcessCpuLoadAverage
ClusterHighThroughput
ClusterLowPendingUserRequests
ClusterHighStuckThreads
ClusterLowQueueLength
ClusterHighPendingUserRequests
ClusterLowProcessCpuLoadAverage
ClusterHighIdleThreads
ClusterLowSystemLoadAverage
ClusterHighQueueLength
ClusterLowHeapFreePercent
ClusterHighSystemLoadAverage
ClusterHighHeapFreePercent
ClusterLowSystemCpuLoadAverage
ClusterLowIdleThreads
ClusterGenericMetricRule
ClusterHighSystemCpuLoadAverage
Server Scope Smart Rules
ServerLowIdleThreads
ServerHighThroughput
ServerGenericMetricRule
ServerLowPendingUserRequests
ServerLowProcessCpuLoadAverage
ServerHighSystemLoadAverage
ServerLowQueueLength
ServerLowThroughput
ServerHighQueueLength
ServerHighSystemCpuLoadAverage
ServerHighPendingUserRequests
ServerLowSystemCpuLoadAverage
ServerHighHeapFreePercent
ServerHighStuckThreads
ServerHighProcessCpuLoadAverage
ServerLowSystemLoadAverage
ServerLowHeapFreePercent
ServerHighIdleThreads
B
WLDF Beans and Functions Reference
WLDF Beans Reference
clusterRuntime
domainRuntime
instrumentationEvent
log
partition
platform
resource
runtime
Functions Reference
wls:tableChanges
wls:tableAverages
wls:extract
wls:average
wls:changes
wls:aliveServersCount
C
WLDF Query Language
Components of a Query Expression
Supported Operators
Operator Precedence
Numeric Relational Operations Supported on String Column Types
Supported Numeric Constants and String Literals
About Variables in Expressions
Creating Policy Expressions
Creating Log Event Policy Expressions
Creating Instrumentation Event Policy Expressions
Creating Harvester Policy Expressions
Creating Data Accessor Queries
Data Store Logical Names
Data Store Column Names
Creating Log Filter Expressions
Building Complex Expressions
D
WLDF Instrumentation Library
Diagnostic Monitor Library
Diagnostic Action Library
TraceAction
DisplayArgumentsAction
TraceElapsedTimeAction
TraceMemoryAllocationAction
StackDumpAction
ThreadDumpAction
MethodInvocationStatisticsAction
Instrumenting an Application with MethodInvocationStatisticsAction
and Querying the Results
Configuring the Harvester to Collect MethodInvocationStatisticsAction
Data
Configuring Policies Based on MethodInvocationStatistics Metrics
Using JMX to Collect Data
MemoryAllocationStatisticsAction
E
Using Wildcards in Expressions
Using Wildcards in Harvester Instance Names
Examples
Specifying Complex and Nested Harvester Attributes
Examples
Using the Accessor with Harvested Complex or Nested Attributes
Using Wildcards in Policy Instance Names
Specifying Complex Attributes in Harvester Policies
F
WebLogic Scripting Tool Examples
WLST Commands for Diagnostics
Example: Dynamically Creating DyeInjection Monitors
Example: Configuring a Policy and a JMX Action
Example: Writing a JMXWatchNotificationListener Class
Example: Registering MBeans and Attributes For Harvesting
Example: Setting the WLDF Diagnostic Volume
Example: Capturing a Diagnostic Image
Example: Retrieving a JFR File from a Diagnostic Image Capture
G
WLDF Query Language-Based Policies
Types of Policies
Policy Configuration Options
Configuring Harvester Policies Using the WLDF Query Language
Configuring Log Policies Using the WLDF Query Language
Configuring Instrumentation Policies Using the WLDF Query Language
Glossary
Scripting on this page enhances content navigation, but does not change the content in any way.