WebLogic Server Screencasts - Where does the time go?

 

stopwatchI recently recorded several short screencasts illustrating various approaches to find out where time is being spent as client requests flow through WebLogic Server.  WebLogic Server has a very powerful diagnostics and monitoring sub-system called WebLogic Diagnostic Framework (WLDF) that has many knobs and dials.  However, many customers I work with just want to get started with the basics and not learn all of the expert nuances of WLDF upfront.  The latest WLS 11gR1 PS2 release (aka WLS 10.3.3) includes new features that surface WLDF in a way that is much easier to use – particularly to track request timings.

JRockit Mission Control and Flight Recorder – Easy and Fast

click to enlargePerhaps the most exciting feature introduced in WLS 10.3.3 is the improved integration with JRockit.  As of R28 of JRockit, a default recording can always be kept on – similar to how a black-box works in an airplane.  So if you have a crash, you can look back into the black box and see what happened.  Marcus Hirt from the JRockit team has some more detail.  But this isn’t just for low-level JVM data, WLS 10.3.3 also adds the ability to publish WebLogic events to these JRockit recordings with a very simple “volume” dial in the console or WLST.  No knowledge of deployment descriptors or WLDF is required.  So if you think that a particular web page is slow, simply configure the volume to either low, medium or high and get a recording of some requests and it’s easy to see timings inside and around each request.  The documentation has a lot more detail, but these two screencasts provide an idea of how easy it is to get going with these new capabilities in WLS 10.3.3 and R28 of JRockit.  Keep in mind that this is an extremely low overhead approach that is designed with production use in mind.

JRockit Mission Control – Using JRockit Flight Recorder with WebLogic Server

JRockit Mission Control – Experimental WebLogic Server Plugin

WLS Console Request Performance

Click to EnlargeThis feature visually shows individual requests as they flow through various WLS subsystems such as Servlets, EJBs, JDBC, JMS, WebServices, JTA, etc and tracks the timings around each part of the request as well as the total time.  So if a particular web page is slow, you can use this feature to instrument an application and find out where the time is being spent.  This is more of a lowest-common-denominator approach than JRockit Flight Recorder in that it works for all supported JVM’s and not just the most recent JRockit R28 release.  It also works with older releases of WebLogic down to 9.2 if you use the older console extension applet.  The Request Performance console view introduced in 10.3.3 is a replacement for part of the diagnostics applet from previous releases.  This recording uses an application that leverages the weblogic-diagnostics.xml deployment descriptor to specify which subsystems to trace timings for, but instead of creating a deployment descriptor it’s also possible to use the WLS Console –> Deployments –> <Your Application> –> Configuration –> Instrumentation tab to add monitors from the instrumentation library with the Console user interface.  Under the covers the console will use a deployment plan behind the visual tooling and relieves you of the burden of creating a deployment descriptor.

 

Comments:

We have an application that currently doesn't utilize the weblogic-diagnostics.xml file. If I add this file like your video with servlet_around and EJB_around services enabled, re-bundle the EAR file then deploy it will I be able to see this type of tracking. We currently do not have 11.g performance view version. We are using 10.3...HP IA.... JVM 1.6 will I be able to get those stats somehow through the WLDF? TIA Great work....

Posted by Derik Jarne on October 25, 2010 at 07:57 AM PDT #

Derik, If you're using a release prior to WLS 10.3.3, then there is a WLDF console extension that is an applet that provides similar features to the Request Performance HTML view that is in WLS 10.3.3. As far as the descriptor goes, try and follow the directions in the post that utilizes the console to create the descriptor for you via a deployment plan so it doesn't have to be embedded in your application. Specifically "but instead of creating a deployment descriptor it’s also possible to use the WLS Console –> Deployments –> –> Configuration –> Instrumentation tab to add monitors from the instrumentation library with the Console user interface. Under the covers the console will use a deployment plan behind the visual tooling and relieves you of the burden of creating a deployment descriptor." Good luck, James

Posted by james.bayer on October 25, 2010 at 02:33 PM PDT #

Post a Comment:
Comments are closed for this entry.
About

James Bayer Image
I was formerly a Product Manager on the WebLogic Server team based out of Oracle HQ. You can find my new blog at http://iamjambay.com.
Follow Me on Twitter
Oracle WebLogic

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today