You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by sh...@apache.org on 2015/05/29 17:08:04 UTC

trafficserver git commit: TS-3560: Make proxy.config.http.slow.log.threshold overridable This closes #205

Repository: trafficserver
Updated Branches:
  refs/heads/master 4ce075de8 -> e49b5ccd4


TS-3560: Make proxy.config.http.slow.log.threshold overridable
This closes #205


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/e49b5ccd
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/e49b5ccd
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/e49b5ccd

Branch: refs/heads/master
Commit: e49b5ccd4dffe3c589a0bc4a0d2b284c6e2fa29b
Parents: 4ce075d
Author: Syeda Persia Aziz <pe...@yahoo-inc.com>
Authored: Fri May 29 09:36:29 2015 -0500
Committer: shinrich <sh...@yahoo-inc.com>
Committed: Fri May 29 10:07:38 2015 -0500

----------------------------------------------------------------------
 CHANGES                                          | 2 ++
 doc/reference/api/TSHttpOverridableConfig.en.rst | 1 +
 lib/ts/apidefs.h.in                              | 1 +
 plugins/conf_remap/conf_remap.cc                 | 1 -
 plugins/experimental/ts_lua/ts_lua_http_config.c | 4 +++-
 proxy/InkAPI.cc                                  | 8 ++++++++
 proxy/http/HttpConfig.cc                         | 4 ++--
 proxy/http/HttpConfig.h                          | 6 ++----
 proxy/http/HttpSM.cc                             | 3 +--
 9 files changed, 20 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e49b5ccd/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 4755a6b..4e8b6e6 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,7 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache Traffic Server 6.0.0
+
+  *) [TS-3560] Make proxy.config.http.slow.log.threshold overridable
   
   *) [TS-3635] Fix some ASAN memory issues.
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e49b5ccd/doc/reference/api/TSHttpOverridableConfig.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSHttpOverridableConfig.en.rst b/doc/reference/api/TSHttpOverridableConfig.en.rst
index 5cc5e23..f63fdfa 100644
--- a/doc/reference/api/TSHttpOverridableConfig.en.rst
+++ b/doc/reference/api/TSHttpOverridableConfig.en.rst
@@ -135,6 +135,7 @@ The following configurations (from ``records.config``) are overridable.
 |   :ts:cv:`proxy.config.http.accept_encoding_filter_enabled`
 |   :ts:cv:`proxy.config.http.cache.range.write`
 |   :ts:cv:`proxy.config.http.global_user_agent_header`
+|   :ts:cv:`proxy.config.http.slow.log.threshold`
 
 Examples
 ========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e49b5ccd/lib/ts/apidefs.h.in
