|
| 1 | +<HTML> |
| 2 | +<HEAD> |
| 3 | + <TITLE>JBossAS7 JSP snoop page</TITLE> |
| 4 | + <%@ page import="javax.servlet.http.HttpUtils,java.util.Enumeration" %> |
| 5 | + <%@ page import="java.lang.management.*" %> |
| 6 | + <%@ page import="java.util.*" %> |
| 7 | +</HEAD> |
| 8 | +<BODY> |
| 9 | + |
| 10 | +<H1>WebApp JSP Snoop page</H1> |
| 11 | +<img src="images/jbosscorp_logo.png"> |
| 12 | + |
| 13 | +<h2>JVM Memory Monitor</h2> |
| 14 | + |
| 15 | + |
| 16 | +<table border="0" width="100%"> |
| 17 | + |
| 18 | +<tbody> |
| 19 | +<tr> |
| 20 | +<td colspan="2" align="center"> |
| 21 | +<h3>Memory MXBean</h3> |
| 22 | +</td> |
| 23 | +</tr> |
| 24 | + |
| 25 | +<tr> |
| 26 | +<td width="200">Heap Memory Usage</td> |
| 27 | +<td> |
| 28 | +<%=ManagementFactory.getMemoryMXBean().getHeapMemoryUsage()%> |
| 29 | +</td> |
| 30 | +</tr> |
| 31 | + |
| 32 | +<tr> |
| 33 | +<td>Non-Heap Memory Usage</td> |
| 34 | +<td> |
| 35 | +<%=ManagementFactory.getMemoryMXBean().getNonHeapMemoryUsage()%> |
| 36 | +</td> |
| 37 | +</tr> |
| 38 | + |
| 39 | +<tr> |
| 40 | +<td colspan="2"> </td> |
| 41 | +</tr> |
| 42 | + |
| 43 | +<tr> |
| 44 | +<td colspan="2" align="center"> |
| 45 | +<h3>Memory Pool MXBeans</h3> |
| 46 | +</td> |
| 47 | +</tr> |
| 48 | + |
| 49 | +</tbody> |
| 50 | +</table> |
| 51 | +<% |
| 52 | +Iterator iter = ManagementFactory.getMemoryPoolMXBeans().iterator(); |
| 53 | +while (iter.hasNext()) { |
| 54 | +MemoryPoolMXBean item = (MemoryPoolMXBean) iter.next(); |
| 55 | +%> |
| 56 | + |
| 57 | +<table style="border: 1px #98AAB1 solid;" border="0" width="100%"> |
| 58 | + |
| 59 | +<tbody> |
| 60 | +<tr> |
| 61 | +<td colspan="2" align="center"><strong><%= item.getName() %></strong></td> |
| 62 | +</tr> |
| 63 | + |
| 64 | +<tr> |
| 65 | +<td width="200">Type</td> |
| 66 | +<td><%= item.getType() %></td> |
| 67 | +</tr> |
| 68 | + |
| 69 | +<tr> |
| 70 | +<td>Usage</td> |
| 71 | +<td><%= item.getUsage() %></td> |
| 72 | +</tr> |
| 73 | + |
| 74 | +<tr> |
| 75 | +<td>Peak Usage</td> |
| 76 | +<td><%= item.getPeakUsage() %></td> |
| 77 | +</tr> |
| 78 | + |
| 79 | +<tr> |
| 80 | +<td>Collection Usage</td> |
| 81 | +<td><%= item.getCollectionUsage() %></td> |
| 82 | +</tr> |
| 83 | + |
| 84 | +</tbody> |
| 85 | +</table> |
| 86 | + |
| 87 | + |
| 88 | +<% |
| 89 | +} |
| 90 | +%> |
| 91 | + |
| 92 | +<H2>Request information</H2> |
| 93 | + |
| 94 | +<TABLE> |
| 95 | +<TR> |
| 96 | + <TH align=right>Requested URL:</TH> |
| 97 | + <TD><%= HttpUtils.getRequestURL(request) %></TD> |
| 98 | +</TR> |
| 99 | +<TR> |
| 100 | + <TH align=right>Request method:</TH> |
| 101 | + <TD><%= request.getMethod() %></TD> |
| 102 | +</TR> |
| 103 | +<TR> |
| 104 | + <TH align=right>Request URI:</TH> |
| 105 | + <TD><%= request.getRequestURI() %></TD> |
| 106 | +</TR> |
| 107 | +<TR> |
| 108 | + <TH align=right>Request protocol:</TH> |
| 109 | + <TD><%= request.getProtocol() %></TD> |
| 110 | +</TR> |
| 111 | +<TR> |
| 112 | + <TH align=right>Servlet path:</TH> |
| 113 | + <TD><%= request.getServletPath() %></TD> |
| 114 | +</TR> |
| 115 | +<TR> |
| 116 | + <TH align=right>Path info:</TH> |
| 117 | + <TD><%= request.getPathInfo() %></TD> |
| 118 | +</TR> |
| 119 | +<TR> |
| 120 | + <TH align=right>Path translated:</TH> |
| 121 | + <TD><%= request.getPathTranslated() %></TD> |
| 122 | +</TR> |
| 123 | +<TR> |
| 124 | + <TH align=right>Query string:</TH> |
| 125 | + <TD><% if(request.getQueryString()!=null) out.write(request.getQueryString().replaceAll("<", "<").replaceAll(">",">")); %></TD> |
| 126 | +</TR> |
| 127 | +<TR> |
| 128 | + <TH align=right>Content length:</TH> |
| 129 | + <TD><%= request.getContentLength() %></TD> |
| 130 | +</TR> |
| 131 | +<TR> |
| 132 | + <TH align=right>Content type:</TH> |
| 133 | + <TD><%= request.getContentType() %></TD> |
| 134 | +<TR> |
| 135 | +<TR> |
| 136 | + <TH align=right>Server name:</TH> |
| 137 | + <TD><%= request.getServerName() %></TD> |
| 138 | +<TR> |
| 139 | +<TR> |
| 140 | + <TH align=right>Server port:</TH> |
| 141 | + <TD><%= request.getServerPort() %></TD> |
| 142 | +<TR> |
| 143 | +<TR> |
| 144 | + <TH align=right>Remote user:</TH> |
| 145 | + <TD><%= request.getRemoteUser() %></TD> |
| 146 | +<TR> |
| 147 | +<TR> |
| 148 | + <TH align=right>Remote address:</TH> |
| 149 | + <TD><%= request.getRemoteAddr() %></TD> |
| 150 | +<TR> |
| 151 | +<TR> |
| 152 | + <TH align=right>Remote host:</TH> |
| 153 | + <TD><%= request.getRemoteHost() %></TD> |
| 154 | +<TR> |
| 155 | +<TR> |
| 156 | + <TH align=right>Authorization scheme:</TH> |
| 157 | + <TD><%= request.getAuthType() %></TD> |
| 158 | +<TR> |
| 159 | +</TABLE> |
| 160 | + |
| 161 | +<% |
| 162 | + Enumeration e = request.getHeaderNames(); |
| 163 | + if(e != null && e.hasMoreElements()) { |
| 164 | +%> |
| 165 | +<H2>Request headers</H2> |
| 166 | + |
| 167 | +<TABLE> |
| 168 | +<TR> |
| 169 | + <TH align=left>Header:</TH> |
| 170 | + <TH align=left>Value:</TH> |
| 171 | +</TR> |
| 172 | +<% |
| 173 | + while(e.hasMoreElements()) { |
| 174 | + String k = (String) e.nextElement(); |
| 175 | +%> |
| 176 | +<TR> |
| 177 | + <TD><%= k %></TD> |
| 178 | + <TD><%= request.getHeader(k) %></TD> |
| 179 | +</TR> |
| 180 | +<% |
| 181 | + } |
| 182 | +%> |
| 183 | +</TABLE> |
| 184 | +<% |
| 185 | + } |
| 186 | +%> |
| 187 | + |
| 188 | + |
| 189 | +<% |
| 190 | + e = request.getParameterNames(); |
| 191 | + if(e != null && e.hasMoreElements()) { |
| 192 | +%> |
| 193 | +<H2>Request parameters</H2> |
| 194 | +<TABLE> |
| 195 | +<TR valign=top> |
| 196 | + <TH align=left>Parameter:</TH> |
| 197 | + <TH align=left>Value:</TH> |
| 198 | + <TH align=left>Multiple values:</TH> |
| 199 | +</TR> |
| 200 | +<% |
| 201 | + while(e.hasMoreElements()) { |
| 202 | + String k = (String) e.nextElement(); |
| 203 | + String val = request.getParameter(k); |
| 204 | + String vals[] = request.getParameterValues(k); |
| 205 | +%> |
| 206 | +<TR valign=top> |
| 207 | + <TD><%= k.replaceAll("<", "<").replaceAll(">",">") %></TD> |
| 208 | + <TD><%= val.replaceAll("<", "<").replaceAll(">",">") %></TD> |
| 209 | + <TD><% |
| 210 | + for(int i = 0; i < vals.length; i++) { |
| 211 | + if(i > 0) |
| 212 | + out.print("<BR>"); |
| 213 | + out.print(vals[i].replaceAll("<", "<").replaceAll(">",">")); |
| 214 | + } |
| 215 | + %></TD> |
| 216 | +</TR> |
| 217 | +<% |
| 218 | + } |
| 219 | +%> |
| 220 | +</TABLE> |
| 221 | +<% |
| 222 | + } |
| 223 | +%> |
| 224 | + |
| 225 | + |
| 226 | +<% |
| 227 | + e = request.getAttributeNames(); |
| 228 | + if(e != null && e.hasMoreElements()) { |
| 229 | +%> |
| 230 | +<H2>Request Attributes</H2> |
| 231 | +<TABLE> |
| 232 | +<TR valign=top> |
| 233 | + <TH align=left>Attribute:</TH> |
| 234 | + <TH align=left>Value:</TH> |
| 235 | +</TR> |
| 236 | +<% |
| 237 | + while(e.hasMoreElements()) { |
| 238 | + String k = (String) e.nextElement(); |
| 239 | + Object val = request.getAttribute(k); |
| 240 | +%> |
| 241 | +<TR valign=top> |
| 242 | + <TD><%= k.replaceAll("<", "<").replaceAll(">",">") %></TD> |
| 243 | + <TD><%= val.toString().replaceAll("<", "<").replaceAll(">",">") %></TD> |
| 244 | +</TR> |
| 245 | +<% |
| 246 | + } |
| 247 | +%> |
| 248 | +</TABLE> |
| 249 | +<% |
| 250 | + } |
| 251 | +%> |
| 252 | + |
| 253 | + |
| 254 | +<% |
| 255 | + e = getServletConfig().getInitParameterNames(); |
| 256 | + if(e != null && e.hasMoreElements()) { |
| 257 | +%> |
| 258 | +<H2>Init parameters</H2> |
| 259 | +<TABLE> |
| 260 | +<TR valign=top> |
| 261 | + <TH align=left>Parameter:</TH> |
| 262 | + <TH align=left>Value:</TH> |
| 263 | +</TR> |
| 264 | +<% |
| 265 | + while(e.hasMoreElements()) { |
| 266 | + String k = (String) e.nextElement(); |
| 267 | + String val = getServletConfig().getInitParameter(k); |
| 268 | +%> |
| 269 | +<TR valign=top> |
| 270 | + <TD><%= k %></TD> |
| 271 | + <TD><%= val %></TD> |
| 272 | +</TR> |
| 273 | +<% |
| 274 | + } |
| 275 | +%> |
| 276 | +</TABLE> |
| 277 | +<% |
| 278 | + } |
| 279 | +%> |
| 280 | + |
| 281 | +</BODY> |
| 282 | +</HTML> |
| 283 | + |
0 commit comments