From 1e43752a228421249af5cc199893c0997e07182f Mon Sep 17 00:00:00 2001 From: Thomas Jackson Date: Thu, 13 Oct 2016 12:11:29 -0700 Subject: [PATCH] TS-4969: Add prr proxy_request_retries log field --- proxy/logging/Log.cc | 5 +++++ proxy/logging/LogAccess.cc | 2 ++ proxy/logging/LogAccess.h | 1 + proxy/logging/LogAccessHttp.cc | 10 ++++++++++ proxy/logging/LogAccessHttp.h | 1 + 5 files changed, 19 insertions(+) diff --git a/proxy/logging/Log.cc b/proxy/logging/Log.cc index 77c10046d1f..d48ed1c2d9c 100644 --- a/proxy/logging/Log.cc +++ b/proxy/logging/Log.cc @@ -696,6 +696,11 @@ Log::init_fields() global_field_list.add(field, false); ink_hash_table_insert(field_symbol_hash, "php", field); + field = new LogField("proxy_req_retries", "prr", LogField::sINT, &LogAccess::marshal_proxy_retry_count, + &LogAccess::unmarshal_int_to_str); + global_field_list.add(field, false); + ink_hash_table_insert(field_symbol_hash, "prr", field); + field = new LogField("proxy_req_is_ssl", "pqssl", LogField::sINT, &LogAccess::marshal_proxy_req_is_ssl, &LogAccess::unmarshal_int_to_str); global_field_list.add(field, false); diff --git a/proxy/logging/LogAccess.cc b/proxy/logging/LogAccess.cc index 50e115deb02..9898216f251 100644 --- a/proxy/logging/LogAccess.cc +++ b/proxy/logging/LogAccess.cc @@ -446,6 +446,8 @@ LogAccess::marshal_http_header_field_escapify(LogField::Container /* container A DEFAULT_STR_FIELD; } +LOG_ACCESS_DEFAULT_FIELD(marshal_proxy_retry_count, DEFAULT_INT_FIELD) + LOG_ACCESS_DEFAULT_FIELD(marshal_proxy_host_port, DEFAULT_INT_FIELD) /*------------------------------------------------------------------------- diff --git a/proxy/logging/LogAccess.h b/proxy/logging/LogAccess.h index 6e7235384aa..989f9856998 100644 --- a/proxy/logging/LogAccess.h +++ b/proxy/logging/LogAccess.h @@ -207,6 +207,7 @@ class LogAccess inkcoreapi virtual int marshal_proxy_resp_header_len(char *); // INT inkcoreapi virtual int marshal_proxy_finish_status_code(char *); // INT inkcoreapi virtual int marshal_cache_result_code(char *); // INT + inkcoreapi virtual int marshal_proxy_retry_count(char *); // INT inkcoreapi virtual int marshal_proxy_host_port(char *); // INT inkcoreapi virtual int marshal_cache_hit_miss(char *); // INT diff --git a/proxy/logging/LogAccessHttp.cc b/proxy/logging/LogAccessHttp.cc index 6242599f47d..97304af8116 100644 --- a/proxy/logging/LogAccessHttp.cc +++ b/proxy/logging/LogAccessHttp.cc @@ -932,6 +932,16 @@ LogAccessHttp::marshal_proxy_finish_status_code(char *buf) return INK_MIN_ALIGN; } +int +LogAccessHttp::marshal_proxy_retry_count(char *buf) +{ + if (buf) { + marshal_int(buf, m_http_sm->t_state.current.attempts); + } + + return INK_MIN_ALIGN; +} + /*------------------------------------------------------------------------- -------------------------------------------------------------------------*/ int diff --git a/proxy/logging/LogAccessHttp.h b/proxy/logging/LogAccessHttp.h index 879032a6c4c..78044579a51 100644 --- a/proxy/logging/LogAccessHttp.h +++ b/proxy/logging/LogAccessHttp.h @@ -104,6 +104,7 @@ class LogAccessHttp : public LogAccess virtual int marshal_proxy_req_server_ip(char *); // INT virtual int marshal_proxy_req_server_port(char *); // INT virtual int marshal_proxy_hierarchy_route(char *); // INT + virtual int marshal_proxy_retry_count(char *); // INT virtual int marshal_proxy_host_port(char *); // INT virtual int marshal_proxy_req_is_ssl(char *); // INT