trafficserver-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bc...@apache.org
Subject [trafficserver] branch master updated: Remove pqsn
Date Thu, 28 Jun 2018 15:48:52 GMT
This is an automated email from the ASF dual-hosted git repository.

bcall pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/master by this push:
     new b0969c9  Remove pqsn
b0969c9 is described below

commit b0969c91ebc52b37f4c3195ec17d4d0c1c18650c
Author: dyrock <zeyuany@gmail.com>
AuthorDate: Tue Jun 19 18:12:47 2018 +0000

    Remove pqsn
    
    Fix test errors by replacing .blog with newly generated ones. Also attached urls used in the new generated .blog.
---
 configs/logging.yaml.default                |   4 +-
 doc/admin-guide/logging/examples.en.rst     |   6 +-
 doc/admin-guide/logging/formatting.en.rst   |   3 -
 proxy/logging/Log.cc                        |   5 -
 proxy/logging/LogAccess.cc                  |   5 -
 proxy/logging/LogAccess.h                   |   1 -
 proxy/logging/LogAccessHttp.cc              |  17 --
 proxy/logging/LogAccessHttp.h               |   1 -
 src/traffic_logstats/logstats.cc            |   2 +-
 src/traffic_logstats/tests/logstats.blog    | Bin 14976 -> 9144 bytes
 src/traffic_logstats/tests/logstats.json    | 242 +++++++++++++++++++++-------
 src/traffic_logstats/tests/logstats.summary |  68 ++++----
 src/traffic_logstats/tests/test_urls.txt    |  10 ++
 13 files changed, 234 insertions(+), 130 deletions(-)

diff --git a/configs/logging.yaml.default b/configs/logging.yaml.default
index 4b83ab6..7f9c26f 100644
--- a/configs/logging.yaml.default
+++ b/configs/logging.yaml.default
@@ -69,11 +69,11 @@ formats:
     # The following is the squid format but with a seconds-only timestamp
     # (cqts) instead of a seconds and milliseconds timestamp (cqtq).
     - name: squid_seconds_only_timestamp
-      format: '%<cqts> %<ttms> %<chi> %<crc>/%<pssc> %<psql> %<cqhm> %<cquc> %<caun> %<phr>/%<pqsn> %<psct>'
+      format: '%<cqts> %<ttms> %<chi> %<crc>/%<pssc> %<psql> %<cqhm> %<cquc> %<caun> %<phr>/%<shn> %<psct>'
 
     # Squid Log Format.
     - name: squid
-      format: '%<cqtq> %<ttms> %<chi> %<crc>/%<pssc> %<psql> %<cqhm> %<cquc> %<caun> %<phr>/%<pqsn> %<psct>'
+      format: '%<cqtq> %<ttms> %<chi> %<crc>/%<pssc> %<psql> %<cqhm> %<cquc> %<caun> %<phr>/%<shn> %<psct>'
 
     # Common Log Format.
     - name: common
diff --git a/doc/admin-guide/logging/examples.en.rst b/doc/admin-guide/logging/examples.en.rst
index 63b5ce6..466b520 100644
--- a/doc/admin-guide/logging/examples.en.rst
+++ b/doc/admin-guide/logging/examples.en.rst
@@ -199,7 +199,7 @@ No. Field    Description
              hex.
 8   caun     The username of the authenticated client. A hyphen (``-``)
              means that no authentication was required.
-9   phr/pqsn The proxy hierarchy route. The route |TS| used to retrieve the
+9   phr/shn The proxy hierarchy route. The route |TS| used to retrieve the
              object.
 10  psct     The proxy response content type. The object content type taken
              from the |TS| response header.
@@ -212,7 +212,7 @@ following format object:
 
    formats:
    - name: squid
-     format: '%<cqtq> %<ttms> %<chi> %<crc>/%<pssc> %<psql> %<cqhm> %<cquc> %<caun> %<phr>/%<pqsn> %<psct>'
+     format: '%<cqtq> %<ttms> %<chi> %<crc>/%<pssc> %<psql> %<cqhm> %<cquc> %<caun> %<phr>/%<shn> %<psct>'
 
 Hourly Rotated Squid Proxy Logs
 ===============================
@@ -225,7 +225,7 @@ policy.
 
    formats:
    - name: squid
-     format: '%<cqtq> %<ttms> %<chi> %<crc>/%<pssc> %<psql> %<cqhm> %<cquc> %<caun> %<phr>/%<pqsn> %<psct>'
+     format: '%<cqtq> %<ttms> %<chi> %<crc>/%<pssc> %<psql> %<cqhm> %<cquc> %<caun> %<phr>/%<shn> %<psct>'
 
    logs:
    - mode: ascii
diff --git a/doc/admin-guide/logging/formatting.en.rst b/doc/admin-guide/logging/formatting.en.rst
index d917b6a..93c8ee8 100644
--- a/doc/admin-guide/logging/formatting.en.rst
+++ b/doc/admin-guide/logging/formatting.en.rst
@@ -445,7 +445,6 @@ Network Addresses, Ports, and Interfaces
 .. _php:
 .. _pqsi:
 .. _pqsp:
