How to get Work Manager Information in a WLS or OSB Thread Dump

To analyze issues related to performance or work load, it would be nice to know which work manager is running a given thread. In Oracle Service Bus, a dispatch policy defined for a proxy or a business service relates to a work manager definition in WLS. While analyzing a thread dump, you would like to know which work manager is running a given thread.

Starting with WebLogic Server version 10.3.6, work manager information is shown in a thread dump if work manager / self tuning debugging is enabled. This debug flag can be enabled in the WLS console:

Go to http://<admin-server>:<admin-port>/console - Environment - <your server> - Debug tab:

ENABLE DEBUG FLAG FOR WORK MANAGER SELF TUNING 

Enable the DebugSelfTuning debug flag in the work manager section.

After that, work manager information is automatically added to a thread dump. This is a sample stack trace which has work manager information included:

"[ACTIVE] ExecuteThread: '14' for queue: 'weblogic.kernel.Default (self-tuning)' for workmanager: XBus Kernel@null@MyCustomWorkManager" id=123 idx=0x1d4 tid=21936 prio=5 alive, waiting, native_blocked, daemon
-- Waiting for notification on: java/lang/Object@0xe574a240[fat lock]
at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)
at java/lang/Object.wait(J)V(Native Method)
at java/lang/Object.wait(Object.java:485)
at com/bea/wli/sb/pipeline/PipelineContextImpl$SynchronousListener.waitForResponse(PipelineContextImpl.java:1620)
^-- Lock released while waiting: java/lang/Object@0xe574a240[fat lock]
at com/bea/wli/sb/pipeline/PipelineContextImpl.dispatchSync(PipelineContextImpl.java:562)
at stages/transform/runtime/WsCalloutRuntimeStep$WsCalloutDispatcher.dispatch(WsCalloutRuntimeStep.java:1391)
at stages/transform/runtime/WsCalloutRuntimeStep.processMessage(WsCalloutRuntimeStep.java:236)
at com/bea/wli/sb/pipeline/debug/DebuggerRuntimeStep.processMessage(DebuggerRuntimeStep.java:74)
at com/bea/wli/sb/stages/StageMetadataImpl$WrapperRuntimeStep.processMessage(StageMetadataImpl.java:346)
at com/bea/wli/sb/stages/impl/SequenceRuntimeStep.processMessage(SequenceRuntimeStep.java:33)
at com/bea/wli/sb/pipeline/PipelineStage.processMessage(PipelineStage.java:84)

 

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

This is the official blog of the SOA Proactive Support Team. Here we will provide information on our activities, publications, product related information and more. Additionally we look forward to your feedback to improve what we do.

Search

Categories
Archives
« July 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
31
  
       
Today