You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2007/06/17 18:11:02 UTC

svn commit: r548056 - in /jakarta/httpcomponents/httpcore/trunk: module-main/src/main/java/org/apache/http/impl/ module-nio/src/main/java/org/apache/http/impl/nio/

Author: olegk
Date: Sun Jun 17 09:11:01 2007
New Revision: 548056

URL: http://svn.apache.org/viewvc?view=rev&rev=548056
Log:
HTTPCORE-21: Implemented HttpConnectionMetrics for non-blocking HTTP connections. Do not include 1xx responses into the total response count

Modified:
    jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/AbstractHttpClientConnection.java
    jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/AbstractHttpServerConnection.java
    jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java
    jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java
    jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/NHttpConnectionBase.java

Modified: jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/AbstractHttpClientConnection.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/AbstractHttpClientConnection.java?view=diff&rev=548056&r1=548055&r2=548056
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/AbstractHttpClientConnection.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/AbstractHttpClientConnection.java Sun Jun 17 09:11:01 2007
@@ -202,7 +202,9 @@
         assertOpen();
         HttpResponse response = readResponseStatusLine();
         readResponseHeaders(response);
-        this.metrics.incrementResponseCount();
+        if (response.getStatusLine().getStatusCode() >= 200) {
+            this.metrics.incrementResponseCount();
+        }
         return response;
     }
     

Modified: jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/AbstractHttpServerConnection.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/AbstractHttpServerConnection.java?view=diff&rev=548056&r1=548055&r2=548056
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/AbstractHttpServerConnection.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/AbstractHttpServerConnection.java Sun Jun 17 09:11:01 2007
@@ -133,6 +133,7 @@
         assertOpen();
         HttpRequest request = receiveRequestLine();
         receiveRequestHeaders(request);
+        this.metrics.incrementRequestCount();
         return request;
     }
     
@@ -183,6 +184,9 @@
         assertOpen();
         sendResponseStatusLine(response);
         sendResponseHeaders(response);
+        if (response.getStatusLine().getStatusCode() >= 200) {
+            this.metrics.incrementResponseCount();
+        }
     }
 
     public void sendResponseEntity(final HttpResponse response) 

Modified: jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java?view=diff&rev=548056&r1=548055&r2=548056
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java Sun Jun 17 09:11:01 2007
@@ -96,6 +96,7 @@
                     if (this.response.getStatusLine().getStatusCode() >= 200) {
                         HttpEntity entity = prepareDecoder(this.response);
                         this.response.setEntity(entity);
+                        this.metrics.incrementRequestCount();
                     }
                     handler.responseReceived(this);
                     if (this.contentDecoder == null) {
@@ -192,6 +193,7 @@
             prepareEncoder(request);
             this.request = request;
         }
+        this.metrics.incrementRequestCount();
         this.session.setEvent(EventMask.WRITE);
     }
 

Modified: jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java?view=diff&rev=548056&r1=548055&r2=548056
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java Sun Jun 17 09:11:01 2007
@@ -95,6 +95,7 @@
                         HttpEntity entity = prepareDecoder(this.request);
                         ((HttpEntityEnclosingRequest)this.request).setEntity(entity);
                     }
+                    this.metrics.incrementRequestCount();
                     handler.requestReceived(this);
                     if (this.contentDecoder == null) {
                         // No request entity is expected
@@ -187,11 +188,14 @@
         this.lineBuffer.clear();
         this.outbuf.writeLine(this.lineBuffer);
 
-        if (response.getStatusLine().getStatusCode() >= 200 
-                && response.getEntity() != null) {
-            this.response = response;
-            prepareEncoder(response);
+        if (response.getStatusLine().getStatusCode() >= 200) {
+            this.metrics.incrementRequestCount();
+            if (response.getEntity() != null) {
+                this.response = response;
+                prepareEncoder(response);
+            }
         }
+
         this.session.setEvent(EventMask.WRITE);
     }
 

Modified: jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/NHttpConnectionBase.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/NHttpConnectionBase.java?view=diff&rev=548056&r1=548055&r2=548056
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/NHttpConnectionBase.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/NHttpConnectionBase.java Sun Jun 17 09:11:01 2007
@@ -47,6 +47,7 @@
 import org.apache.http.HttpResponse;
 import org.apache.http.entity.BasicHttpEntity;
 import org.apache.http.entity.ContentLengthStrategy;
+import org.apache.http.impl.HttpConnectionMetricsImpl;
 import org.apache.http.impl.entity.LaxContentLengthStrategy;
 import org.apache.http.impl.entity.StrictContentLengthStrategy;
 import org.apache.http.nio.ContentDecoder;
@@ -83,6 +84,7 @@
     protected final SessionInputBuffer inbuf;
     protected final SessionOutputBuffer outbuf;
     protected final CharArrayBuffer lineBuffer;
+    protected final HttpConnectionMetricsImpl metrics;
     
     protected volatile ContentDecoder contentDecoder;
     protected volatile boolean hasBufferedInput;
@@ -90,7 +92,7 @@
     protected volatile boolean hasBufferedOutput;
     protected volatile HttpRequest request;
     protected volatile HttpResponse response;
-    
+
     protected volatile boolean closed;
     
     public NHttpConnectionBase(
@@ -122,6 +124,8 @@
         this.incomingContentStrategy = new LaxContentLengthStrategy();
         this.outgoingContentStrategy = new StrictContentLengthStrategy();
         
+        this.metrics = new HttpConnectionMetricsImpl(null, null);
+        
         this.closed = false;
         this.session.setBufferStatus(this);
         this.session.setEvent(EventMask.READ);
@@ -275,7 +279,7 @@
     }
 
     public HttpConnectionMetrics getMetrics() {
-        return null;
+        return this.metrics;
     }
     
 }