-.. _pqsn:
 .. _shi:
 .. _shn:
 
@@ -467,8 +466,6 @@ pqsi  Proxy Request  IP address from which |TS| issued the proxy request to the
                      origin server. Cache hits will result in a value of ``0``.
 pqsp  Proxy Request  Port number from which |TS| issued the proxy request to
                      the origin server. Cache hits will yield a value of ``0``.
-pqsn  Proxy Request  Host name of the interface from which |TS| issues the
-                     proxy request to the origin server.
 shi   Origin Server  IP address resolved via DNS by |TS| for the origin server.
                      For hosts with multiple IP addresses, the address used by
                      |TS| for the connection will be reported. See note below
diff --git a/proxy/logging/Log.cc b/proxy/logging/Log.cc
index 9120998..81d24a0 100644
--- a/proxy/logging/Log.cc
+++ b/proxy/logging/Log.cc
@@ -667,11 +667,6 @@ Log::init_fields()
   global_field_list.add(field, false);
   ink_hash_table_insert(field_symbol_hash, "pqcl", field);
 
-  field = new LogField("proxy_req_server_name", "pqsn", LogField::STRING, &LogAccess::marshal_proxy_req_server_name,
-                       (LogField::UnmarshalFunc)&LogAccess::unmarshal_str);
-  global_field_list.add(field, false);
-  ink_hash_table_insert(field_symbol_hash, "pqsn", field);
-
   field = new LogField("proxy_req_server_ip", "pqsi", LogField::IP, &LogAccess::marshal_proxy_req_server_ip,
                        &LogAccess::unmarshal_ip_to_str);
   global_field_list.add(field, false);
diff --git a/proxy/logging/LogAccess.cc b/proxy/logging/LogAccess.cc
index 96f1ba6..fdaf3f3 100644
--- a/proxy/logging/LogAccess.cc
+++ b/proxy/logging/LogAccess.cc
@@ -291,11 +291,6 @@ LOG_ACCESS_DEFAULT_FIELD(marshal_proxy_req_content_len, DEFAULT_INT_FIELD)
 /*-------------------------------------------------------------------------
   -------------------------------------------------------------------------*/
 
