Pages

19 March 2014

Getting the most out of WLDF Part 1: What is the WLDF?

The WebLogic Diagnostic Framework (WLDF) is an often overlooked feature of WebLogic which can be very powerful when configured properly.

If it’s so great, then why aren’t more people using it?

I can’t give a firm answer to that, but I suspect that the answer is likely because WLDF is so large, so comprehensive, and so terrifying to the uninitiated! There are a lot of concepts to get your head round before you can make good use of it, such that people frequently don’t bother. After all, where do you start with something so big?

In this blog, I hope to remedy that feeling a little, by pointing out some of the low-hanging fruit so you can get to know enough of the basics that you’ll be able to make use of some of the features, while having enough of a knowledge of the framework to take things further yourself.

What can I get out of it?

WLDF, according to the documentation, lets you “create, collect, analyse, archive and access diagnostic data generated by a running server and the applications deployed within its containers.”

To get all that functionality into WebLogic, Oracle has implemented lots of different components as part of the WLDF service including:

Integration with JRockit Flight Recorder

Diagnostic Image Capture

a diagnostic snapshot for analysis of events

Archiving

event persistence

Instrumentation

diagnostic code which can be attached to applications or servers to track requests through the system

Harvester

captures metrics from runtime mbeans

Watches

monitors the server and applications

Notifications

works with watches to provide other ways to read the data when a watch is triggered

Monitoring dashboard

a configurable view of data about WebLogic servers and applications in graph form

All of these are configurable either via the admin console or WLST.

Are we going to cover all of that?

Absolutely not! Each of those components has more detail on its own than would fit into a blog post, so I aim to give you enough of an overview to be able to go in depth in whichever component appeals to you the most.

Aside from the complexity, the first thing you’ll notice is how unclear that diagram is to anyone who does not already have an understanding of WLDF and how to actually use it.

Going further

As I touch on these topics, it would be worth keeping an eye
on the documentation. I’ve already mentioned it a few times in this post alone
and we haven’t started yet! Here’s a link to the contents
page. I’ll be (very roughly) following the documentation, but at a higher
level and with different examples (with screenshots!). I’ll include the code to
configure it all with WLST, too, so you can follow along and do this for
yourself in your development environment.