Tracing the flow of request processing using DTrace in Sun Java System Web Server

Tracing the flow of request processing using DTrace in Sun Java System Web Server

I am trying to add basic DTrace probes in Sun Java System Web Server 7.0. I will start by adding probes that let us know which SAF got executed at run time. Let me know if you have any ideas.

I start the server instance and run this script ws.d and send a few requests :

$./ws.d highest-pid
thread 29: Calling saf match-browser
thread 29: saf match-browser returned -2
thread 29: Calling saf ntrans-j2ee
thread 29: saf ntrans-j2ee returned -2
thread 29: Calling saf pfx2dir
thread 29: saf pfx2dir returned -2
thread 29: Calling saf uri-clean
thread 29: saf uri-clean returned 0
thread 29: Calling saf find-pathinfo
thread 29: saf find-pathinfo returned -2
thread 29: Calling saf find-index-j2ee
thread 29: saf find-index-j2ee returned -2
thread 29: Calling saf find-index
thread 29: saf find-index returned -2
thread 29: Calling saf type-j2ee
thread 29: saf type-j2ee returned 0
thread 29: Calling saf type-by-extension
thread 29: saf type-by-extension returned 0
thread 29: Calling saf force-type
thread 29: saf force-type returned 0
thread 29: Calling saf send-file
thread 29: Calling saf insert-filter
thread 29: saf insert-filter returned -2
thread 29: saf send-file returned 0
thread 29: Calling saf flex-log
thread 29: saf flex-log returned 0
thread 32: Calling saf match-browser
thread 32: saf match-browser returned -2
thread 32: Calling saf ntrans-j2ee
thread 32: saf ntrans-j2ee returned -2
thread 32: Calling saf pfx2dir
thread 32: saf pfx2dir returned -2
thread 32: Calling saf uri-clean
thread 32: saf uri-clean returned 0
thread 32: Calling saf find-pathinfo
thread 32: saf find-pathinfo returned -2
thread 32: Calling saf find-index-j2ee
thread 32: saf find-index-j2ee returned -2
thread 32: Calling saf find-index
thread 32: saf find-index returned -2
thread 32: Calling saf type-j2ee
thread 32: saf type-j2ee returned 0
thread 32: Calling saf type-by-extension
thread 32: saf type-by-extension returned 0
thread 32: Calling saf force-type
thread 32: saf force-type returned 0
thread 32: Calling saf send-file
thread 32: Calling saf insert-filter
thread 32: saf insert-filter returned -2
thread 32: saf send-file returned 0
thread 32: Calling saf flex-log
thread 32: saf flex-log returned 0


If you want to call this only for a particular SAF lets say send-file modify ws.d to ws-saf.d

$./ws-saf.d 16186
thread 29: Calling saf send-file
thread 29: saf send-file returned 0
thread 29: Calling saf send-file
thread 29: saf send-file returned 0
thread 29: Calling saf send-file
thread 29: saf send-file returned 0
thread 29: Calling saf send-file
thread 29: saf send-file returned 0
thread 29: Calling saf send-file
thread 29: saf send-file returned 0
thread 29: Calling saf send-file
thread 29: saf send-file returned 0
thread 29: Calling saf send-file
thread 29: saf send-file returned 0
...


I added these 2 files and these cvs diffs in iplanet/ias/server/src/cpp/iws/netsite/lib/frame/ directory and compiled Web Server gmake all publish; cd ../httpd/src; gmake clobber all publish. Note that I have kept DTrace probes signature as some important parameters, followed by Pblock, Session, Request structure pointers just in case at any point of time we need to find out values of some of these.

sjsws.d
sjsws.h
diff.txt

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

Meena Vyas

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