You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jc...@apache.org on 2006/11/10 23:32:12 UTC
svn commit: r473540 - in
/incubator/wicket/trunk/wicket/src/main/java/wicket: protocol/http/
protocol/http/request/ settings/
Author: jcompagner
Date: Fri Nov 10 14:32:11 2006
New Revision: 473540
URL: http://svn.apache.org/viewvc?view=rev&rev=473540
Log:
request logger improvements
Modified:
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/AbstractHttpSessionStore.java
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/ClientProperties.java
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/RequestLogger.java
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/WebApplication.java
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/request/WebClientInfo.java
incubator/wicket/trunk/wicket/src/main/java/wicket/settings/Settings.java
Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/AbstractHttpSessionStore.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/AbstractHttpSessionStore.java?view=diff&rev=473540&r1=473539&r2=473540
==============================================================================
--- incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/AbstractHttpSessionStore.java (original)
+++ incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/AbstractHttpSessionStore.java Fri Nov 10 14:32:11 2006
@@ -141,14 +141,22 @@
*/
public final String getSessionId(Request request, boolean create)
{
+ String id = null;
WebRequest webRequest = toWebRequest(request);
- boolean created = create && webRequest.getHttpServletRequest().getSession(false) == null;
- HttpSession httpSession = webRequest.getHttpServletRequest().getSession(create);
- String id = (httpSession != null) ? httpSession.getId() : null;
- if(created && id != null)
+ HttpSession httpSession = webRequest.getHttpServletRequest().getSession(false);
+ if(httpSession != null)
{
- IRequestLogger logger = Application.get().getRequestLogger();
- if(logger != null) logger.sessionCreated(id);
+ id = httpSession.getId();
+ }
+ else if(create)
+ {
+ httpSession = webRequest.getHttpServletRequest().getSession(true);
+ id = httpSession.getId();
+ if(id != null)
+ {
+ IRequestLogger logger = Application.get().getRequestLogger();
+ if(logger != null) logger.sessionCreated(id);
+ }
}
return id;
}
Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/ClientProperties.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/ClientProperties.java?view=diff&rev=473540&r1=473539&r2=473540
==============================================================================
--- incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/ClientProperties.java (original)
+++ incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/ClientProperties.java Fri Nov 10 14:32:11 2006
@@ -340,6 +340,12 @@
* The client's time offset from UTC in minutes.
*/
public static final String UTC_OFFSET = "utcOffset";
+
+ /**
+ * The client's remote/ip address
+ */
+ public static final String REMOTE_ADDRESS = "remoteAddress";
+
private static final long serialVersionUID = 1L;
Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/RequestLogger.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/RequestLogger.java?view=diff&rev=473540&r1=473539&r2=473540
==============================================================================
--- incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/RequestLogger.java (original)
+++ incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/RequestLogger.java Fri Nov 10 14:32:11 2006
@@ -46,6 +46,7 @@
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
+import wicket.Application;
import wicket.IRequestTarget;
import wicket.Page;
import wicket.PageMap;
@@ -123,7 +124,22 @@
*/
public RequestLogger()
{
- requests = Collections.synchronizedList(new LinkedList<RequestData>());
+ requests = Collections.synchronizedList(new LinkedList<RequestData>()
+ {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * @see java.util.LinkedList#add(java.lang.Object)
+ */
+ public void add(int index,RequestData o)
+ {
+ super.add(index,o);
+ if(size() > Application.get().getRequestLoggerSettings().getRequestsWindowSize())
+ {
+ removeLast();
+ }
+ }
+ });
liveSessions = new ConcurrentHashMap<String, SessionData>();
}
@@ -202,8 +218,11 @@
Object sessionInfo = getSessionInfo(session);
rd.setSessionInfo(sessionInfo);
- // todo should we really do this, this is a bit expensive.
- long sizeInBytes = session.getSizeInBytes();
+ long sizeInBytes = -1;
+ if(Application.get().getRequestLoggerSettings().getRecordSessionSize())
+ {
+ sizeInBytes = session.getSizeInBytes();
+ }
rd.setSessionSize(sizeInBytes);
rd.setTimeTaken(timeTaken);
requests.add(0, rd);
Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/WebApplication.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/WebApplication.java?view=diff&rev=473540&r1=473539&r2=473540
==============================================================================
--- incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/WebApplication.java (original)
+++ incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/WebApplication.java Fri Nov 10 14:32:11 2006
@@ -194,7 +194,7 @@
}
/**
- * @return The Wicket servlet for this application
+ * @return The Wicket servlet context for this application
*/
public final ServletContext getServletContext()
{
Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/request/WebClientInfo.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/request/WebClientInfo.java?view=diff&rev=473540&r1=473539&r2=473540
==============================================================================
--- incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/request/WebClientInfo.java (original)
+++ incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/request/WebClientInfo.java Fri Nov 10 14:32:11 2006
@@ -67,6 +67,8 @@
{
throw new WicketRuntimeException("unable to read header 'User-Agent'");
}
+ properties.setProperty(ClientProperties.REMOTE_ADDRESS,httpServletRequest.getRemoteAddr());
+
init();
}
@@ -88,6 +90,9 @@
}
this.userAgent = userAgent;
+ HttpServletRequest httpServletRequest = requestCycle.getWebRequest()
+ .getHttpServletRequest();
+ properties.setProperty(ClientProperties.REMOTE_ADDRESS,httpServletRequest.getRemoteAddr());
init();
}
Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/settings/Settings.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/settings/Settings.java?view=diff&rev=473540&r1=473539&r2=473540
==============================================================================
--- incubator/wicket/trunk/wicket/src/main/java/wicket/settings/Settings.java (original)
+++ incubator/wicket/trunk/wicket/src/main/java/wicket/settings/Settings.java Fri Nov 10 14:32:11 2006
@@ -93,7 +93,8 @@
IResourceSettings,
ISecuritySettings,
ISessionSettings,
- IFrameworkSettings
+ IFrameworkSettings,
+ IRequestLoggerSettings
{
private final static Log log = LogFactory.getLog(Settings.class);
@@ -298,6 +299,12 @@
/** List of registered markup load listeners */
private final List<IMarkupLoadListener> markupLoadListeners = new ArrayList<IMarkupLoadListener>();
+ private boolean recordSessionSize = true;
+
+ private int requestsWindowSize = 2000;
+
+ private boolean requestLoggerEnabled;
+
/**
* Create the application settings, carrying out any necessary
* initialisations.
@@ -1294,5 +1301,54 @@
public List<IMarkupLoadListener> getMarkupLoadListeners()
{
return this.markupLoadListeners;
+ }
+
+
+ /**
+ * @see wicket.settings.IRequestLoggerSettings#getRecordSessionSize()
+ */
+ public boolean getRecordSessionSize()
+ {
+ return recordSessionSize;
+ }
+
+ /**
+ * @see wicket.settings.IRequestLoggerSettings#getRequestsWindowSize()
+ */
+ public int getRequestsWindowSize()
+ {
+ return requestsWindowSize;
+ }
+
+ /**
+ * @see wicket.settings.IRequestLoggerSettings#isRequestLoggerEnabled()
+ */
+ public boolean isRequestLoggerEnabled()
+ {
+ return requestLoggerEnabled;
+ }
+
+ /**
+ * @see wicket.settings.IRequestLoggerSettings#setRecordSessionSize(boolean)
+ */
+ public void setRecordSessionSize(boolean record)
+ {
+ recordSessionSize = record;
+ }
+
+ /**
+ * @see wicket.settings.IRequestLoggerSettings#setRequestLoggerEnabled(boolean)
+ */
+ public void setRequestLoggerEnabled(boolean enable)
+ {
+ requestLoggerEnabled = enable;
+ }
+
+ /**
+ * @see wicket.settings.IRequestLoggerSettings#setRequestsWindowSize(int)
+ */
+ public void setRequestsWindowSize(int size)
+ {
+ requestsWindowSize = size;
}
}