From c1a1e38de032694712dbd90ef5c8cbb64b5894da Mon Sep 17 00:00:00 2001 From: Andy Green <andy@warmcat.com> Date: Sat, 25 Aug 2018 06:38:28 +0800 Subject: [PATCH] LWS_WITH_STATS: only report ssl accept delay we have a start time for --- lib/tls/mbedtls/ssl.c | 2 +- lib/tls/openssl/ssl.c | 2 +- lib/tls/tls-server.c | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/tls/mbedtls/ssl.c b/lib/tls/mbedtls/ssl.c index da25a271..e0e134c5 100644 --- a/lib/tls/mbedtls/ssl.c +++ b/lib/tls/mbedtls/ssl.c @@ -75,7 +75,7 @@ lws_ssl_capable_read(struct lws *wsi, unsigned char *buf, int len) } #endif #if defined(LWS_WITH_STATS) - if (!wsi->seen_rx) { + if (!wsi->seen_rx && wsi->accept_start_us) { lws_stats_atomic_bump(wsi->context, pt, LWSSTATS_MS_SSL_RX_DELAY, time_in_microseconds() - wsi->accept_start_us); diff --git a/lib/tls/openssl/ssl.c b/lib/tls/openssl/ssl.c index eb55b093..59250fbc 100644 --- a/lib/tls/openssl/ssl.c +++ b/lib/tls/openssl/ssl.c @@ -216,7 +216,7 @@ lws_ssl_capable_read(struct lws *wsi, unsigned char *buf, int len) } #endif #if defined(LWS_WITH_STATS) - if (!wsi->seen_rx) { + if (!wsi->seen_rx && wsi->accept_start_us) { lws_stats_atomic_bump(wsi->context, pt, LWSSTATS_MS_SSL_RX_DELAY, time_in_microseconds() - wsi->accept_start_us); lws_stats_atomic_bump(wsi->context, pt, LWSSTATS_C_SSL_CONNS_HAD_RX, 1); diff --git a/lib/tls/tls-server.c b/lib/tls/tls-server.c index 1f727cf7..95ff4eff 100644 --- a/lib/tls/tls-server.c +++ b/lib/tls/tls-server.c @@ -312,6 +312,7 @@ lws_server_socket_service_ssl(struct lws *wsi, lws_sockfd_type accept_fd) /* normal SSL connection processing path */ #if defined(LWS_WITH_STATS) + /* only set this the first time around */ if (!wsi->accept_start_us) wsi->accept_start_us = time_in_microseconds(); #endif @@ -340,7 +341,8 @@ lws_server_socket_service_ssl(struct lws *wsi, lws_sockfd_type accept_fd) lws_stats_atomic_bump(wsi->context, pt, LWSSTATS_C_SSL_CONNECTIONS_ACCEPTED, 1); #if defined(LWS_WITH_STATS) - lws_stats_atomic_bump(wsi->context, pt, + if (wsi->accept_start_us) + lws_stats_atomic_bump(wsi->context, pt, LWSSTATS_MS_SSL_CONNECTIONS_ACCEPTED_DELAY, time_in_microseconds() - wsi->accept_start_us); wsi->accept_start_us = time_in_microseconds(); -- GitLab