----------------------------------------------------------------------
diff --git a/lib/ts/apidefs.h.in b/lib/ts/apidefs.h.in
index 3d95688..bd847f2 100644
--- a/lib/ts/apidefs.h.in
+++ b/lib/ts/apidefs.h.in
@@ -678,6 +678,7 @@ typedef enum {
   TS_CONFIG_HTTP_POST_CHECK_CONTENT_LENGTH_ENABLED,
   TS_CONFIG_HTTP_GLOBAL_USER_AGENT_HEADER,
   TS_CONFIG_HTTP_AUTH_SERVER_SESSION_PRIVATE,
+  TS_CONFIG_HTTP_SLOW_LOG_THRESHOLD,
   TS_CONFIG_LAST_ENTRY
 } TSOverridableConfigKey;
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e49b5ccd/plugins/conf_remap/conf_remap.cc
----------------------------------------------------------------------
diff --git a/plugins/conf_remap/conf_remap.cc b/plugins/conf_remap/conf_remap.cc
index 32b0799..a6281aa 100644
--- a/plugins/conf_remap/conf_remap.cc
+++ b/plugins/conf_remap/conf_remap.cc
@@ -270,7 +270,6 @@ TSRemapNewInstance(int argc, char *argv[], void **ih, char * /* errbuf ATS_UNUSE
   }
 
   RemapConfigs *conf = new (RemapConfigs);
-
   for (int i = 2; i < argc; ++i) {
     if (strchr(argv[i], '=') != NULL) {
       // Parse as an inline key=value pair ...

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e49b5ccd/plugins/experimental/ts_lua/ts_lua_http_config.c
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_http_config.c b/plugins/experimental/ts_lua/ts_lua_http_config.c
index f840625..2894a12 100644
--- a/plugins/experimental/ts_lua/ts_lua_http_config.c
+++ b/plugins/experimental/ts_lua/ts_lua_http_config.c
@@ -81,7 +81,8 @@ typedef enum {
   TS_LUA_CONFIG_HTTP_CACHE_FUZZ_PROBABILITY = TS_CONFIG_HTTP_CACHE_FUZZ_PROBABILITY,
   TS_LUA_CONFIG_NET_SOCK_PACKET_MARK_OUT = TS_CONFIG_NET_SOCK_PACKET_MARK_OUT,
   TS_LUA_CONFIG_NET_SOCK_PACKET_TOS_OUT = TS_CONFIG_NET_SOCK_PACKET_TOS_OUT,
-  TS_LUA_CONFIG_LAST_ENTRY = TS_CONFIG_LAST_ENTRY
+  TS_LUA_CONFIG_HTTP_SLOW_LOG_THRESHOLD = TS_CONFIG_HTTP_SLOW_LOG_THRESHOLD,
+  TS_LUA_CONFIG_LAST_ENTRY = TS_CONFIG_LAST_ENTRY,
 } TSLuaOverridableConfigKey;
 
 typedef enum {
@@ -140,6 +141,7 @@ ts_lua_var_item ts_lua_http_config_vars[] = {
   TS_LUA_MAKE_VAR_ITEM(TS_LUA_CONFIG_HTTP_RESPONSE_SERVER_STR), TS_LUA_MAKE_VAR_ITEM(TS_LUA_CONFIG_HTTP_CACHE_HEURISTIC_LM_FACTOR),
   TS_LUA_MAKE_VAR_ITEM(TS_LUA_CONFIG_HTTP_CACHE_FUZZ_PROBABILITY), TS_LUA_MAKE_VAR_ITEM(TS_LUA_CONFIG_NET_SOCK_PACKET_MARK_OUT),
   TS_LUA_MAKE_VAR_ITEM(TS_LUA_CONFIG_NET_SOCK_PACKET_TOS_OUT), TS_LUA_MAKE_VAR_ITEM(TS_LUA_CONFIG_LAST_ENTRY),
+  TS_LUA_MAKE_VAR_ITEM(TS_LUA_CONFIG_HTTP_SLOW_LOG_THRESHOLD),
 };
 
 ts_lua_var_item ts_lua_http_timeout_vars[] = {

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e49b5ccd/proxy/InkAPI.cc
----------------------------------------------------------------------
diff --git a/proxy/InkAPI.cc b/proxy/InkAPI.cc
index 8bca4bf..41176ae 100644
--- a/proxy/InkAPI.cc
+++ b/proxy/InkAPI.cc
@@ -7949,6 +7949,10 @@ _conf_to_memberp(TSOverridableConfigKey conf, OverridableHttpConfigParams *overr
     typ = OVERRIDABLE_TYPE_STRING;
     ret = &overridableHttpConfig->global_user_agent_header;
     break;
+  case TS_CONFIG_HTTP_SLOW_LOG_THRESHOLD:
+    typ = OVERRIDABLE_TYPE_INT;
+    ret = &overridableHttpConfig->slow_log_threshold;
+    break;
 
   // This helps avoiding compiler warnings, yet detect unhandled enum members.
   case TS_CONFIG_NULL:
@@ -8233,6 +8237,10 @@ TSHttpTxnConfigFind(const char *name, int length, TSOverridableConfigKey *conf,
       if (!strncmp(name, "proxy.config.net.sock_packet_tos_out", length))
         cnf = TS_CONFIG_NET_SOCK_PACKET_TOS_OUT;
       break;
+    case 'd':
+      if (!strncmp(name, "proxy.config.http.slow.log.threshold", length))
+        cnf = TS_CONFIG_HTTP_SLOW_LOG_THRESHOLD;
+      break;
     }
     break;
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e49b5ccd/proxy/http/HttpConfig.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpConfig.cc b/proxy/http/HttpConfig.cc
index f82c2de..7a7e9af 100644
--- a/proxy/http/HttpConfig.cc
+++ b/proxy/http/HttpConfig.cc
@@ -1120,7 +1120,7 @@ HttpConfig::startup()
 
   HttpEstablishStaticConfigByte(c.errors_log_error_pages, "proxy.config.http.errors.log_error_pages");
 
-  HttpEstablishStaticConfigLongLong(c.slow_log_threshold, "proxy.config.http.slow.log.threshold");
+  HttpEstablishStaticConfigLongLong(c.oride.slow_log_threshold, "proxy.config.http.slow.log.threshold");
 
   HttpEstablishStaticConfigByte(c.record_cop_page, "proxy.config.http.record_heartbeat");
 
@@ -1380,7 +1380,7 @@ HttpConfig::reconfigure()
   params->reverse_proxy_enabled = INT_TO_BOOL(m_master.reverse_proxy_enabled);
   params->url_remap_required = INT_TO_BOOL(m_master.url_remap_required);
   params->errors_log_error_pages = INT_TO_BOOL(m_master.errors_log_error_pages);
-  params->slow_log_threshold = m_master.slow_log_threshold;
+  params->oride.slow_log_threshold = m_master.oride.slow_log_threshold;
   params->record_cop_page = INT_TO_BOOL(m_master.record_cop_page);
   params->oride.send_http11_requests = m_master.oride.send_http11_requests;
   params->oride.doc_in_cache_skip_dns = INT_TO_BOOL(m_master.oride.doc_in_cache_skip_dns);

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e49b5ccd/proxy/http/HttpConfig.h
----------------------------------------------------------------------
diff --git a/proxy/http/HttpConfig.h b/proxy/http/HttpConfig.h
index 4534c6c..fc3cec8 100644
--- a/proxy/http/HttpConfig.h
+++ b/proxy/http/HttpConfig.h
@@ -383,7 +383,7 @@ struct OverridableHttpConfigParams {
       post_connect_attempts_timeout(1800), down_server_timeout(300), client_abort_threshold(10), freshness_fuzz_time(240),
       freshness_fuzz_min_time(0), max_cache_open_read_retries(-1), cache_open_read_retry_time(10),
       background_fill_active_timeout(60), http_chunking_size(4096), flow_high_water_mark(0), flow_low_water_mark(0),
-      default_buffer_size_index(8), default_buffer_water_mark(32768),
+      default_buffer_size_index(8), default_buffer_water_mark(32768), slow_log_threshold(0),
 
       // Strings / floats must come last
       proxy_response_server_string(NULL), proxy_response_server_string_len(0), global_user_agent_header(NULL),
@@ -555,7 +555,7 @@ struct OverridableHttpConfigParams {
 
   MgmtInt default_buffer_size_index;
   MgmtInt default_buffer_water_mark;
-
+  MgmtInt slow_log_threshold;
   // IMPORTANT: Here comes all strings / floats configs.
 
   ///////////////////////////////////////////////////////////////////
@@ -708,8 +708,6 @@ public:
   // Error Reporting //
   /////////////////////
   MgmtByte errors_log_error_pages;
-  MgmtInt slow_log_threshold;
-
   MgmtByte enable_http_info;
 
   // Cluster time delta is not a config variable,

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e49b5ccd/proxy/http/HttpSM.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc
index 0453747..0ed6640 100644
--- a/proxy/http/HttpSM.cc
+++ b/proxy/http/HttpSM.cc
@@ -6649,8 +6649,7 @@ HttpSM::update_stats()
 
 
   // print slow requests if the threshold is set (> 0) and if we are over the time threshold
-  if (t_state.http_config_param->slow_log_threshold != 0 &&
-      ink_hrtime_from_msec(t_state.http_config_param->slow_log_threshold) < total_time) {
+  if (t_state.txn_conf->slow_log_threshold != 0 && ink_hrtime_from_msec(t_state.txn_conf->slow_log_threshold) < total_time) {
     URL *url = t_state.hdr_info.client_request.url_get();
     char url_string[256] = "";
     int offset = 0;