instrument latency 80/2980/1
authorAndy Green <andy.green@linaro.org>
Tue, 29 Jan 2013 04:37:35 +0000 (12:37 +0800)
committerKevron Rees <kevron_m_rees@linux.intel.com>
Thu, 7 Mar 2013 21:01:29 +0000 (13:01 -0800)
Signed-off-by: Andy Green <andy.green@linaro.org>
lib/client.c
lib/output.c
lib/server.c

index cf56b03..a9e2953 100644 (file)
@@ -127,7 +127,9 @@ int lws_client_socket_service(struct libwebsocket_context *context, struct libwe
                }               
 
                if (wsi->use_ssl) {
+                       lws_latency_pre(context, wsi);
                        n = SSL_connect(wsi->ssl);
+                       lws_latency(context, wsi, "SSL_connect LWS_CONNMODE_WS_CLIENT_ISSUE_HANDSHAKE", n, n > 0);
 
                        if (n < 0) {
                                n = SSL_get_error(wsi->ssl, n);
@@ -165,7 +167,9 @@ int lws_client_socket_service(struct libwebsocket_context *context, struct libwe
                                return 0;
                        }
 
+                       lws_latency_pre(context, wsi);
                        n = SSL_get_verify_result(wsi->ssl);
+                       lws_latency(context, wsi, "SSL_get_verify_result LWS_CONNMODE_WS_CLIENT_ISSUE_HANDSHAKE", n, n > 0);
                        if ((n != X509_V_OK) && (
                                n != X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT ||
                                                           wsi->use_ssl != 2)) {
@@ -190,12 +194,14 @@ int lws_client_socket_service(struct libwebsocket_context *context, struct libwe
 
                /* send our request to the server */
 
+               lws_latency_pre(context, wsi);
        #ifdef LWS_OPENSSL_SUPPORT
                if (wsi->use_ssl)
                        n = SSL_write(wsi->ssl, pkt, p - pkt);
                else
        #endif
                        n = send(wsi->sock, pkt, p - pkt, 0);
+               lws_latency(context, wsi, "send or SSL_write LWS_CONNMODE_WS_CLIENT_ISSUE_HANDSHAKE", n, n >= 0);
 
                if (n < 0) {
                        lwsl_debug("ERROR writing to client socket\n");
index 5bf0404..879d52b 100644 (file)
@@ -92,6 +92,7 @@ void lwsl_hexdump(void *vbuf, size_t len)
 
 int lws_issue_raw(struct libwebsocket *wsi, unsigned char *buf, size_t len)
 {
+       struct libwebsocket_context *context = wsi->protocol->owning_server;
        int n;
 #ifndef LWS_NO_EXTENSIONS
        int m;
@@ -132,9 +133,11 @@ int lws_issue_raw(struct libwebsocket *wsi, unsigned char *buf, size_t len)
        lws_hexdump(buf, len);
 #endif
 
+       lws_latency_pre(context, wsi);
 #ifdef LWS_OPENSSL_SUPPORT
        if (wsi->ssl) {
                n = SSL_write(wsi->ssl, buf, len);
+               lws_latency(context, wsi, "SSL_write lws_issue_raw", n, n >= 0);
                if (n < 0) {
                        lwsl_debug("ERROR writing to socket\n");
                        return -1;
@@ -142,6 +145,7 @@ int lws_issue_raw(struct libwebsocket *wsi, unsigned char *buf, size_t len)
        } else {
 #endif
                n = send(wsi->sock, buf, len, MSG_NOSIGNAL);
+               lws_latency(context, wsi, "send lws_issue_raw", n, n == len);
                if (n != len) {
                        lwsl_debug("ERROR writing len %d to socket %d\n", len, n);
                        return -1;
index 0a7c0dd..381f23a 100644 (file)
@@ -214,8 +214,10 @@ int lws_server_socket_service(struct libwebsocket_context *context,
                /* listen socket got an unencrypted connection... */
 
                clilen = sizeof(cli_addr);
+               lws_latency_pre(context, wsi);
                accept_fd  = accept(pollfd->fd, (struct sockaddr *)&cli_addr,
                                                                       &clilen);
+               lws_latency(context, wsi, "unencrypted accept LWS_CONNMODE_SERVER_LISTENER", accept_fd, accept_fd >= 0);
                if (accept_fd < 0) {
                        if (errno == EAGAIN || errno == EWOULDBLOCK) {
                                lwsl_debug("accept asks to try again\n");
@@ -321,9 +323,9 @@ int lws_server_socket_service(struct libwebsocket_context *context,
                        LWS_CALLBACK_CLEAR_MODE_POLL_FD,
                        (void *)(long)wsi->sock, NULL, POLLOUT);
 
-               //lwsl_notice("LWS_CONNMODE_SSL_ACK_PENDING: pre\n");
+               lws_latency_pre(context, wsi);
                n = SSL_accept(wsi->ssl);
-               //lwsl_notice("LWS_CONNMODE_SSL_ACK_PENDING: post %d\n", n);
+               lws_latency(context, wsi, "SSL_accept LWS_CONNMODE_SSL_ACK_PENDING\n", n, n == 1);
 
                if (n != 1) {
                        m = SSL_get_error(wsi->ssl, n);