You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ru...@apache.org on 2010/04/04 19:12:00 UTC

svn commit: r930718 - in /synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp: HttpCoreNIOSender.java debug/AbstractConnectionDebug.java debug/ClientConnectionDebug.java debug/ServerConnectionDebug.java

Author: ruwan
Date: Sun Apr  4 17:11:59 2010
New Revision: 930718

URL: http://svn.apache.org/viewvc?rev=930718&view=rev
Log:
Fixing some issue in the client connection debug

Modified:
    synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java
    synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/debug/AbstractConnectionDebug.java
    synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/debug/ClientConnectionDebug.java
    synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/debug/ServerConnectionDebug.java

Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java?rev=930718&r1=930717&r2=930718&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java Sun Apr  4 17:11:59 2010
@@ -477,6 +477,12 @@ public class HttpCoreNIOSender extends A
             }
         }
 
+        if (state == BaseConstants.PAUSED) {
+            HttpRequest req = (HttpRequest)
+                    worker.getConn().getContext().getAttribute("http.request");
+            req.setHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_CLOSE);
+        }
+
         // pass ClientConnectionDebug to the Server side
         ServerConnectionDebug scd = (ServerConnectionDebug)
                 worker.getConn().getContext().getAttribute(ServerHandler.SERVER_CONNECTION_DEBUG);

Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/debug/AbstractConnectionDebug.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/debug/AbstractConnectionDebug.java?rev=930718&r1=930717&r2=930718&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/debug/AbstractConnectionDebug.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/debug/AbstractConnectionDebug.java Sun Apr  4 17:11:59 2010
@@ -66,12 +66,24 @@ public abstract class AbstractConnection
         StringBuffer sb = new StringBuffer();
         if (headers != null) {
             if (printAllHeaders) {
+                boolean first = true;
                 for (Header h : headers) {
+                    if (first) {
+                        first = false;
+                    } else {
+                        sb.append(fieldSeparator);
+                    }
                     sb.append(h.getName()).append(keyValueSeparator).append(h.getValue());
                 }
             } else if (printHeaderNames != null) {
+                boolean first = true;
                 for (Header h : headers) {
                     if (printHeaderNames.contains(h.getName())) {
+                        if (first) {
+                            first = false;
+                        } else {
+                            sb.append(fieldSeparator);
+                        }
                         sb.append(h.getName()).append(keyValueSeparator).append(h.getValue());
                     }
                 }

Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/debug/ClientConnectionDebug.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/debug/ClientConnectionDebug.java?rev=930718&r1=930717&r2=930718&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/debug/ClientConnectionDebug.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/debug/ClientConnectionDebug.java Sun Apr  4 17:11:59 2010
@@ -63,6 +63,7 @@ public class ClientConnectionDebug exten
                 RequestLine requestLine = request.getRequestLine();
                 this.lastRequestProtocol = requestLine.getProtocolVersion().toString();
                 this.lastRequestHTTPMethod = requestLine.getMethod();
+                this.headers = request.getAllHeaders();
             } catch (IOException ignore) {}
         }
 
@@ -96,14 +97,18 @@ public class ClientConnectionDebug exten
         this.responseLine = responseLine;
     }
 
-    public void recordResponseInfo(Header[] headers) {
-        this.headers = headers;
+    public long getLastRequestStartTime() {
+        return lastRequestStartTime;
+    }
+
+    public long getResponseCompletionTime() {
+        return responseCompletionTime;
     }
 
     public String dump() {
         StringBuffer sb = new StringBuffer(25);
 
-        sb.append("E2S-Req-Start").append(keyValueSeparator).append(lastRequestStartTime);
+        sb.append("E2S-Req-Start").append(keyValueSeparator).append(format(lastRequestStartTime));
         sb.append(fieldSeparator);
         sb.append("E2S-Req-End").append(keyValueSeparator).append(format(requestCompletionTime));
         sb.append(fieldSeparator);
@@ -124,9 +129,9 @@ public class ClientConnectionDebug exten
             sb.append(statementSeparator);
         }
 
-        sb.append("S2E-Resp-Start").append(keyValueSeparator).append(responseStartTime);
+        sb.append("S2E-Resp-Start").append(keyValueSeparator).append(format(responseStartTime));
         sb.append(fieldSeparator);
-        sb.append("S2E-Resp-End").append(keyValueSeparator).append(responseCompletionTime);
+        sb.append("S2E-Resp-End").append(keyValueSeparator).append(format(responseCompletionTime));
         sb.append(statementSeparator);
 
         sb.append("S2E-Resp-Status").append(keyValueSeparator).append(responseLine);

Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/debug/ServerConnectionDebug.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/debug/ServerConnectionDebug.java?rev=930718&r1=930717&r2=930718&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/debug/ServerConnectionDebug.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/debug/ServerConnectionDebug.java Sun Apr  4 17:11:59 2010
@@ -96,6 +96,9 @@ public class ServerConnectionDebug exten
 
     public String dump() {
         StringBuffer sb = new StringBuffer(50);
+        responseCompletionTime = responseCompletionTime == 0 ?
+                System.currentTimeMillis() : responseCompletionTime;
+        long totalTime = responseCompletionTime - requestStartTime;
 
         sb.append("C2E-Req-StartTime").append(keyValueSeparator).append(format(requestStartTime));
         sb.append(fieldSeparator);
@@ -124,10 +127,18 @@ public class ServerConnectionDebug exten
 
         sb.append("E2C-Resp-Start").append(keyValueSeparator).append(format(responseStartTime));
         sb.append(fieldSeparator);
-        sb.append("E2C-Resp-End").append(keyValueSeparator).append(format(
-                responseCompletionTime == 0 ? System.currentTimeMillis() : responseCompletionTime));
+        sb.append("E2C-Resp-End").append(keyValueSeparator).append(format(responseCompletionTime));
         sb.append(statementSeparator);
 
+        sb.append("Total-Time").append(keyValueSeparator).append(totalTime).append("ms");
+        if (clientConnectionDebug != null) {
+            long svcTime = clientConnectionDebug.getResponseCompletionTime() - clientConnectionDebug.getLastRequestStartTime();
+            sb.append(fieldSeparator);
+            sb.append("Svc-Time").append(keyValueSeparator).append(svcTime).append("ms");
+            sb.append(fieldSeparator);
+            sb.append("ESB-Time").append(keyValueSeparator).append(totalTime - svcTime).append("ms");
+        }
+
         return sb.toString();
     }