C2B2 logo icon

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.




Consider this handy diagram of how all the parts of WLDF fit together from theOracle documentation:

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 eyeon the documentation. I’ve already mentioned it a few times in this post aloneand we haven’t started yet! Here’s a link to the contentspage. I’ll be (very roughly) following the documentation, but at a higherlevel and with different examples (with screenshots!). I’ll include the code toconfigure it all with WLST, too, so you can follow along and do this foryourself in your development environment.

Our first topic? Very arbitrarily chosen: Watches

Check back next week!