From 2c2785c19c2f8f08370bb4ca5ad4b425d4623604 Mon Sep 17 00:00:00 2001 From: Susan Hinrichs Date: Mon, 31 Aug 2020 20:01:02 +0000 Subject: [PATCH] Add metric tracking async job pauses --- doc/admin-guide/monitoring/statistics/core/ssl.en.rst | 5 +++++ iocore/net/SSLNetVConnection.cc | 1 + iocore/net/SSLStats.cc | 2 ++ iocore/net/SSLStats.h | 1 + 4 files changed, 9 insertions(+) diff --git a/doc/admin-guide/monitoring/statistics/core/ssl.en.rst b/doc/admin-guide/monitoring/statistics/core/ssl.en.rst index 3b6ee48dbba..9e37e9f8f4b 100644 --- a/doc/admin-guide/monitoring/statistics/core/ssl.en.rst +++ b/doc/admin-guide/monitoring/statistics/core/ssl.en.rst @@ -83,6 +83,11 @@ SSL/TLS .. ts:stat:: global proxy.process.ssl.ssl_error_syscall integer :type: counter +.. ts:stat:: global proxy.process.ssl.ssl_error_async integer + :type: counter + + Track the number of times openssl async jobs paused. + .. ts:stat:: global proxy.process.ssl.ssl_session_cache_eviction integer :type: counter diff --git a/iocore/net/SSLNetVConnection.cc b/iocore/net/SSLNetVConnection.cc index 59f6f279a33..6c15acdaac8 100644 --- a/iocore/net/SSLNetVConnection.cc +++ b/iocore/net/SSLNetVConnection.cc @@ -1364,6 +1364,7 @@ SSLNetVConnection::sslServerHandShakeEvent(int &err) #if TS_USE_TLS_ASYNC case SSL_ERROR_WANT_ASYNC: + SSL_INCREMENT_DYN_STAT(ssl_error_async); return SSL_WAIT_FOR_ASYNC; #endif diff --git a/iocore/net/SSLStats.cc b/iocore/net/SSLStats.cc index f9d53045753..b97a92244d0 100644 --- a/iocore/net/SSLStats.cc +++ b/iocore/net/SSLStats.cc @@ -188,6 +188,8 @@ SSLInitializeStatistics() (int)ssl_error_read_eos, RecRawStatSyncCount); RecRegisterRawStat(ssl_rsb, RECT_PROCESS, "proxy.process.ssl.ssl_error_ssl", RECD_COUNTER, RECP_PERSISTENT, (int)ssl_error_ssl, RecRawStatSyncCount); + RecRegisterRawStat(ssl_rsb, RECT_PROCESS, "proxy.process.ssl.ssl_error_async", RECD_COUNTER, RECP_PERSISTENT, + (int)ssl_error_async, RecRawStatSyncCount); RecRegisterRawStat(ssl_rsb, RECT_PROCESS, "proxy.process.ssl.ssl_sni_name_set_failure", RECD_COUNTER, RECP_PERSISTENT, (int)ssl_sni_name_set_failure, RecRawStatSyncCount); diff --git a/iocore/net/SSLStats.h b/iocore/net/SSLStats.h index 202aa15d563..dafca9d6e40 100644 --- a/iocore/net/SSLStats.h +++ b/iocore/net/SSLStats.h @@ -90,6 +90,7 @@ enum SSL_Stats { ssl_error_syscall, ssl_error_read_eos, ssl_error_ssl, + ssl_error_async, ssl_sni_name_set_failure, ssl_total_attempts_handshake_count_out_stat, ssl_total_success_handshake_count_out_stat,