-LOG_ACCESS_DEFAULT_FIELD(marshal_proxy_req_server_name, DEFAULT_STR_FIELD)
-
-/*-------------------------------------------------------------------------
-  -------------------------------------------------------------------------*/
-
 LOG_ACCESS_DEFAULT_FIELD(marshal_proxy_req_server_ip, DEFAULT_IP_FIELD)
 
 /*-------------------------------------------------------------------------
diff --git a/proxy/logging/LogAccess.h b/proxy/logging/LogAccess.h
index ac0e15f..700492d 100644
--- a/proxy/logging/LogAccess.h
+++ b/proxy/logging/LogAccess.h
@@ -220,7 +220,6 @@ public:
   inkcoreapi virtual int marshal_proxy_req_header_len(char *);  // INT
   inkcoreapi virtual int marshal_proxy_req_squid_len(char *);   // INT
   inkcoreapi virtual int marshal_proxy_req_content_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
diff --git a/proxy/logging/LogAccessHttp.cc b/proxy/logging/LogAccessHttp.cc
index e292c39..6c52117 100644
--- a/proxy/logging/LogAccessHttp.cc
+++ b/proxy/logging/LogAccessHttp.cc
@@ -1085,23 +1085,6 @@ LogAccessHttp::marshal_proxy_req_squid_len(char *buf)
   return INK_MIN_ALIGN;
 }
 
-int
-LogAccessHttp::marshal_proxy_req_server_name(char *buf)
-{
-  char *str = nullptr;
-  int len   = INK_MIN_ALIGN;
-
-  if (m_http_sm->t_state.current.server) {
-    str = m_http_sm->t_state.current.server->name;
-    len = LogAccess::strlen(str);
-  }
-
-  if (buf) {
-    marshal_str(buf, str, len);
-  }
-  return len;
-}
-
 // TODO: Change marshalling code to support both IPv4 and IPv6 addresses.
 int
 LogAccessHttp::marshal_proxy_req_server_ip(char *buf)
diff --git a/proxy/logging/LogAccessHttp.h b/proxy/logging/LogAccessHttp.h
index 18e16b6..bc1b84d 100644
--- a/proxy/logging/LogAccessHttp.h
+++ b/proxy/logging/LogAccessHttp.h
@@ -105,7 +105,6 @@ public:
   int marshal_proxy_req_header_len(char *) override;  // INT
   int marshal_proxy_req_content_len(char *) override; // INT
   int marshal_proxy_req_squid_len(char *) override;   // INT
-  int marshal_proxy_req_server_name(char *) override; // STR
   int marshal_proxy_req_server_ip(char *) override;   // INT
   int marshal_proxy_req_server_port(char *) override; // INT
   int marshal_proxy_hierarchy_route(char *) override; // INT
diff --git a/src/traffic_logstats/logstats.cc b/src/traffic_logstats/logstats.cc
index 76bacdf..bae5ef1 100644
--- a/src/traffic_logstats/logstats.cc
+++ b/src/traffic_logstats/logstats.cc
@@ -1279,7 +1279,7 @@ parse_log_buff(LogBufferHeader *buf_header, bool summary = false, bool aggregate
 
   // Validate the fieldlist
   field                                = fieldlist->first();
-  const std::string_view test_fields[] = {"cqtq", "ttms", "chi", "crc", "pssc", "psql", "cqhm", "cquc", "caun", "phr", "pqsn"};
+  const std::string_view test_fields[] = {"cqtq", "ttms", "chi", "crc", "pssc", "psql", "cqhm", "cquc", "caun", "phr", "shn"};
   for (auto i : test_fields) {
     if (i != field->symbol()) {
       cerr << "Error parsing log file - expected field: " << i << ", but read field: " << field->symbol() << endl;
diff --git a/src/traffic_logstats/tests/logstats.blog b/src/traffic_logstats/tests/logstats.blog
index 229c1d2..72c09f7 100644
Binary files a/src/traffic_logstats/tests/logstats.blog and b/src/traffic_logstats/tests/logstats.blog differ
diff --git a/src/traffic_logstats/tests/logstats.json b/src/traffic_logstats/tests/logstats.json
index e45b2b1..a72cfab 100644
--- a/src/traffic_logstats/tests/logstats.json
+++ b/src/traffic_logstats/tests/logstats.json
@@ -1,31 +1,31 @@
 { "total": {
-    "hit.direct" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "hit.ram" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "hit.direct" : { "req": "19", "req_pct": "47.50", "bytes": "9216303", "bytes_pct": "64.52" },
+    "hit.ram" : { "req": "8", "req_pct": "20.00", "bytes": "1486946", "bytes_pct": "10.41" },
     "hit.ims" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "hit.refresh" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "hit.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "hit.total" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "miss.direct" : { "req": "56", "req_pct": "83.58", "bytes": "5874019", "bytes_pct": "88.98" },
+    "hit.total" : { "req": "27", "req_pct": "67.50", "bytes": "10703249", "bytes_pct": "74.93" },
+    "miss.direct" : { "req": "13", "req_pct": "32.50", "bytes": "3580971", "bytes_pct": "25.07" },
     "miss.ims" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "miss.refresh" : { "req": "10", "req_pct": "14.93", "bytes": "727203", "bytes_pct": "11.02" },
+    "miss.refresh" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "miss.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "miss.total" : { "req": "66", "req_pct": "98.51", "bytes": "6601222", "bytes_pct": "100.00" },
-    "error.client_abort" : { "req": "1", "req_pct": "1.49", "bytes": "0", "bytes_pct": "0.00" },
+    "miss.total" : { "req": "13", "req_pct": "32.50", "bytes": "3580971", "bytes_pct": "25.07" },
+    "error.client_abort" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "error.client_read_error" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "error.connect_failed" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "error.invalid_request" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "error.unknown" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "error.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "error.total" : { "req": "1", "req_pct": "1.49", "bytes": "0", "bytes_pct": "0.00" },
+    "error.total" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "status.100" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "status.200" : { "req": "66", "req_pct": "98.51", "bytes": "6601222", "bytes_pct": "100.00" },
+    "status.200" : { "req": "40", "req_pct": "100.00", "bytes": "14284220", "bytes_pct": "100.00" },
     "status.201" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "status.202" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "status.203" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "status.204" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "status.205" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "status.206" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "status.2xx" : { "req": "66", "req_pct": "98.51", "bytes": "6601222", "bytes_pct": "100.00" },
+    "status.2xx" : { "req": "40", "req_pct": "100.00", "bytes": "14284220", "bytes_pct": "100.00" },
     "status.300" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "status.301" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "status.302" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
@@ -60,16 +60,142 @@
     "status.504" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "status.505" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "status.5xx" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "status.000" : { "req": "1", "req_pct": "1.49", "bytes": "0", "bytes_pct": "0.00" },
-    "hier.none" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "hier.direct" : { "req": "66", "req_pct": "98.51", "bytes": "6601222", "bytes_pct": "100.00" },
+    "status.000" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "hier.none" : { "req": "27", "req_pct": "67.50", "bytes": "10703249", "bytes_pct": "74.93" },
+    "hier.direct" : { "req": "13", "req_pct": "32.50", "bytes": "3580971", "bytes_pct": "25.07" },
     "hier.sibling" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "hier.parent" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "hier.empty" : { "req": "1", "req_pct": "1.49", "bytes": "0", "bytes_pct": "0.00" },
+    "hier.empty" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "hier.invalid" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "hier.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "method.options" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "method.get" : { "req": "67", "req_pct": "100.00", "bytes": "6601222", "bytes_pct": "100.00" },
+    "method.get" : { "req": "36", "req_pct": "90.00", "bytes": "14270996", "bytes_pct": "99.91" },
+    "method.head" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "method.post" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "method.put" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "method.delete" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "method.trace" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "method.connect" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "method.purge" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "method.none" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "method.other" : { "req": "4", "req_pct": "10.00", "bytes": "13224", "bytes_pct": "0.09" },
+    "scheme.http" : { "req": "36", "req_pct": "90.00", "bytes": "14270996", "bytes_pct": "99.91" },
+    "scheme.https" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "scheme.none" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "scheme.other" : { "req": "4", "req_pct": "10.00", "bytes": "13224", "bytes_pct": "0.09" },
+    "proto.ipv4" : { "req": "40", "req_pct": "100.00", "bytes": "14284220", "bytes_pct": "100.00" },
+    "proto.ipv6" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.text.javascript" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.text.css" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.text.html" : { "req": "8", "req_pct": "20.00", "bytes": "60696", "bytes_pct": "0.42" },
+    "content.text.xml" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.text.plain" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.text.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.text.total" : { "req": "8", "req_pct": "20.00", "bytes": "60696", "bytes_pct": "0.42" },
+    "content.image.jpeg" : { "req": "20", "req_pct": "50.00", "bytes": "1772300", "bytes_pct": "12.41" },
+    "content.image.gif" : { "req": "8", "req_pct": "20.00", "bytes": "12438000", "bytes_pct": "87.08" },
+    "content.image.png" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.image.bmp" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.image.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.image.total" : { "req": "28", "req_pct": "70.00", "bytes": "14210300", "bytes_pct": "99.48" },
+    "content.audio.x-wav" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.audio.x-mpeg" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.audio.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.audio.total" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.application.shockwave" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.application.javascript" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.application.quicktime" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.application.zip" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.application.rss_xml" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.application.rss_atom" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.application.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.application.total" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.none" : { "req": "4", "req_pct": "10.00", "bytes": "13224", "bytes_pct": "0.09" },
+    "content.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "hit.direct.latency" : { "min": "2", "max": "269", "avg": "59.16", "dev": "88.68" },
+    "hit.ram.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
+    "hit.ims.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
+    "hit.refresh.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
+    "hit.other.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
+    "hit.total.latency" : { "min": "2", "max": "269", "avg": "61.69", "dev": "89.72" },
+    "miss.direct.latency" : { "min": "72", "max": "344", "avg": "206.77", "dev": "90.67" },
+    "miss.ims.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
+    "miss.refresh.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
+    "miss.other.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
+    "miss.total.latency" : { "min": "72", "max": "344", "avg": "206.77", "dev": "90.67" },
+  },
+  "i.imgur.com": {
+    "hit.direct" : { "req": "19", "req_pct": "52.78", "bytes": "9216303", "bytes_pct": "64.58" },
+    "hit.ram" : { "req": "8", "req_pct": "22.22", "bytes": "1486946", "bytes_pct": "10.42" },
+    "hit.ims" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "hit.refresh" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "hit.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "hit.total" : { "req": "27", "req_pct": "75.00", "bytes": "10703249", "bytes_pct": "75.00" },
+    "miss.direct" : { "req": "9", "req_pct": "25.00", "bytes": "3567747", "bytes_pct": "25.00" },
+    "miss.ims" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "miss.refresh" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "miss.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "miss.total" : { "req": "9", "req_pct": "25.00", "bytes": "3567747", "bytes_pct": "25.00" },
+    "error.client_abort" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "error.client_read_error" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "error.connect_failed" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "error.invalid_request" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "error.unknown" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "error.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "error.total" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.100" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.200" : { "req": "36", "req_pct": "100.00", "bytes": "14270996", "bytes_pct": "100.00" },
+    "status.201" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.202" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.203" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.204" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.205" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.206" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.2xx" : { "req": "36", "req_pct": "100.00", "bytes": "14270996", "bytes_pct": "100.00" },
+    "status.300" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.301" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.302" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.303" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.304" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.305" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.307" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.3xx" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.400" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.401" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.402" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.403" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.404" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.405" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.406" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.407" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.408" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.409" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.410" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.411" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.412" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.413" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.414" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.415" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.416" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.417" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.4xx" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.500" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.501" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.502" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.503" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.504" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.505" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.5xx" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "status.000" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "hier.none" : { "req": "27", "req_pct": "75.00", "bytes": "10703249", "bytes_pct": "75.00" },
+    "hier.direct" : { "req": "9", "req_pct": "25.00", "bytes": "3567747", "bytes_pct": "25.00" },
+    "hier.sibling" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "hier.parent" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "hier.empty" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "hier.invalid" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "hier.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "method.options" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "method.get" : { "req": "36", "req_pct": "100.00", "bytes": "14270996", "bytes_pct": "100.00" },
     "method.head" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "method.post" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "method.put" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
@@ -79,25 +205,25 @@
     "method.purge" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "method.none" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "method.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "scheme.http" : { "req": "67", "req_pct": "100.00", "bytes": "6601222", "bytes_pct": "100.00" },
+    "scheme.http" : { "req": "36", "req_pct": "100.00", "bytes": "14270996", "bytes_pct": "100.00" },
     "scheme.https" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "scheme.none" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "scheme.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "proto.ipv4" : { "req": "67", "req_pct": "100.00", "bytes": "6601222", "bytes_pct": "100.00" },
+    "proto.ipv4" : { "req": "36", "req_pct": "100.00", "bytes": "14270996", "bytes_pct": "100.00" },
     "proto.ipv6" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.text.javascript" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.text.css" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "content.text.html" : { "req": "49", "req_pct": "73.13", "bytes": "4329503", "bytes_pct": "65.59" },
+    "content.text.html" : { "req": "8", "req_pct": "22.22", "bytes": "60696", "bytes_pct": "0.43" },
     "content.text.xml" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.text.plain" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.text.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "content.text.total" : { "req": "49", "req_pct": "73.13", "bytes": "4329503", "bytes_pct": "65.59" },
-    "content.image.jpeg" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "content.image.gif" : { "req": "1", "req_pct": "1.49", "bytes": "2662", "bytes_pct": "0.04" },
+    "content.text.total" : { "req": "8", "req_pct": "22.22", "bytes": "60696", "bytes_pct": "0.43" },
+    "content.image.jpeg" : { "req": "20", "req_pct": "55.56", "bytes": "1772300", "bytes_pct": "12.42" },
+    "content.image.gif" : { "req": "8", "req_pct": "22.22", "bytes": "12438000", "bytes_pct": "87.16" },
     "content.image.png" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.image.bmp" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "content.image.other" : { "req": "1", "req_pct": "1.49", "bytes": "1468", "bytes_pct": "0.02" },
-    "content.image.total" : { "req": "2", "req_pct": "2.99", "bytes": "4130", "bytes_pct": "0.06" },
+    "content.image.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.image.total" : { "req": "28", "req_pct": "77.78", "bytes": "14210300", "bytes_pct": "99.57" },
     "content.audio.x-wav" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.audio.x-mpeg" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.audio.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
@@ -108,50 +234,50 @@
     "content.application.zip" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.application.rss_xml" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.application.rss_atom" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "content.application.other" : { "req": "15", "req_pct": "22.39", "bytes": "2267589", "bytes_pct": "34.35" },
-    "content.application.total" : { "req": "15", "req_pct": "22.39", "bytes": "2267589", "bytes_pct": "34.35" },
-    "content.none" : { "req": "1", "req_pct": "1.49", "bytes": "0", "bytes_pct": "0.00" },
+    "content.application.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.application.total" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.none" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "hit.direct.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
+    "hit.direct.latency" : { "min": "2", "max": "269", "avg": "59.16", "dev": "88.68" },
     "hit.ram.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
     "hit.ims.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
     "hit.refresh.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
     "hit.other.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
-    "hit.total.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
-    "miss.direct.latency" : { "min": "88", "max": "1059", "avg": "449.64", "dev": "199.97" },
+    "hit.total.latency" : { "min": "2", "max": "269", "avg": "61.69", "dev": "89.72" },
+    "miss.direct.latency" : { "min": "72", "max": "344", "avg": "175.44", "dev": "89.76" },
     "miss.ims.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
-    "miss.refresh.latency" : { "min": "168", "max": "491", "avg": "278.80", "dev": "117.47" },
+    "miss.refresh.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
     "miss.other.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
-    "miss.total.latency" : { "min": "88", "max": "1059", "avg": "423.76", "dev": "199.43" },
+    "miss.total.latency" : { "min": "72", "max": "344", "avg": "175.44", "dev": "89.76" },
   },
-  "imgur.com": {
+  "i.imgur.com:443": {
     "hit.direct" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "hit.ram" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "hit.ims" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "hit.refresh" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "hit.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "hit.total" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "miss.direct" : { "req": "56", "req_pct": "83.58", "bytes": "5874019", "bytes_pct": "88.98" },
+    "miss.direct" : { "req": "4", "req_pct": "100.00", "bytes": "13224", "bytes_pct": "100.00" },
     "miss.ims" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "miss.refresh" : { "req": "10", "req_pct": "14.93", "bytes": "727203", "bytes_pct": "11.02" },
+    "miss.refresh" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "miss.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "miss.total" : { "req": "66", "req_pct": "98.51", "bytes": "6601222", "bytes_pct": "100.00" },
-    "error.client_abort" : { "req": "1", "req_pct": "1.49", "bytes": "0", "bytes_pct": "0.00" },
+    "miss.total" : { "req": "4", "req_pct": "100.00", "bytes": "13224", "bytes_pct": "100.00" },
+    "error.client_abort" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "error.client_read_error" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "error.connect_failed" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "error.invalid_request" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "error.unknown" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "error.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "error.total" : { "req": "1", "req_pct": "1.49", "bytes": "0", "bytes_pct": "0.00" },
+    "error.total" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "status.100" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "status.200" : { "req": "66", "req_pct": "98.51", "bytes": "6601222", "bytes_pct": "100.00" },
+    "status.200" : { "req": "4", "req_pct": "100.00", "bytes": "13224", "bytes_pct": "100.00" },
     "status.201" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "status.202" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "status.203" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "status.204" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "status.205" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "status.206" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "status.2xx" : { "req": "66", "req_pct": "98.51", "bytes": "6601222", "bytes_pct": "100.00" },
+    "status.2xx" : { "req": "4", "req_pct": "100.00", "bytes": "13224", "bytes_pct": "100.00" },
     "status.300" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "status.301" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "status.302" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
@@ -186,16 +312,16 @@
     "status.504" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "status.505" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "status.5xx" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "status.000" : { "req": "1", "req_pct": "1.49", "bytes": "0", "bytes_pct": "0.00" },
+    "status.000" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "hier.none" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "hier.direct" : { "req": "66", "req_pct": "98.51", "bytes": "6601222", "bytes_pct": "100.00" },
+    "hier.direct" : { "req": "4", "req_pct": "100.00", "bytes": "13224", "bytes_pct": "100.00" },
     "hier.sibling" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "hier.parent" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "hier.empty" : { "req": "1", "req_pct": "1.49", "bytes": "0", "bytes_pct": "0.00" },
+    "hier.empty" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "hier.invalid" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "hier.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "method.options" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "method.get" : { "req": "67", "req_pct": "100.00", "bytes": "6601222", "bytes_pct": "100.00" },
+    "method.get" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "method.head" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "method.post" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "method.put" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
@@ -204,26 +330,26 @@
     "method.connect" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "method.purge" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "method.none" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "method.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "scheme.http" : { "req": "67", "req_pct": "100.00", "bytes": "6601222", "bytes_pct": "100.00" },
+    "method.other" : { "req": "4", "req_pct": "100.00", "bytes": "13224", "bytes_pct": "100.00" },
+    "scheme.http" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "scheme.https" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "scheme.none" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "scheme.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "proto.ipv4" : { "req": "67", "req_pct": "100.00", "bytes": "6601222", "bytes_pct": "100.00" },
+    "scheme.other" : { "req": "4", "req_pct": "100.00", "bytes": "13224", "bytes_pct": "100.00" },
+    "proto.ipv4" : { "req": "4", "req_pct": "100.00", "bytes": "13224", "bytes_pct": "100.00" },
     "proto.ipv6" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.text.javascript" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.text.css" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "content.text.html" : { "req": "49", "req_pct": "73.13", "bytes": "4329503", "bytes_pct": "65.59" },
+    "content.text.html" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.text.xml" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.text.plain" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.text.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "content.text.total" : { "req": "49", "req_pct": "73.13", "bytes": "4329503", "bytes_pct": "65.59" },
+    "content.text.total" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.image.jpeg" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "content.image.gif" : { "req": "1", "req_pct": "1.49", "bytes": "2662", "bytes_pct": "0.04" },
+    "content.image.gif" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.image.png" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.image.bmp" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "content.image.other" : { "req": "1", "req_pct": "1.49", "bytes": "1468", "bytes_pct": "0.02" },
-    "content.image.total" : { "req": "2", "req_pct": "2.99", "bytes": "4130", "bytes_pct": "0.06" },
+    "content.image.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.image.total" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.audio.x-wav" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.audio.x-mpeg" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.audio.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
@@ -234,9 +360,9 @@
     "content.application.zip" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.application.rss_xml" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "content.application.rss_atom" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
-    "content.application.other" : { "req": "15", "req_pct": "22.39", "bytes": "2267589", "bytes_pct": "34.35" },
-    "content.application.total" : { "req": "15", "req_pct": "22.39", "bytes": "2267589", "bytes_pct": "34.35" },
-    "content.none" : { "req": "1", "req_pct": "1.49", "bytes": "0", "bytes_pct": "0.00" },
+    "content.application.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.application.total" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
+    "content.none" : { "req": "4", "req_pct": "100.00", "bytes": "13224", "bytes_pct": "100.00" },
     "content.other" : { "req": "0", "req_pct": "0.00", "bytes": "0", "bytes_pct": "0.00" },
     "hit.direct.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
     "hit.ram.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
@@ -244,10 +370,10 @@
     "hit.refresh.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
     "hit.other.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
     "hit.total.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
-    "miss.direct.latency" : { "min": "88", "max": "1059", "avg": "449.64", "dev": "199.97" },
+    "miss.direct.latency" : { "min": "225", "max": "320", "avg": "277.25", "dev": "37.62" },
     "miss.ims.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
-    "miss.refresh.latency" : { "min": "168", "max": "491", "avg": "278.80", "dev": "117.47" },
+    "miss.refresh.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
     "miss.other.latency" : { "min": "-1", "max": "0", "avg": "0.00", "dev": "0.00" },
-    "miss.total.latency" : { "min": "88", "max": "1059", "avg": "423.76", "dev": "199.43" },
+    "miss.total.latency" : { "min": "225", "max": "320", "avg": "277.25", "dev": "37.62" },
   }
 }
diff --git a/src/traffic_logstats/tests/logstats.summary b/src/traffic_logstats/tests/logstats.summary
index 093c3ea..ee82aa3 100644
--- a/src/traffic_logstats/tests/logstats.summary
+++ b/src/traffic_logstats/tests/logstats.summary
@@ -2,41 +2,41 @@
 
 Request Result                         Count    Percent       Bytes    Percent
 ------------------------------------------------------------------------------
-Cache hit                                  0      0.00%      0.00KB      0.00%
-Cache hit RAM                              0      0.00%      0.00KB      0.00%
+Cache hit                                 19     47.50%      8.79MB     64.52%
+Cache hit RAM                              8     20.00%      1.42MB     10.41%
 Cache hit IMS                              0      0.00%      0.00KB      0.00%
 Cache hit refresh                          0      0.00%      0.00KB      0.00%
 Cache hit other                            0      0.00%      0.00KB      0.00%
-Cache hit total                            0      0.00%      0.00KB      0.00%
+Cache hit total                           27     67.50%     10.21MB     74.93%
 
-Cache miss                                56     83.58%      5.60MB     88.98%
+Cache miss                                13     32.50%      3.42MB     25.07%
 Cache miss IMS                             0      0.00%      0.00KB      0.00%
-Cache miss refresh                        10     14.93%    710.16KB     11.02%
+Cache miss refresh                         0      0.00%      0.00KB      0.00%
 Cache miss other                           0      0.00%      0.00KB      0.00%
-Cache miss total                          66     98.51%      6.30MB    100.00%
+Cache miss total                          13     32.50%      3.42MB     25.07%
 
-Client aborted                             1      1.49%      0.00KB      0.00%
+Client aborted                             0      0.00%      0.00KB      0.00%
 Client read error                          0      0.00%      0.00KB      0.00%
 Connect failed                             0      0.00%      0.00KB      0.00%
 Invalid request                            0      0.00%      0.00KB      0.00%
 Unknown error(99)                          0      0.00%      0.00KB      0.00%
 Other errors                               0      0.00%      0.00KB      0.00%
-Errors total                               1      1.49%      0.00KB      0.00%
+Errors total                               0      0.00%      0.00KB      0.00%
 ..............................................................................
-Total requests                            67    100.00%      6.30MB    100.00%
+Total requests                            40    100.00%     13.62MB    100.00%
 
 
 HTTP return codes                      Count    Percent       Bytes    Percent
 ------------------------------------------------------------------------------
 100 Continue                               0      0.00%      0.00KB      0.00%
-200 OK                                    66     98.51%      6.30MB    100.00%
+200 OK                                    40    100.00%     13.62MB    100.00%
 201 Created                                0      0.00%      0.00KB      0.00%
 202 Accepted                               0      0.00%      0.00KB      0.00%
 203 Non-Authoritative Info                 0      0.00%      0.00KB      0.00%
 204 No content                             0      0.00%      0.00KB      0.00%
 205 Reset Content                          0      0.00%      0.00KB      0.00%
 206 Partial content                        0      0.00%      0.00KB      0.00%
-2xx Total                                 66     98.51%      6.30MB    100.00%
+2xx Total                                 40    100.00%     13.62MB    100.00%
 
 300 Multiple Choices                       0      0.00%      0.00KB      0.00%
 301 Moved permanently                      0      0.00%      0.00KB      0.00%
@@ -75,16 +75,16 @@ HTTP return codes                      Count    Percent       Bytes    Percent
 505 HTTP Ver. Not Supported                0      0.00%      0.00KB      0.00%
 5xx Total                                  0      0.00%      0.00KB      0.00%
 
-000 Unknown                                1      1.49%      0.00KB      0.00%
+000 Unknown                                0      0.00%      0.00KB      0.00%
 
 
 Origin hierarchies                     Count    Percent       Bytes    Percent
 ------------------------------------------------------------------------------
-NONE                                       0      0.00%      0.00KB      0.00%
-DIRECT                                    66     98.51%      6.30MB    100.00%
+NONE                                      27     67.50%     10.21MB     74.93%
+DIRECT                                    13     32.50%      3.42MB     25.07%
 SIBLING                                    0      0.00%      0.00KB      0.00%
 PARENT                                     0      0.00%      0.00KB      0.00%
-EMPTY                                      1      1.49%      0.00KB      0.00%
+EMPTY                                      0      0.00%      0.00KB      0.00%
 invalid                                    0      0.00%      0.00KB      0.00%
 other                                      0      0.00%      0.00KB      0.00%
 
@@ -92,7 +92,7 @@ other                                      0      0.00%      0.00KB      0.00%
 HTTP Methods                           Count    Percent       Bytes    Percent
 ------------------------------------------------------------------------------
 OPTIONS                                    0      0.00%      0.00KB      0.00%
-GET                                       67    100.00%      6.30MB    100.00%
+GET                                       36     90.00%     13.61MB     99.91%
 HEAD                                       0      0.00%      0.00KB      0.00%
 POST                                       0      0.00%      0.00KB      0.00%
 PUT                                        0      0.00%      0.00KB      0.00%
@@ -101,20 +101,20 @@ TRACE                                      0      0.00%      0.00KB      0.00%
 CONNECT                                    0      0.00%      0.00KB      0.00%
 PURGE                                      0      0.00%      0.00KB      0.00%
 none (-)                                   0      0.00%      0.00KB      0.00%
-other                                      0      0.00%      0.00KB      0.00%
+other                                      4     10.00%     12.91KB      0.09%
 
 
 URL Schemes                            Count    Percent       Bytes    Percent
 ------------------------------------------------------------------------------
-HTTP (port 80)                            67    100.00%      6.30MB    100.00%
+HTTP (port 80)                            36     90.00%     13.61MB     99.91%
 HTTPS (port 443)                           0      0.00%      0.00KB      0.00%
 none                                       0      0.00%      0.00KB      0.00%
-other                                      0      0.00%      0.00KB      0.00%
+other                                      4     10.00%     12.91KB      0.09%
 
 
 Protocols                              Count    Percent       Bytes    Percent
 ------------------------------------------------------------------------------
-IPv4                                      67    100.00%      6.30MB    100.00%
+IPv4                                      40    100.00%     13.62MB    100.00%
 IPv6                                       0      0.00%      0.00KB      0.00%
 
 
@@ -122,18 +122,18 @@ Content Types                          Count    Percent       Bytes    Percent
 ------------------------------------------------------------------------------
 text/javascript                            0      0.00%      0.00KB      0.00%
 text/css                                   0      0.00%      0.00KB      0.00%
-text/html                                 49     73.13%      4.13MB     65.59%
+text/html                                  8     20.00%     59.27KB      0.42%
 text/xml                                   0      0.00%      0.00KB      0.00%
 text/plain                                 0      0.00%      0.00KB      0.00%
 text/ other                                0      0.00%      0.00KB      0.00%
-text/ total                               49     73.13%      4.13MB     65.59%
+text/ total                                8     20.00%     59.27KB      0.42%
 
-image/jpeg                                 0      0.00%      0.00KB      0.00%
-image/gif                                  1      1.49%      2.60KB      0.04%
+image/jpeg                                20     50.00%      1.69MB     12.41%
+image/gif                                  8     20.00%     11.86MB     87.08%
 image/png                                  0      0.00%      0.00KB      0.00%
 image/bmp                                  0      0.00%      0.00KB      0.00%
-image/ other                               1      1.49%      1.43KB      0.02%
-image/ total                               2      2.99%      4.03KB      0.06%
+image/ other                               0      0.00%      0.00KB      0.00%
+image/ total                              28     70.00%     13.55MB     99.48%
 
 audio/x-wav                                0      0.00%      0.00KB      0.00%
 audio/x-mpeg                               0      0.00%      0.00KB      0.00%
@@ -146,26 +146,26 @@ application/x-quicktime                    0      0.00%      0.00KB      0.00%
 application/zip                            0      0.00%      0.00KB      0.00%
 application/rss+xml                        0      0.00%      0.00KB      0.00%
 application/rss+atom                       0      0.00%      0.00KB      0.00%
-application/ other                        15     22.39%      2.16MB     34.35%
-application/ total                        15     22.39%      2.16MB     34.35%
+application/ other                         0      0.00%      0.00KB      0.00%
+application/ total                         0      0.00%      0.00KB      0.00%
 
-none                                       1      1.49%      0.00KB      0.00%
+none                                       4     10.00%     12.91KB      0.09%
 other                                      0      0.00%      0.00KB      0.00%
 
 
 Elapsed time stats          Min          Max              Avg    Std Deviation
 ------------------------------------------------------------------------------
-Cache hit                     0            0             0.00             0.00
+Cache hit                     2          269            59.16            88.68
 Cache hit RAM                 0            0             0.00             0.00
 Cache hit IMS                 0            0             0.00             0.00
 Cache hit refresh             0            0             0.00             0.00
 Cache hit other               0            0             0.00             0.00
-Cache hit total               0            0             0.00             0.00
-Cache miss                   88        1,059           449.64           199.97
+Cache hit total               2          269            61.69            89.72
+Cache miss                   72          344           206.77            90.67
 Cache miss IMS                0            0             0.00             0.00
-Cache miss refresh          168          491           278.80           117.47
+Cache miss refresh            0            0             0.00             0.00
 Cache miss other              0            0             0.00             0.00
-Cache miss total             88        1,059           423.76           199.43
+Cache miss total             72          344           206.77            90.67
 
 ______________________________________________________________________________
 
diff --git a/src/traffic_logstats/tests/test_urls.txt b/src/traffic_logstats/tests/test_urls.txt
new file mode 100644
index 0000000..aa4afd6
--- /dev/null
+++ b/src/traffic_logstats/tests/test_urls.txt
@@ -0,0 +1,10 @@
+http://i.imgur.com/JJj0Zlx.jpg
+http://i.imgur.com/LIEpjAp.jpg
+http://i.imgur.com/5woimoe.jpg
+http://i.imgur.com/eEvBk3K.gif
+http://i.imgur.com/h37xOlf.jpg
+http://i.imgur.com/hTmSGSE.jpg
+https://i.imgur.com
+http://i.imgur.com/nJnD26r.gifv
+http://i.imgur.com/DIkQDDM.gif
+http://i.imgur.com/2BgrKSD.gifv


Mime
View raw message