Checked in. Please cross-check. Both Branches.
-- dims
--- Marcus Crafter <[EMAIL PROTECTED]> wrote:
> Hi All,
>
> Hope everyone has a nice weekend.
>
> Attached is a patch to record the maximum and current active number
> of requests being processed by Cocoon. This information is printed in
> the debug section of every request. The idea is to get some gauge as
> to how many requests are being processed by the system simultaneously
> for load testing, etc.
>
> Hope it's all ok.
>
> Cheers,
>
> Marcus
>
> --
> .....
> ,,$$$$$$$$$, Marcus Crafter
> ;$' '$$$$: Computer Systems Engineer
> $: $$$$: Open Software Associates GmbH
> $ o_)$$$: 82-84 Mainzer Landstrasse
> ;$, _/\ &&:' 60327 Frankfurt Germany
> ' /( &&&
> \_&&&&' Email : [EMAIL PROTECTED]
> &&&&. Business Hours : +49 69 9757 200
> &&&&&&&:
>
> > Index: src/org/apache/cocoon/Cocoon.java
> ===================================================================
> RCS file: /home/cvspublic/xml-cocoon2/src/org/apache/cocoon/Cocoon.java,v
> retrieving revision 1.9.2.15
> diff -u -r1.9.2.15 Cocoon.java
> --- src/org/apache/cocoon/Cocoon.java 2001/08/29 17:55:51 1.9.2.15
> +++ src/org/apache/cocoon/Cocoon.java 2001/09/07 17:40:51
> @@ -87,6 +87,12 @@
> /** flag for disposed or not */
> private boolean disposed = false;
>
> + /** active request count */
> + private static int activeRequestCount = 0;
> +
> + /** maximum request count */
> + private static int maxRequestCount = 0;
> +
> /** Create a new <code>Cocoon</code> instance. */
> public Cocoon() throws ConfigurationException {
> // Set the system properties needed by Xalan2.
> @@ -347,71 +353,71 @@
> protected void debug(Environment environment,
> StreamPipeline pipeline,
> EventPipeline eventPipeline) {
> - if (this.getLogger().isDebugEnabled() == true) {
> - String lineSeparator = System.getProperty("line.separator");
> - Map objectModel = environment.getObjectModel();
> - Request request = (Request) objectModel.get(Constants.REQUEST_OBJECT);
> - Session session = request.getSession(false);
> - StringBuffer msg = new StringBuffer();
> - msg.append("DEBUGGING INFORMATION:").append(lineSeparator);
> - if (pipeline != null && eventPipeline != null) {
> - msg.append("INTERNAL ");
> + String lineSeparator = System.getProperty("line.separator");
> + Map objectModel = environment.getObjectModel();
> + Request request = (Request) objectModel.get(Constants.REQUEST_OBJECT);
> + Session session = request.getSession(false);
> + StringBuffer msg = new StringBuffer();
> + msg.append("DEBUGGING INFORMATION:").append(lineSeparator);
> + if (pipeline != null && eventPipeline != null) {
> + msg.append("INTERNAL ");
> + }
> + msg.append("REQUEST:
> ").append(request.getRequestURI()).append(lineSeparator).append(lineSeparator);
> + msg.append("CONTEXT PATH:
>").append(request.getContextPath()).append(lineSeparator);
> + msg.append("SERVLET PATH:
>").append(request.getServletPath()).append(lineSeparator);
> + msg.append("PATH INFO:
> ").append(request.getPathInfo()).append(lineSeparator).append(lineSeparator);
> +
> + msg.append("REMOTE HOST:
>").append(request.getRemoteHost()).append(lineSeparator);
> + msg.append("REMOTE ADDRESS:
>").append(request.getRemoteAddr()).append(lineSeparator);
> + msg.append("REMOTE USER:
>").append(request.getRemoteUser()).append(lineSeparator);
> + msg.append("REQUEST SESSION ID:
> ").append(request.getRequestedSessionId()).append(lineSeparator);
> + msg.append("REQUEST PREFERRED LOCALE:
> ").append(request.getLocale().toString()).append(lineSeparator);
> + msg.append("SERVER HOST:
>").append(request.getServerName()).append(lineSeparator);
> + msg.append("SERVER PORT:
> ").append(request.getServerPort()).append(lineSeparator).append(lineSeparator);
> +
> + msg.append("METHOD: ").append(request.getMethod()).append(lineSeparator);
> + msg.append("CONTENT LENGTH:
> ").append(request.getContentLength()).append(lineSeparator);
> + msg.append("PROTOCOL:
>").append(request.getProtocol()).append(lineSeparator);
> + msg.append("SCHEME: ").append(request.getScheme()).append(lineSeparator);
> + msg.append("AUTH TYPE:
> ").append(request.getAuthType()).append(lineSeparator).append(lineSeparator);
> + msg.append("CURRENT ACTIVE REQUESTS:
> ").append(activeRequestCount).append(lineSeparator);
> + msg.append("MAXIMUM ACTIVE REQUESTS:
> ").append(maxRequestCount).append(lineSeparator).append(lineSeparator);
> +
> + // log all of the request parameters
> + Enumeration e = request.getParameterNames();
> +
> + msg.append("REQUEST
>PARAMETERS:").append(lineSeparator).append(lineSeparator);
> +
> + while (e.hasMoreElements()) {
> + String p = (String) e.nextElement();
> +
> + msg.append("PARAM: '").append(p).append("' ")
> + .append("VALUES: '");
> + String[] params = request.getParameterValues(p);
> + for (int i = 0; i < params.length; i++) {
> + msg.append("["+params[i]+"]");
> + if (i != params.length-1)
> + msg.append(", ");
> }
> - msg.append("REQUEST:
> ").append(request.getRequestURI()).append(lineSeparator).append(lineSeparator);
> - msg.append("CONTEXT PATH:
> ").append(request.getContextPath()).append(lineSeparator);
> - msg.append("SERVLET PATH:
> ").append(request.getServletPath()).append(lineSeparator);
> - msg.append("PATH INFO:
> ").append(request.getPathInfo()).append(lineSeparator).append(lineSeparator);
> -
> - msg.append("REMOTE HOST:
>").append(request.getRemoteHost()).append(lineSeparator);
> - msg.append("REMOTE ADDRESS:
> ").append(request.getRemoteAddr()).append(lineSeparator);
> - msg.append("REMOTE USER:
>").append(request.getRemoteUser()).append(lineSeparator);
> - msg.append("REQUEST SESSION ID:
> ").append(request.getRequestedSessionId()).append(lineSeparator);
> - msg.append("REQUEST PREFERRED LOCALE:
> ").append(request.getLocale().toString()).append(lineSeparator);
> - msg.append("SERVER HOST:
>").append(request.getServerName()).append(lineSeparator);
> - msg.append("SERVER PORT:
> ").append(request.getServerPort()).append(lineSeparator).append(lineSeparator);
> -
> - msg.append("METHOD:
>").append(request.getMethod()).append(lineSeparator);
> - msg.append("CONTENT LENGTH:
> ").append(request.getContentLength()).append(lineSeparator);
> - msg.append("PROTOCOL:
>").append(request.getProtocol()).append(lineSeparator);
> - msg.append("SCHEME:
>").append(request.getScheme()).append(lineSeparator);
> - msg.append("AUTH TYPE:
> ").append(request.getAuthType()).append(lineSeparator).append(lineSeparator);
> +
> + msg.append("'").append(lineSeparator);
> + }
>
> - // log all of the request parameters
> - Enumeration e = request.getParameterNames();
> + msg.append(lineSeparator).append("SESSION
> ATTRIBUTES:").append(lineSeparator).append(lineSeparator);
>
> - msg.append("REQUEST
>PARAMETERS:").append(lineSeparator).append(lineSeparator);
> + // log all of the session attributes
> + if (session != null) {
> + e = session.getAttributeNames();
>
> while (e.hasMoreElements()) {
> String p = (String) e.nextElement();
> -
> - msg.append("PARAM: '").append(p).append("' ")
> - .append("VALUES: '");
> - String[] params = request.getParameterValues(p);
> - for (int i = 0; i < params.length; i++) {
> - msg.append("["+params[i]+"]");
> - if (i != params.length-1)
> - msg.append(", ");
> - }
> -
> - msg.append("'").append(lineSeparator);
> - }
> -
> - msg.append(lineSeparator).append("SESSION
> ATTRIBUTES:").append(lineSeparator).append(lineSeparator);
>
> - // log all of the session attributes
> - if (session != null) {
> - e = session.getAttributeNames();
> -
> - while (e.hasMoreElements()) {
> - String p = (String) e.nextElement();
> -
> - msg.append("PARAM: '").append(p).append("' ")
> - .append("VALUE:
> '").append(session.getAttribute(p)).append("'").append(lineSeparator);
> - }
> + msg.append("PARAM: '").append(p).append("' ")
> + .append("VALUE:
> '").append(session.getAttribute(p)).append("'").append(lineSeparator);
> }
> -
> - getLogger().debug(msg.toString());
> }
> +
> + getLogger().debug(msg.toString());
> }
>
> /**
> @@ -420,9 +426,18 @@
> public boolean process(Environment environment)
> throws Exception {
> if (disposed) throw new IllegalStateException("You cannot process a
>Disposed Cocoon
> engine.");
> - this.debug(environment, null, null);
> - return this.sitemapManager.invoke(this.componentManager, environment, "",
> this.sitemapFileName,
> - this.checkSitemapReload, this.reloadSitemapAsynchron);
> +
> + try {
> + if (this.getLogger().isDebugEnabled()) {
> + incRequestCount();
> + this.debug(environment, null, null);
> + }
> + return this.sitemapManager.invoke(this.componentManager, environment,
>"",
> this.sitemapFileName, this.checkSitemapReload, this.reloadSitemapAsynchron);
> + } finally {
> + if (this.getLogger().isDebugEnabled()) {
> + decRequestCount();
> + }
> + }
> }
>
> /**
> @@ -432,10 +447,18 @@
> public boolean process(Environment environment, StreamPipeline pipeline,
>EventPipeline
> eventPipeline)
> throws Exception {
> if (disposed) throw new IllegalStateException("You cannot process a
>Disposed Cocoon
> engine.");
>
=== message truncated ===>
---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, email: [EMAIL PROTECTED]
=====
Davanum Srinivas, JNI-FAQ Manager
http://www.jGuru.com/faq/JNI
__________________________________________________
Do You Yahoo!?
Get email alerts & NEW webcam video instant messaging with Yahoo! Messenger
http://im.yahoo.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]