Repository: trafficserver Updated Branches: refs/heads/master a90403e9f -> aa59a0d52
TS-3781: Add the log field "pqsp" (server port) We already have the server IP available as a field for logging. This patch adds the server port as well. Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/44da2647 Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/44da2647 Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/44da2647 Branch: refs/heads/master Commit: 44da26474dece5868f5d49316286ffd3fb2bbe34 Parents: bb6f9f3 Author: Jonh Wendell <[email protected]> Authored: Mon Jul 20 19:41:59 2015 -0300 Committer: Jonh Wendell <[email protected]> Committed: Mon Jul 20 19:41:59 2015 -0300 ---------------------------------------------------------------------- proxy/logging/Log.cc | 5 +++++ proxy/logging/LogAccess.cc | 9 +++++++++ proxy/logging/LogAccess.h | 1 + proxy/logging/LogAccessHttp.cc | 10 ++++++++++ proxy/logging/LogAccessHttp.h | 1 + 5 files changed, 26 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/44da2647/proxy/logging/Log.cc ---------------------------------------------------------------------- diff --git a/proxy/logging/Log.cc b/proxy/logging/Log.cc index 01921f4..617c16c 100644 --- a/proxy/logging/Log.cc +++ b/proxy/logging/Log.cc @@ -587,6 +587,11 @@ Log::init_fields() global_field_list.add(field, false); ink_hash_table_insert(field_symbol_hash, "pqsi", field); + field = new LogField("proxy_req_server_port", "pqsp", LogField::sINT, &LogAccess::marshal_proxy_req_server_port, + &LogAccess::unmarshal_int_to_str); + global_field_list.add(field, false); + ink_hash_table_insert(field_symbol_hash, "pqsp", field); + Ptr<LogFieldAliasTable> hierarchy_map = make_ptr(new LogFieldAliasTable); hierarchy_map->init( 36, SQUID_HIER_EMPTY, "EMPTY", SQUID_HIER_NONE, "NONE", SQUID_HIER_DIRECT, "DIRECT", SQUID_HIER_SIBLING_HIT, "SIBLING_HIT", http://git-wip-us.apache.org/repos/asf/trafficserver/blob/44da2647/proxy/logging/LogAccess.cc ---------------------------------------------------------------------- diff --git a/proxy/logging/LogAccess.cc b/proxy/logging/LogAccess.cc index bea3b1b..9e57dca 100644 --- a/proxy/logging/LogAccess.cc +++ b/proxy/logging/LogAccess.cc @@ -389,6 +389,15 @@ LogAccess::marshal_proxy_req_server_ip(char *buf) -------------------------------------------------------------------------*/ int +LogAccess::marshal_proxy_req_server_port(char *buf) +{ + DEFAULT_INT_FIELD; +} + +/*------------------------------------------------------------------------- + -------------------------------------------------------------------------*/ + +int LogAccess::marshal_proxy_hierarchy_route(char *buf) { DEFAULT_INT_FIELD; http://git-wip-us.apache.org/repos/asf/trafficserver/blob/44da2647/proxy/logging/LogAccess.h ---------------------------------------------------------------------- diff --git a/proxy/logging/LogAccess.h b/proxy/logging/LogAccess.h index 143aedf..15c5181 100644 --- a/proxy/logging/LogAccess.h +++ b/proxy/logging/LogAccess.h @@ -213,6 +213,7 @@ public: inkcoreapi virtual int marshal_proxy_req_body_len(char *); // INT inkcoreapi virtual int marshal_proxy_req_server_name(char *); // STR inkcoreapi virtual int marshal_proxy_req_server_ip(char *); // INT + inkcoreapi virtual int marshal_proxy_req_server_port(char *); // INT inkcoreapi virtual int marshal_proxy_hierarchy_route(char *); // INT inkcoreapi virtual int marshal_proxy_host_name(char *); // STR inkcoreapi virtual int marshal_proxy_host_ip(char *); // STR http://git-wip-us.apache.org/repos/asf/trafficserver/blob/44da2647/proxy/logging/LogAccessHttp.cc ---------------------------------------------------------------------- diff --git a/proxy/logging/LogAccessHttp.cc b/proxy/logging/LogAccessHttp.cc index 8d457ab..40779f4 100644 --- a/proxy/logging/LogAccessHttp.cc +++ b/proxy/logging/LogAccessHttp.cc @@ -906,6 +906,16 @@ LogAccessHttp::marshal_proxy_req_server_ip(char *buf) return marshal_ip(buf, m_http_sm->t_state.current.server != NULL ? &m_http_sm->t_state.current.server->dst_addr.sa : 0); } +int +LogAccessHttp::marshal_proxy_req_server_port(char *buf) +{ + if (buf) { + uint16_t port = ntohs(m_http_sm->t_state.current.server != NULL ? m_http_sm->t_state.current.server->dst_addr.port() : 0); + marshal_int(buf, port); + } + return INK_MIN_ALIGN; +} + /*------------------------------------------------------------------------- -------------------------------------------------------------------------*/ http://git-wip-us.apache.org/repos/asf/trafficserver/blob/44da2647/proxy/logging/LogAccessHttp.h ---------------------------------------------------------------------- diff --git a/proxy/logging/LogAccessHttp.h b/proxy/logging/LogAccessHttp.h index 984794d..6040541 100644 --- a/proxy/logging/LogAccessHttp.h +++ b/proxy/logging/LogAccessHttp.h @@ -95,6 +95,7 @@ public: virtual int marshal_proxy_req_body_len(char *); // INT virtual int marshal_proxy_req_server_name(char *); // STR 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_host_port(char *); // INT
