@@ -37,6 +37,11 @@ public class ServletCallback {
3737 private static final String GET_ATTRIBUTE = "getAttribute" ;
3838 private static final String SET_ATTRIBUTE = "setAttribute" ;
3939 private static final Object TRACKER_ATTRIBUTE = "com.ibm.javametrics.tracker" ;
40+
41+ /*
42+ * Set to true to collect detailed Request/Response information
43+ */
44+ private static boolean detailed = false ;
4045
4146 /**
4247 * Called on method entry for HTTP/JSP requests public static void
@@ -129,37 +134,39 @@ public static void after(Object request, Object response) {
129134 Method getRequestURL = reqClass .getMethod (GET_REQUEST_URL );
130135 data .setUrl (((StringBuffer ) getRequestURL .invoke (request )).toString ());
131136
132- Method getMethod = reqClass .getMethod (GET_METHOD );
133- data .setMethod ((String ) getMethod .invoke (request ));
134-
135- Method getContentType = respClass .getMethod (GET_CONTENT_TYPE );
136- data .setContentType ((String ) getContentType .invoke (response ));
137-
138- Method getHeaders = respClass .getMethod (GET_HEADER_NAMES );
139- Method getHeader = respClass .getMethod (GET_HEADER , String .class );
140- Collection <String > headers = (Collection <String >) getHeaders .invoke (response );
141- if (headers != null ) {
142- for (String headerName : headers ) {
143- String header = (String ) getHeader .invoke (response , headerName );
144- if (header != null ) {
145- data .addHeader (headerName , header );
137+ if (detailed ) {
138+ Method getMethod = reqClass .getMethod (GET_METHOD );
139+ data .setMethod ((String ) getMethod .invoke (request ));
140+
141+ Method getContentType = respClass .getMethod (GET_CONTENT_TYPE );
142+ data .setContentType ((String ) getContentType .invoke (response ));
143+
144+ Method getHeaders = respClass .getMethod (GET_HEADER_NAMES );
145+ Method getHeader = respClass .getMethod (GET_HEADER , String .class );
146+ Collection <String > headers = (Collection <String >) getHeaders .invoke (response );
147+ if (headers != null ) {
148+ for (String headerName : headers ) {
149+ String header = (String ) getHeader .invoke (response , headerName );
150+ if (header != null ) {
151+ data .addHeader (headerName , header );
152+ }
146153 }
147154 }
148- }
149155
150- Method getReqHeaders = reqClass .getMethod (GET_HEADER_NAMES );
151- Method getReqHeader = reqClass .getMethod (GET_HEADER , String .class );
152- Enumeration <String > reqHeaders = (Enumeration <String >) getReqHeaders .invoke (request );
153- if (reqHeaders != null ) {
154- while (reqHeaders .hasMoreElements ()) {
155- String headerName = reqHeaders .nextElement ();
156- String header = (String ) getReqHeader .invoke (request , headerName );
157- if (header != null ) {
158- data .addRequestHeader (headerName , header );
156+ Method getReqHeaders = reqClass .getMethod (GET_HEADER_NAMES );
157+ Method getReqHeader = reqClass .getMethod (GET_HEADER , String .class );
158+ Enumeration <String > reqHeaders = (Enumeration <String >) getReqHeaders .invoke (request );
159+ if (reqHeaders != null ) {
160+ while (reqHeaders .hasMoreElements ()) {
161+ String headerName = reqHeaders .nextElement ();
162+ String header = (String ) getReqHeader .invoke (request , headerName );
163+ if (header != null ) {
164+ data .addRequestHeader (headerName , header );
165+ }
159166 }
160167 }
161168 }
162-
169+
163170 data .setDuration (System .currentTimeMillis () - tracker .getRequestTime ());
164171
165172 if (Agent .debug ) {
0 commit comments