You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2018/05/07 10:10:08 UTC

[trafficserver] 01/03: Removes a number of proxy.node metrics

This is an automated email from the ASF dual-hosted git repository.

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

commit 1f874b25ebf26b9005b97b1670a4231a22e30dd9
Author: Leif Hedstrom <zw...@apache.org>
AuthorDate: Thu May 3 11:57:54 2018 -0600

    Removes a number of proxy.node metrics
    
    This is step one towards possibly eliminating metrics.config
    entirely. This patch removes all metrics that are either not
    that useful (the 10s / avg metrics), and those which are purely
    duplicating the proxy.process metric.
---
 doc/admin-guide/files/metrics.config.en.rst        |  119 --
 doc/admin-guide/monitoring/alarms.en.rst           |    6 +-
 .../monitoring/statistics/core/bandwidth.en.rst    |   30 -
 .../monitoring/statistics/core/cache.en.rst        |   56 -
 .../monitoring/statistics/core/dns.en.rst          |   19 -
 .../monitoring/statistics/core/general.en.rst      |    3 -
 .../monitoring/statistics/core/hierarchical.en.rst |    3 -
 .../monitoring/statistics/core/hostdb.en.rst       |   34 -
 .../statistics/core/http-connection.en.rst         |   19 -
 .../statistics/core/http-transaction.en.rst        |  139 ---
 .../monitoring/statistics/core/log.en.rst          |  110 --
 .../monitoring/statistics/core/origin.en.rst       |   10 -
 .../monitoring/statistics/core/bandwidth.en.po     |   29 -
 .../monitoring/statistics/core/cache.en.po         |   28 -
 mgmt/api/APITestCliRemote.cc                       |   34 +-
 plugins/experimental/epic/epic.cc                  |   86 --
 proxy/config/metrics.config.default                | 1141 +-------------------
 17 files changed, 8 insertions(+), 1858 deletions(-)

diff --git a/doc/admin-guide/files/metrics.config.en.rst b/doc/admin-guide/files/metrics.config.en.rst
index c189023..b90a0b1 100644
--- a/doc/admin-guide/files/metrics.config.en.rst
+++ b/doc/admin-guide/files/metrics.config.en.rst
@@ -103,53 +103,6 @@ including the current node. (Note that these names are contrived, and you are
 advised to both pick as clear and detailed a metric name as possible and also
 to ensure there is no conflict with existing metric names).
 
-Support Functions
------------------
-
-Several supporting functions are defined in the default configuration file.
-Existing dynamic metrics shipped with :file:`metrics.config` make extensive use
-of these functions, and your own custom metrics may as necessary, too.
-
-cluster(name)
-~~~~~~~~~~~~~
-
-Returns the sum of metric ``name`` for the entire cluster of which the current
-node is a member. Memoization is used to avoid additional cost from calling
-this function multiple times within a single metrics pass. The ``name`` must be
-a metric within the node scope.
-
-mbits(bytes)
-~~~~~~~~~~~~
-
-Converts and returns ``bytes`` as megabits (``bytes * 8 / 1000000``).
-
-mbytes(bytes)
-~~~~~~~~~~~~~
-
-Converts and returns ``bytes`` as mebibytes (``bytes / (1024 * 1024)``).
-
-now()
-~~~~~
-
-Returns the current node's time in milliseconds-from-epoch.
-
-rate_of(msec, key, fn)
-~~~~~~~~~~~~~~~~~~~~~~
-
-Returns the rate of change over a period of ``msec`` milliseconds for the
-metric value of ``key`` (obtained by invoking the function ``fn``).
-
-This is accomplished by effectively snapshotting the value of the metric at the
-beginning and end of the given period expressed by ``msec``, multiplying their
-difference by 1,000 and dividing that by ``msec``.
-
-rate_of_10s(key, fn)
-~~~~~~~~~~~~~~~~~~~~
-
-Returns the rate of change for the past 10 seconds for the metric ``key``, as
-calculated by function ``fn``. This function simply wraps ``rate_of`` and
-supplies an ``msec`` value of ``10 * 1000``.
-
 Definition Examples
 -------------------
 
@@ -176,64 +129,6 @@ the value. In this case, the function body is just a ``return`` of the named,
 underlying process statistic. No calculations, aggregates, or other processing
 are performed.
 
-Returning a rate-of-change
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Slightly more involved than just returning a point-in-time value from a given
-statistic is calculating the rate of change:
-
-.. code:: lua
-
-    integer 'proxy.node.dns.lookups_per_second' [[
-      local self = ...
-
-      return rate_of_10s(self,
-        function() return proxy.process.dns.total_dns_lookups end
-      )
-    ]]
-
-Similar to the previous example, we are returning another metric's value, but
-in this case we do so within a function that we're passing into
-``rate_of_10s``. This function, explained earlier, wraps ``rate_of`` which
-tracks the given metric over a specific interval and returns the average
-per-second rate of change, obtaining the values it uses to calculate this rate
-by invoking the function passed to it.
-
-Calculating a rate-of-change's delta
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-A more complicated example involves calculating the variance in the rate of
-change of an underlying statistic over a given period of time. This is not an
-average of a statistic, nor is it just the raw delta between two samplings of
-that statistic, and while inappropriate to know *how much* of an event has
-occurred, it is useful to know how erratic or unstable the frequency of that
-event occurring is.
-
-In other words, a large absolute value indicates a deviance from the usual
-pattern of behavior/activity. For example, if your |TS| cache (using the
-example dynamic metric function below) sees between 10,000 and 10,250 HostDB
-hits every 10 seconds, the value returned by this metric will remain fairly
-small. If all of a sudden 50,000 hits make it to HostDB in the span of that
-same averaging interval, this value will increase significantly. This could
-then be used to trigger various alerts that something might be up with HostDB
-lookups on the |TS| cluster.
-
-.. code:: lua
-
-    integer 'proxy.node.hostdb.total_hits_avg_10s' [[
-      local self = ...
-
-      return interval_delta_of_10s(self,
-        function() return proxy.process.hostdb.total_hits end
-      )
-    ]]
-
-The catch is that if the dramatic increase is actually the new norm, the metric
-will return to emitting small absolute values again - even though the statistic
-underneath is now consistently and significantly higher or lower than it used
-to be. If what you are trying to measure, though, is the stability of a metric
-that's, long-term, a good thing.
-
 Converting a metric to a ratio
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -258,20 +153,6 @@ reporting states available, but we'll use these for brevity.
         )
     ]]
 
-Summing across a cluster
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-When running a |TS| cluster of multiple nodes, there are many metrics which are
-useful to see at both the node and cluster level. Dynamic metrics make it very
-easy to collect the metric's value for every node in the cluster and return the
-sum, as seen here with cache connections:
-
-.. code:: lua
-
-    counter 'proxy.cluster.http.cache_current_connections_count' [[
-      return cluster('proxy.node.http.cache_current_connections_count')
-    ]]
-
 Further Reading
 ===============
 
diff --git a/doc/admin-guide/monitoring/alarms.en.rst b/doc/admin-guide/monitoring/alarms.en.rst
index 283619b..483f1ff 100644
--- a/doc/admin-guide/monitoring/alarms.en.rst
+++ b/doc/admin-guide/monitoring/alarms.en.rst
@@ -67,8 +67,8 @@ To view a statistic, enter the following command:::
 where ``variable`` is the variable representing the information you
 want to view. For a list of variables you can specify, refer to :ref:`traffic_ctl metrics <traffic-ctl-metric>`.
 
-For example, the following command displays the document hit rate for
-the Traffic Server node:::
+For example, the following command displays the total number of completed
+HTTP requests:::
 
-     traffic_ctl metric get proxy.node.cache_hit_ratio
+     traffic_ctl metric get proxy.process.http.completed_requests
 
diff --git a/doc/admin-guide/monitoring/statistics/core/bandwidth.en.rst b/doc/admin-guide/monitoring/statistics/core/bandwidth.en.rst
index 8ec8bb5..6466926 100644
--- a/doc/admin-guide/monitoring/statistics/core/bandwidth.en.rst
+++ b/doc/admin-guide/monitoring/statistics/core/bandwidth.en.rst
@@ -22,17 +22,6 @@
 Bandwidth and Transfer
 **********************
 
-.. ts:stat:: global proxy.node.bandwidth_hit_ratio_avg_10s float
-   :type: derivative
-   :units: ratio
-
-   The difference of :ts:stat:`proxy.node.user_agent_total_bytes_avg_10s` and
-   :ts:stat:`proxy.node.origin_server_total_bytes_avg_10s`, divided by
-   :ts:stat:`proxy.node.user_agent_total_bytes_avg_10s`.
-
-   Represents the ratio of bytes served to user agents which were satisfied by
-   cache hits, over the previous 10 seconds,
-
 .. ts:stat:: global proxy.node.bandwidth_hit_ratio float
    :type: derivative
    :units: ratio
@@ -44,25 +33,6 @@ Bandwidth and Transfer
    Represents the ratio of bytes served to user agents which were satisfied by
    cache hits, since statistics collection began.
 
-.. ts:stat:: global proxy.node.client_throughput_out float
-   :type: gauge
-   :units: mbits
-
-   The value of :ts:stat:`proxy.node.http.throughput` represented in megabits.
-
-.. ts:stat:: global proxy.node.client_throughput_out_kbit integer
-   :type: gauge
-   :units: kbits
-
-   The value of :ts:stat:`proxy.node.http.throughput` represented in kilobits.
-
-.. ts:stat:: global proxy.node.http.throughput integer
-   :type: gauge
-   :units: bytes
-
-   The throughput of responses to user agents over the previous 10 seconds, in
-   bytes.
-
 .. ts:stat:: global proxy.process.http.throttled_proxy_only integer
 .. ts:stat:: global proxy.process.http.user_agent_request_document_total_size integer
    :type: counter
diff --git a/doc/admin-guide/monitoring/statistics/core/cache.en.rst b/doc/admin-guide/monitoring/statistics/core/cache.en.rst
index 7126d0a..c6b49e1 100644
--- a/doc/admin-guide/monitoring/statistics/core/cache.en.rst
+++ b/doc/admin-guide/monitoring/statistics/core/cache.en.rst
@@ -22,89 +22,33 @@
 Cache
 *****
 
-.. ts:stat:: global proxy.node.cache.bytes_free integer
-
-   The difference between :ts:stat:`proxy.process.cache.bytes_total` and
-   :ts:stat:`proxy.process.cache.bytes_used`.
-
-   Represents the amount of space allocated to the cache which is not currently
-   in use by objects.
-
-.. ts:stat:: global proxy.node.cache.bytes_free_mb integer
-
-   The value of :ts:stat:`proxy.node.cache.bytes_free` expressed in megabytes.
-
-.. ts:stat:: global proxy.node.cache.bytes_total integer
-
-   The total number of bytes allocated to the cache.
-
-.. ts:stat:: global proxy.node.cache.bytes_total_mb integer
-
-   The value of :ts:stat:`proxy.node.cache.bytes_total` expressed in megabytes.
-
 .. ts:stat:: global proxy.node.cache.contents.num_docs integer
    :ungathered:
 
    Represents the number of documents currently residing in the cache.
 
-.. ts:stat:: global proxy.node.cache_hit_mem_ratio_avg_10s float
-
-   Represents the ratio of cache lookups over the previous 10 seconds which
-   have been satisfied by the in-memory cache, thus avoiding disk cache I/O.
-
 .. ts:stat:: global proxy.node.cache_hit_mem_ratio float
 
    Represents the ratio of cache lookups which have been satisfied by the
    in-memory cache since statistics collection began.
 
-.. ts:stat:: global proxy.node.cache_hit_ratio_avg_10s float
-
-   Represents the ratio of cache lookups over the previous 10 seconds which
-   have been satisfied by either the in-memory cache or the disk cache, thus
-   avoiding revalidation or object retrieval from origin servers.
-
 .. ts:stat:: global proxy.node.cache_hit_ratio float
 
    Represents the ratio of cache lookups which have been satisfied by either the
    in-memory cache or the on-disk cache since statistics collection began.
 
-.. ts:stat:: global proxy.node.cache.percent_free float
-
-   Represents the percentage of allocated cache space which is not occupied by
-   cache objects.
-
-.. ts:stat:: global proxy.node.cache_total_hits_avg_10s float
 .. ts:stat:: global proxy.node.cache_total_hits counter
 
    Represents the total number of cache lookups which have been satisfied by
    either the in-memory cache or the on-disk cache, since statistics collection
    began.
 
-.. ts:stat:: global proxy.node.cache_total_hits_mem_avg_10s float
-.. ts:stat:: global proxy.node.cache_total_hits_mem counter
-
-   Represents the total number of cache lookups which have been satisfied by the
-   in-memory cache, since statistics collection began.
-
-.. ts:stat:: global proxy.node.cache_total_misses_avg_10s float
 .. ts:stat:: global proxy.node.cache_total_misses counter
 
    Represents the total number of cache lookups which could not be satisfied by
    either the in-memory cache or the on-disk cache, and which required origin
    server revalidation or retrieval.
 
-.. ts:stat:: global proxy.node.http.cache_current_connections_count integer
-.. ts:stat:: global proxy.node.http.cache_hit_fresh_avg_10s float
-.. ts:stat:: global proxy.node.http.cache_hit_ims_avg_10s float
-.. ts:stat:: global proxy.node.http.cache_hit_mem_fresh_avg_10s float
-.. ts:stat:: global proxy.node.http.cache_hit_revalidated_avg_10s float
-.. ts:stat:: global proxy.node.http.cache_hit_stale_served_avg_10s float
-.. ts:stat:: global proxy.node.http.cache_miss_changed_avg_10s float
-.. ts:stat:: global proxy.node.http.cache_miss_client_no_cache_avg_10s float
-.. ts:stat:: global proxy.node.http.cache_miss_cold_avg_10s float
-.. ts:stat:: global proxy.node.http.cache_miss_ims_avg_10s float
-.. ts:stat:: global proxy.node.http.cache_miss_not_cacheable_avg_10s float
-.. ts:stat:: global proxy.node.http.cache_read_error_avg_10s float
 .. ts:stat:: global proxy.process.cache.bytes_total integer
 .. ts:stat:: global proxy.process.cache.bytes_used integer
 .. ts:stat:: global proxy.process.cache.directory_collision integer
diff --git a/doc/admin-guide/monitoring/statistics/core/dns.en.rst b/doc/admin-guide/monitoring/statistics/core/dns.en.rst
index b52e560..414eb2d 100644
--- a/doc/admin-guide/monitoring/statistics/core/dns.en.rst
+++ b/doc/admin-guide/monitoring/statistics/core/dns.en.rst
@@ -22,25 +22,6 @@
 DNS
 ***
 
-.. ts:stat:: global proxy.node.dns.lookup_avg_time_ms integer
-   :type: derivative
-   :units: milliseconds
-   :ungathered:
-
-   Average number of milliseconds spent performing DNS lookups per host.
-
-.. ts:stat:: global proxy.node.dns.lookups_per_second float
-   :type: derivative
-   :ungathered:
-
-   The average number of DNS lookups performance per second.
-
-.. ts:stat:: global proxy.node.dns.total_dns_lookups integer
-   :type: counter
-   :ungathered:
-
-   Total number of DNS lookups performance since statistics collection began.
-
 .. ts:stat:: global proxy.process.dns.fail_avg_time integer
    :type: derivative
    :units: milliseconds
diff --git a/doc/admin-guide/monitoring/statistics/core/general.en.rst b/doc/admin-guide/monitoring/statistics/core/general.en.rst
index 8e43914..5d9c70f 100644
--- a/doc/admin-guide/monitoring/statistics/core/general.en.rst
+++ b/doc/admin-guide/monitoring/statistics/core/general.en.rst
@@ -68,10 +68,7 @@ General
 .. ts:stat:: global proxy.node.restarts.proxy.restart_count integer
 .. ts:stat:: global proxy.node.restarts.proxy.start_time integer
 .. ts:stat:: global proxy.node.restarts.proxy.stop_time integer
-.. ts:stat:: global proxy.node.user_agents_total_documents_served integer
-.. ts:stat:: global proxy.node.user_agent_total_bytes_avg_10s float
 .. ts:stat:: global proxy.node.user_agent_total_bytes integer
-.. ts:stat:: global proxy.node.user_agent_xacts_per_second float
 .. ts:stat:: global proxy.node.version.manager.build_date string
 .. ts:stat:: global proxy.node.version.manager.build_machine string
 .. ts:stat:: global proxy.node.version.manager.build_number integer
diff --git a/doc/admin-guide/monitoring/statistics/core/hierarchical.en.rst b/doc/admin-guide/monitoring/statistics/core/hierarchical.en.rst
index f2136f1..8df50e4 100644
--- a/doc/admin-guide/monitoring/statistics/core/hierarchical.en.rst
+++ b/doc/admin-guide/monitoring/statistics/core/hierarchical.en.rst
@@ -22,9 +22,6 @@
 Hierarchical Cache
 ******************
 
-.. ts:stat:: global proxy.node.http.current_parent_proxy_connections integer
-   :type: counter
-
 .. ts:stat:: global proxy.node.http.parent_proxy_total_request_bytes integer
    :type: counter
    :units: bytes
diff --git a/doc/admin-guide/monitoring/statistics/core/hostdb.en.rst b/doc/admin-guide/monitoring/statistics/core/hostdb.en.rst
index 47b0b9e..1249296 100644
--- a/doc/admin-guide/monitoring/statistics/core/hostdb.en.rst
+++ b/doc/admin-guide/monitoring/statistics/core/hostdb.en.rst
@@ -27,13 +27,6 @@ health checks. The statistics documented here can help to ensure that your |TS|
 instances are not spending an unreasonable amount of timing resolving your
 origin servers' hostnames prior to object revalidation or retrieval.
 
-.. ts:stat:: global proxy.node.hostdb.hit_ratio_avg_10s float
-   :type: derivative
-   :units: ratio
-
-   Represents the ratio of origin server name resolutions which were satisfied
-   by the HostDB lookup cache over the last 10 seconds.
-
 .. ts:stat:: global proxy.node.hostdb.hit_ratio float
    :type: derivative
    :units: ratio
@@ -41,33 +34,6 @@ origin servers' hostnames prior to object revalidation or retrieval.
    Represents the ratio of origin server name resolutions which were satisfied
    by the HostDB lookup cache since statistics collection began.
 
-.. ts:stat:: global proxy.node.hostdb.total_hits_avg_10s float
-   :type: derivative
-
-   Represents the number of origin server name resolutions which were satisfied
-   by the HostDB lookup cache over the last 10 seconds.
-
-.. ts:stat:: global proxy.node.hostdb.total_hits integer
-   :type: counter
-
-   Represents the total number of origin server name resolutions which were
-   satisfied by entries in the HostDB lookup cache, since statistics collection
-   began.
-
-.. ts:stat:: global proxy.node.hostdb.total_lookups_avg_10s float
-   :type: derivative
-
-   Represents the number of origin server name resolutions which were performed
-   over the last 10 seconds, regardless of whether they were satisfied by the
-   HostDB lookup cache.
-
-.. ts:stat:: global proxy.node.hostdb.total_lookups integer
-   :type: counter
-
-   Represents the total number of origin server name resolutions which have been
-   performed, since statistics collection began, regardless of whether they were
-   satisfied by the HostDB lookup cache or required DNS lookups.
-
 .. ts:stat:: global proxy.process.hostdb.bytes integer
    :type: counter
    :units: bytes
diff --git a/doc/admin-guide/monitoring/statistics/core/http-connection.en.rst b/doc/admin-guide/monitoring/statistics/core/http-connection.en.rst
index b7f7655..69df464 100644
--- a/doc/admin-guide/monitoring/statistics/core/http-connection.en.rst
+++ b/doc/admin-guide/monitoring/statistics/core/http-connection.en.rst
@@ -22,25 +22,9 @@
 HTTP Connection
 ***************
 
-.. ts:stat:: global proxy.node.current_cache_connections integer
-   :type: gauge
-   :ungathered:
-
-.. ts:stat:: global proxy.node.current_client_connections integer
-   :type: gauge
-
 .. ts:stat:: global proxy.node.current_server_connections integer
    :type: gauge
 
-.. ts:stat:: global proxy.node.http.user_agent_current_connections_count integer
-   :type: gauge
-
-.. ts:stat:: global proxy.node.http.user_agents_total_documents_served integer
-   :type: counter
-
-.. ts:stat:: global proxy.node.http.user_agents_total_transactions_count integer
-   :type: counter
-
 .. ts:stat:: global proxy.node.http.user_agent_total_request_bytes integer
    :type: counter
    :units: bytes
@@ -49,9 +33,6 @@ HTTP Connection
    :type: counter
    :units: bytes
 
-.. ts:stat:: global proxy.node.http.user_agent_xacts_per_second float
-   :type: derivative
-
 .. ts:stat:: global proxy.process.http.broken_server_connections integer
    :type: counter
 
diff --git a/doc/admin-guide/monitoring/statistics/core/http-transaction.en.rst b/doc/admin-guide/monitoring/statistics/core/http-transaction.en.rst
index 39c04fa..fd5772b 100644
--- a/doc/admin-guide/monitoring/statistics/core/http-transaction.en.rst
+++ b/doc/admin-guide/monitoring/statistics/core/http-transaction.en.rst
@@ -22,145 +22,6 @@
 HTTP Transaction
 ****************
 
-.. ts:stat:: global proxy.node.http.transaction_counts_avg_10s.errors.aborts float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_counts_avg_10s.errors.connect_failed float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_counts_avg_10s.errors.early_hangups float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_counts_avg_10s.errors.empty_hangups float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_counts_avg_10s.errors.other float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_counts_avg_10s.hit_fresh float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_counts_avg_10s.hit_revalidated float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_counts_avg_10s.miss_changed float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_counts_avg_10s.miss_cold float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_counts_avg_10s.other.unclassified float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_frac_avg_10s.errors.aborts float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_frac_avg_10s.errors.connect_failed float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_frac_avg_10s.errors.early_hangups float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_frac_avg_10s.errors.empty_hangups float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_frac_avg_10s.errors.other float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_frac_avg_10s.errors.possible_aborts float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_frac_avg_10s.errors.pre_accept_hangups float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_frac_avg_10s.hit_fresh float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_frac_avg_10s.hit_revalidated float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_frac_avg_10s.miss_changed float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_frac_avg_10s.miss_client_no_cache float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_frac_avg_10s.miss_cold float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_frac_avg_10s.miss_not_cacheable float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_frac_avg_10s.other.unclassified float
-   :type: derivative
-
-.. ts:stat:: global proxy.node.http.transaction_msec_avg_10s.errors.aborts integer
-   :type: derivative
-   :units: milliseconds
-
-.. ts:stat:: global proxy.node.http.transaction_msec_avg_10s.errors.connect_failed integer
-   :type: derivative
-   :units: milliseconds
-
-.. ts:stat:: global proxy.node.http.transaction_msec_avg_10s.errors.early_hangups integer
-   :type: derivative
-   :units: milliseconds
-
-.. ts:stat:: global proxy.node.http.transaction_msec_avg_10s.errors.empty_hangups integer
-   :type: derivative
-   :units: milliseconds
-
-.. ts:stat:: global proxy.node.http.transaction_msec_avg_10s.errors.other integer
-   :type: derivative
-   :units: milliseconds
-
-.. ts:stat:: global proxy.node.http.transaction_msec_avg_10s.errors.possible_aborts integer
-   :type: derivative
-   :units: milliseconds
-
-.. ts:stat:: global proxy.node.http.transaction_msec_avg_10s.errors.pre_accept_hangups integer
-   :type: derivative
-   :units: milliseconds
-
-.. ts:stat:: global proxy.node.http.transaction_msec_avg_10s.hit_fresh integer
-   :type: derivative
-   :units: milliseconds
-
-.. ts:stat:: global proxy.node.http.transaction_msec_avg_10s.hit_revalidated integer
-   :type: derivative
-   :units: milliseconds
-
-.. ts:stat:: global proxy.node.http.transaction_msec_avg_10s.miss_changed integer
-   :type: derivative
-   :units: milliseconds
-
-.. ts:stat:: global proxy.node.http.transaction_msec_avg_10s.miss_client_no_cache integer
-   :type: derivative
-   :units: milliseconds
-
-.. ts:stat:: global proxy.node.http.transaction_msec_avg_10s.miss_cold integer
-   :type: derivative
-   :units: milliseconds
-
-.. ts:stat:: global proxy.node.http.transaction_msec_avg_10s.miss_not_cacheable integer
-   :type: derivative
-   :units: milliseconds
-
-.. ts:stat:: global proxy.node.http.transaction_msec_avg_10s.other.unclassified integer
-   :type: derivative
-   :units: milliseconds
 
 .. ts:stat:: global proxy.process.http.avg_transactions_per_client_connection float
    :type: derivative
diff --git a/doc/admin-guide/monitoring/statistics/core/log.en.rst b/doc/admin-guide/monitoring/statistics/core/log.en.rst
index 2167acb..4e755fa 100644
--- a/doc/admin-guide/monitoring/statistics/core/log.en.rst
+++ b/doc/admin-guide/monitoring/statistics/core/log.en.rst
@@ -22,116 +22,6 @@
 Logging
 *******
 
-.. ts:stat:: global proxy.node.log.bytes_flush_to_disk integer
-   :type: counter
-   :units: bytes
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.bytes_lost_before_flush_to_disk integer
-   :type: counter
-   :units: bytes
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.bytes_lost_before_preproc integer
-   :type: counter
-   :units: bytes
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.bytes_lost_before_sent_to_network integer
-   :type: counter
-   :units: bytes
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.bytes_lost_before_written_to_disk integer
-   :type: counter
-   :units: bytes
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.bytes_received_from_network_avg_10s integer
-   :type: derivative
-   :units: bytes
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.bytes_received_from_network integer
-   :type: counter
-   :units: bytes
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.bytes_sent_to_network_avg_10s integer
-   :type: derivative
-   :units: bytes
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.bytes_sent_to_network integer
-   :type: counter
-   :units: bytes
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.bytes_written_to_disk integer
-   :type: counter
-   :units: bytes
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.event_log_access_aggr integer
-   :type: counter
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.event_log_access_fail integer
-   :type: counter
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.event_log_access_full integer
-   :type: counter
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.event_log_access_ok integer
-   :type: counter
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.event_log_access_skip integer
-   :type: counter
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.event_log_error_aggr integer
-   :type: counter
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.event_log_error_fail integer
-   :type: counter
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.event_log_error_full integer
-   :type: counter
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.event_log_error_ok integer
-   :type: counter
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.event_log_error_skip integer
-   :type: counter
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.num_flush_to_disk integer
-   :type: counter
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.num_lost_before_flush_to_disk integer
-   :type: counter
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.num_lost_before_sent_to_network integer
-   :type: counter
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.num_received_from_network integer
-   :type: counter
-   :ungathered:
-
-.. ts:stat:: global proxy.node.log.num_sent_to_network integer
-   :type: counter
-   :ungathered:
-
 .. ts:stat:: global proxy.process.log.bytes_flush_to_disk integer
    :type: counter
    :units: bytes
diff --git a/doc/admin-guide/monitoring/statistics/core/origin.en.rst b/doc/admin-guide/monitoring/statistics/core/origin.en.rst
index 0f77a3b..a3eb0fa 100644
--- a/doc/admin-guide/monitoring/statistics/core/origin.en.rst
+++ b/doc/admin-guide/monitoring/statistics/core/origin.en.rst
@@ -22,9 +22,6 @@
 Origin Server
 *************
 
-.. ts:stat:: global proxy.node.http.origin_server_current_connections_count integer
-   :type: counter
-
 .. ts:stat:: global proxy.node.http.origin_server_total_request_bytes integer
    :type: counter
    :units: bytes
@@ -33,13 +30,6 @@ Origin Server
    :type: counter
    :units: bytes
 
-.. ts:stat:: global proxy.node.http.origin_server_total_transactions_count integer
-   :type: counter
-
-.. ts:stat:: global proxy.node.origin_server_total_bytes_avg_10s float
-   :type: derivative
-   :units: bytes
-
 .. ts:stat:: global proxy.node.origin_server_total_bytes integer
    :type: counter
    :units: bytes
diff --git a/doc/locale/ja/LC_MESSAGES/admin-guide/monitoring/statistics/core/bandwidth.en.po b/doc/locale/ja/LC_MESSAGES/admin-guide/monitoring/statistics/core/bandwidth.en.po
index ed703df..0f84ad9 100644
--- a/doc/locale/ja/LC_MESSAGES/admin-guide/monitoring/statistics/core/bandwidth.en.po
+++ b/doc/locale/ja/LC_MESSAGES/admin-guide/monitoring/statistics/core/bandwidth.en.po
@@ -32,25 +32,12 @@ msgstr ""
 msgid "Bandwidth and Transfer"
 msgstr ""
 
-#: ../../admin-guide/monitoring/statistics/core/bandwidth.en.rst:29
-msgid ""
-"The difference of :ts:stat:`proxy.node.user_agent_total_bytes_avg_10s` and :"
-"ts:stat:`proxy.node.origin_server_total_bytes_avg_10s`, divided by :ts:stat:"
-"`proxy.node.user_agent_total_bytes_avg_10s`."
-msgstr ""
-
 #: ../../admin-guide/monitoring/statistics/core/bandwidth.en.rst:33
 msgid ""
 "Represents the ratio of bytes served to user agents which were satisfied by "
 "cache hits, over the previous 10 seconds,"
 msgstr ""
 
-#: ../../admin-guide/monitoring/statistics/core/bandwidth.en.rst:40
-msgid ""
-"The percentage value of :ts:stat:`proxy.node.bandwidth_hit_ratio_avg_10s` "
-"converted to an integer."
-msgstr ""
-
 #: ../../admin-guide/monitoring/statistics/core/bandwidth.en.rst:47
 msgid ""
 "The percentage vaue of :ts:stat:`proxy.node.bandwidth_hit_ratio` converted "
@@ -69,19 +56,3 @@ msgid ""
 "Represents the ratio of bytes served to user agents which were satisfied by "
 "cache hits, since statistics collection began."
 msgstr ""
-
-#: ../../admin-guide/monitoring/statistics/core/bandwidth.en.rst:65
-msgid ""
-"The value of :ts:stat:`proxy.node.http.throughput` represented in megabits."
-msgstr ""
-
-#: ../../admin-guide/monitoring/statistics/core/bandwidth.en.rst:71
-msgid ""
-"The value of :ts:stat:`proxy.node.http.throughput` represented in kilobits."
-msgstr ""
-
-#: ../../admin-guide/monitoring/statistics/core/bandwidth.en.rst:77
-msgid ""
-"The throughput of responses to user agents over the previous 10 seconds, in "
-"bytes."
-msgstr ""
diff --git a/doc/locale/ja/LC_MESSAGES/admin-guide/monitoring/statistics/core/cache.en.po b/doc/locale/ja/LC_MESSAGES/admin-guide/monitoring/statistics/core/cache.en.po
index ecf7547..b0b615c 100644
--- a/doc/locale/ja/LC_MESSAGES/admin-guide/monitoring/statistics/core/cache.en.po
+++ b/doc/locale/ja/LC_MESSAGES/admin-guide/monitoring/statistics/core/cache.en.po
@@ -44,20 +44,10 @@ msgid ""
 "currently in use by objects."
 msgstr ""
 
-#: ../../admin-guide/monitoring/statistics/core/cache.en.rst:35
-msgid ""
-"The value of :ts:stat:`proxy.node.cache.bytes_free` expressed in megabytes."
-msgstr ""
-
 #: ../../admin-guide/monitoring/statistics/core/cache.en.rst:39
 msgid "The total number of bytes allocated to the cache."
 msgstr ""
 
-#: ../../admin-guide/monitoring/statistics/core/cache.en.rst:43
-msgid ""
-"The value of :ts:stat:`proxy.node.cache.bytes_total` expressed in megabytes."
-msgstr ""
-
 #: ../../admin-guide/monitoring/statistics/core/cache.en.rst:48
 msgid "Represents the number of documents currently residing in the cache."
 msgstr ""
@@ -68,12 +58,6 @@ msgid ""
 "have been satisfied by the in-memory cache, thus avoiding disk cache I/O."
 msgstr ""
 
-#: ../../admin-guide/monitoring/statistics/core/cache.en.rst:58
-msgid ""
-"The value of :ts:stat:`proxy.node.cache_hit_mem_ratio_avg_10s` converted to "
-"an integer percent."
-msgstr ""
-
 #: ../../admin-guide/monitoring/statistics/core/cache.en.rst:63
 msgid ""
 "Represents the ratio of cache lookups which have been satisfied by the in-"
@@ -93,12 +77,6 @@ msgid ""
 "avoiding revalidation or object retrieval from origin servers."
 msgstr ""
 
-#: ../../admin-guide/monitoring/statistics/core/cache.en.rst:80
-msgid ""
-"The value of :ts:stat:`proxy.node.cache_hit_ratio_avg_10s` converted to an "
-"integer percent."
-msgstr ""
-
 #: ../../admin-guide/monitoring/statistics/core/cache.en.rst:85
 msgid ""
 "Represents the ratio of cache lookups which have been satisfied by either "
@@ -117,12 +95,6 @@ msgid ""
 "cache objects."
 msgstr ""
 
-#: ../../admin-guide/monitoring/statistics/core/cache.en.rst:100
-msgid ""
-"The value of :ts:stat:`proxy.node.cache.percent_free` converted to an "
-"integer percent."
-msgstr ""
-
 #: ../../admin-guide/monitoring/statistics/core/cache.en.rst:106
 msgid ""
 "Represents the total number of cache lookups which have been satisfied by "
diff --git a/mgmt/api/APITestCliRemote.cc b/mgmt/api/APITestCliRemote.cc
index 7092fbd..8477b6e 100644
--- a/mgmt/api/APITestCliRemote.cc
+++ b/mgmt/api/APITestCliRemote.cc
@@ -871,27 +871,17 @@ set_stats()
 
   TSRecordSetFloat("proxy.node.bandwidth_hit_ratio", 110, &action);
   TSRecordSetFloat("proxy.node.hostdb.hit_ratio", 110, &action);
-  TSRecordSetFloat("proxy.node.cache.percent_free", 110, &action);
   TSRecordSetFloat("proxy.node.cache_hit_ratio", 110, &action);
   TSRecordSetFloat("proxy.node.cache_hit_mem_ratio", 110, &action);
-  TSRecordSetFloat("proxy.node.bandwidth_hit_ratio_avg_10s", 110, &action);
-  TSRecordSetFloat("proxy.node.http.cache_hit_fresh_avg_10s", 110, &action);
-  TSRecordSetFloat("proxy.node.http.cache_hit_mem_fresh_avg_10s", 110, &action);
-  TSRecordSetFloat("proxy.node.http.cache_hit_revalidated_avg_10s", 110, &action);
-  TSRecordSetFloat("proxy.node.http.cache_hit_ims_avg_10s", 100, &action);
-  TSRecordSetFloat("proxy.node.client_throughput_out", 110, &action);
 
   TSRecordSetInt("proxy.node.proxy_running", 110, &action);
   TSRecordSetInt("proxy.node.proxy_running", 110, &action);
-  TSRecordSetInt("proxy.node.current_client_connections", 110, &action);
-  TSRecordSetInt("proxy.node.current_cache_connections", 110, &action);
 }
 
 void
 print_stats()
 {
-  TSFloat f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11;
-  TSInt i1, i2, i3, i4, i5, i6, i7, i8, i9;
+  TSInt i1, i2, i3, i4, i5, i6, i7, i8;
 
   fprintf(stderr, "[print_stats]\n");
 
@@ -907,31 +897,13 @@ print_stats()
   fprintf(stderr, "%" PRId64 ", %" PRId64 ", %" PRId64 ", %" PRId64 ", %" PRId64 ", %" PRId64 ", %" PRId64 ", %" PRId64 "\n", i1,
           i2, i3, i4, i5, i6, i7, i8);
 
-  TSRecordGetFloat("proxy.node.bandwidth_hit_ratio", &f1);
-  TSRecordGetFloat("proxy.node.hostdb.hit_ratio", &f2);
-  TSRecordGetFloat("proxy.node.cache.percent_free", &f3);
-  TSRecordGetFloat("proxy.node.cache_hit_ratio", &f4);
-  TSRecordGetFloat("proxy.node.cache_hit_mem_ratio", &f10);
-  TSRecordGetFloat("proxy.node.bandwidth_hit_ratio_avg_10s", &f5);
-  TSRecordGetFloat("proxy.node.http.cache_hit_fresh_avg_10s", &f6);
-  TSRecordGetFloat("proxy.node.http.cache_hit_mem_fresh_avg_10s", &f11);
-  TSRecordGetFloat("proxy.node.http.cache_hit_revalidated_avg_10s", &f7);
-  TSRecordGetFloat("proxy.node.http.cache_hit_ims_avg_10s", &f8);
-  TSRecordGetFloat("proxy.node.client_throughput_out", &f9);
-
-  fprintf(stderr, "NODE stats: \n%f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f\n", f1, f2, f3, f4, f10, f5, f6, f11, f7, f8, f9);
-
   TSRecordGetInt("proxy.node.proxy_running", &i4);
   TSRecordGetInt("proxy.node.proxy_running", &i6);
-  TSRecordGetInt("proxy.node.current_client_connections", &i8);
-  TSRecordGetInt("proxy.node.current_cache_connections", &i9);
 
-  fprintf(stderr,
-          "%" PRId64 ", %" PRId64 ", %" PRId64 ", %" PRId64 ", %" PRId64 ", %" PRId64 ", %" PRId64 ", %" PRId64 ", %" PRId64 "\n",
-          i1, i7, i2, i3, i4, i5, i6, i8, i9);
+  fprintf(stderr, "%" PRId64 ", %" PRId64 ", %" PRId64 ", %" PRId64 ", %" PRId64 ", %" PRId64 ", %" PRId64 "\n", i1, i7, i2, i3, i4,
+          i5, i6);
 
   fprintf(stderr, "PROCESS stats: \n");
-  fprintf(stderr, "%f, %f\n", f1, f2);
   fprintf(stderr, "%" PRId64 ", %" PRId64 ", %" PRId64 ", %" PRId64 "\n", i1, i2, i3, i4);
 }
 
diff --git a/plugins/experimental/epic/epic.cc b/plugins/experimental/epic/epic.cc
index 718f898..b7d5843 100644
--- a/plugins/experimental/epic/epic.cc
+++ b/plugins/experimental/epic/epic.cc
@@ -56,106 +56,20 @@ static char *epic_prefix;
 // names like proxy.process.cache.volume_XX.*.active
 
 static const std::set<std::string> epic_gauges = {
-  "proxy.node.bandwidth_hit_ratio_avg_10s",
-  "proxy.node.bandwidth_hit_ratio_avg_10s",
-  "proxy.node.cache.bytes_free",
-  "proxy.node.cache.bytes_free_mb",
-  "proxy.node.cache.bytes_total",
-  "proxy.node.cache.bytes_total_mb",
-  "proxy.node.cache.bytes_used",
-  "proxy.node.cache.bytes_used_mb",
-  "proxy.node.cache.percent_free",
   "proxy.node.cache_hit_mem_ratio",
-  "proxy.node.cache_hit_mem_ratio_avg_10s",
   "proxy.node.cache_hit_ratio",
-  "proxy.node.cache_hit_ratio_avg_10s",
-  "proxy.node.cache_total_hits_avg_10s",
-  "proxy.node.cache_total_hits_mem_avg_10s",
-  "proxy.node.cache_total_misses_avg_10s",
-  "proxy.node.client_throughput_out",
-  "proxy.node.client_throughput_out_kbit",
   "proxy.node.config.reconfigure_required",
   "proxy.node.config.reconfigure_time",
   "proxy.node.config.restart_required.cop",
   "proxy.node.config.restart_required.manager",
   "proxy.node.config.restart_required.proxy",
-  "proxy.node.current_cache_connections",
-  "proxy.node.current_client_connections",
   "proxy.node.current_server_connections",
-  "proxy.node.dns.lookup_avg_time_ms",
-  "proxy.node.dns.lookups_per_second",
   "proxy.node.hostdb.hit_ratio",
-  "proxy.node.hostdb.hit_ratio_avg_10s",
-  "proxy.node.hostdb.total_hits_avg_10s",
-  "proxy.node.hostdb.total_lookups_avg_10s",
-  "proxy.node.http.cache_current_connections_count",
-  "proxy.node.http.cache_hit_fresh_avg_10s",
-  "proxy.node.http.cache_hit_ims_avg_10s",
-  "proxy.node.http.cache_hit_mem_fresh_avg_10s",
-  "proxy.node.http.cache_hit_revalidated_avg_10s",
-  "proxy.node.http.cache_hit_stale_served_avg_10s",
-  "proxy.node.http.cache_miss_changed_avg_10s",
-  "proxy.node.http.cache_miss_client_no_cache_avg_10s",
-  "proxy.node.http.cache_miss_cold_avg_10s",
-  "proxy.node.http.cache_miss_ims_avg_10s",
-  "proxy.node.http.cache_miss_not_cacheable_avg_10s",
-  "proxy.node.http.cache_read_error_avg_10s",
-  "proxy.node.http.current_parent_proxy_connections",
-  "proxy.node.http.origin_server_current_connections_count",
-  "proxy.node.http.transaction_counts_avg_10s.errors.aborts",
-  "proxy.node.http.transaction_counts_avg_10s.errors.connect_failed",
-  "proxy.node.http.transaction_counts_avg_10s.errors.early_hangups",
-  "proxy.node.http.transaction_counts_avg_10s.errors.empty_hangups",
-  "proxy.node.http.transaction_counts_avg_10s.errors.other",
-  "proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts",
-  "proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups",
-  "proxy.node.http.transaction_counts_avg_10s.hit_fresh",
-  "proxy.node.http.transaction_counts_avg_10s.hit_revalidated",
-  "proxy.node.http.transaction_counts_avg_10s.miss_changed",
-  "proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache",
-  "proxy.node.http.transaction_counts_avg_10s.miss_cold",
-  "proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable",
-  "proxy.node.http.transaction_counts_avg_10s.other.unclassified",
-  "proxy.node.http.transaction_frac_avg_10s.errors.aborts",
-  "proxy.node.http.transaction_frac_avg_10s.errors.connect_failed",
-  "proxy.node.http.transaction_frac_avg_10s.errors.early_hangups",
-  "proxy.node.http.transaction_frac_avg_10s.errors.empty_hangups",
-  "proxy.node.http.transaction_frac_avg_10s.errors.other",
-  "proxy.node.http.transaction_frac_avg_10s.errors.possible_aborts",
-  "proxy.node.http.transaction_frac_avg_10s.errors.pre_accept_hangups",
-  "proxy.node.http.transaction_frac_avg_10s.hit_fresh",
-  "proxy.node.http.transaction_frac_avg_10s.hit_revalidated",
-  "proxy.node.http.transaction_frac_avg_10s.miss_changed",
-  "proxy.node.http.transaction_frac_avg_10s.miss_client_no_cache",
-  "proxy.node.http.transaction_frac_avg_10s.miss_cold",
-  "proxy.node.http.transaction_frac_avg_10s.miss_not_cacheable",
-  "proxy.node.http.transaction_frac_avg_10s.other.unclassified",
-  "proxy.node.http.transaction_msec_avg_10s.errors.aborts",
-  "proxy.node.http.transaction_msec_avg_10s.errors.connect_failed",
-  "proxy.node.http.transaction_msec_avg_10s.errors.early_hangups",
-  "proxy.node.http.transaction_msec_avg_10s.errors.empty_hangups",
-  "proxy.node.http.transaction_msec_avg_10s.errors.other",
-  "proxy.node.http.transaction_msec_avg_10s.errors.possible_aborts",
-  "proxy.node.http.transaction_msec_avg_10s.errors.pre_accept_hangups",
-  "proxy.node.http.transaction_msec_avg_10s.hit_fresh",
-  "proxy.node.http.transaction_msec_avg_10s.hit_revalidated",
-  "proxy.node.http.transaction_msec_avg_10s.miss_changed",
-  "proxy.node.http.transaction_msec_avg_10s.miss_client_no_cache",
-  "proxy.node.http.transaction_msec_avg_10s.miss_cold",
-  "proxy.node.http.transaction_msec_avg_10s.miss_not_cacheable",
-  "proxy.node.http.transaction_msec_avg_10s.other.unclassified",
-  "proxy.node.http.user_agent_current_connections_count",
-  "proxy.node.http.user_agent_xacts_per_second",
-  "proxy.node.log.bytes_received_from_network_avg_10s",
-  "proxy.node.log.bytes_sent_to_network_avg_10s",
-  "proxy.node.origin_server_total_bytes_avg_10s",
   "proxy.node.proxy_running",
   "proxy.node.restarts.manager.start_time",
   "proxy.node.restarts.proxy.cache_ready_time",
   "proxy.node.restarts.proxy.start_time",
   "proxy.node.restarts.proxy.stop_time",
-  "proxy.node.user_agent_total_bytes_avg_10s",
-  "proxy.node.user_agent_xacts_per_second",
   "proxy.node.version.manager.build_time",
   "proxy.process.cache.KB_read_per_sec",
   "proxy.process.cache.KB_write_per_sec",
diff --git a/proxy/config/metrics.config.default b/proxy/config/metrics.config.default
index 2c2c914..5e80cb4 100644
--- a/proxy/config/metrics.config.default
+++ b/proxy/config/metrics.config.default
@@ -1,32 +1,8 @@
 -- Dynamic metrics.
 -- This file is processed by Traffic Manager to evaluate dynamic metric definitions.
 
--- XML Transliteration Notes:
---
--- The 'minimum' and 'maximum' XML elements effectively do nothing.
--- These are called to set the initial value during XML parsing, so
--- the net effect is to set the value to 'minimum. Since we always
--- zero metrice on creation there's nothing to do there.
-
--- Handling periodic updates.
---
--- Some metrics calculate periodic updates using the interval_of()
--- and delta_of() APIs. These rely on the fact that the metric name
--- is passed as the first argument to each evaluation function (so
--- we can use it as a unique table key), and that if the evaluation
--- function returns nil, no value is stored (ie. the metric simply
--- retains its previous value. We combine these characteristics to
--- run the evaluators on every update cycle but to only store the
--- value or calculate a delta when the desired interval has passed.
-
 -- Lua API.
 --
--- metrics.now.msec
---    Wall-clock time in milliseconds.
---
--- metrics.update.pass
---    Count of metric updates passes performed in this Lua state
---
 -- integer(NAME, FUNC), counter(NAME, FUNC), float(NAME, FUNC)
 --    These global functions register a metric of the corresponding name. Each
 --    registered metric will be periodically recalculated by evaluating the
@@ -35,291 +11,9 @@
 --    The name of the metric is passed to evaluation function on each invocation.
 --    This can be used to greate a unique key for persisting data in global tables.
 
--- Multiplier to convert seconds to milliseconds
-sec_to_msec = 1000
-
--- Convert bytes to megabits.
-function mbits(bytes)
-  return bytes * 8 / 1000000
-end
-
--- Convert bytes to mebibytes.
-function mbytes(bytes)
-  return bytes / (1024 * 1024)
-end
-
--- Return the current time in milliseconds.
-function now()
-  return metrics.now.msec
-end
-
--- interval_of(msec, key, fn)
---
--- Call a function after an interval (in milliseconds) elapses.
--- The function is called with a single argument of the elapsed
--- time in milliseconds.
---
--- key: unique persistence key
--- fn: function to call after the interval elapses
-interval_of = (function()
-
-  function __interval_of(msec, fn)
-    local previous = now()
-    return function()
-      local current = now()
-      local elapsed = current - previous
-      if elapsed > msec then
-        previous = current
-        return fn(elapsed)
-      else
-        return nil
-      end
-    end
-  end
-
-  local intervals = {}
-
-  return function(msec, scope, fn)
-    if intervals[scope] == nil then
-      intervals[scope] = __interval_of(msec, fn)
-    end
-    return intervals[scope]()
-  end
-end)()
-
-function interval_of_10s(key, fn)
-  return interval_of(10 * 1000, key, fn)
-end
-
--- Register a function that returns the delta in every call.
-delta_of = (function ()
-
-  function __delta_of(fn)
-    local previous = fn()
-    return function()
-      local current = fn()
-      local difference = current - previous
-      previous = current
-      return difference
-    end
-  end
-
-  local deltas = {}
-
-  return function(key, fn)
-    if deltas[key] == nil then
-      deltas[key] = __delta_of(fn)
-    end
-
-    return deltas[key]()
-  end
-end)()
-
--- Wrap delta_of() over an interval to find the rate of change
--- for a value over the given interval in milliseconds.
---
--- msec: interval in milliseconds
--- key: unique persistence key
--- fn: function that returns the value
-function rate_of(msec, key, fn)
-  return interval_of(msec, key,
-    function(elapsed)
-      return delta_of(key, fn) * 1000 / elapsed
-    end
-  )
-end
-
--- Find the per-second rate of change for a value over 10sec.
-function rate_of_10s(key, fn)
-  return rate_of(10 * 1000, key, fn)
-end
-
--- Return the change over an interval. Most of the metrics that use
--- this don't really make sense. It's not an average in the way that
--- people would reasonably expect it to be.
-function interval_delta_of_10s(key, fn)
-  return interval_of_10s(key, function()
-    return delta_of(key, fn)
-  end)
-end
-
-counter 'proxy.node.http.user_agents_total_documents_served' [[
-  return proxy.process.http.incoming_requests
-]]
-
-counter 'proxy.node.http.user_agents_total_transactions_count' [[
-  return proxy.process.http.incoming_requests
-]]
-
-counter 'proxy.node.http.origin_server_total_transactions_count' [[
-  return proxy.process.http.outgoing_requests
-]]
-
-counter 'proxy.node.http.cache_current_connections_count' [[
-  return proxy.process.http.current_cache_connections
-]]
-
-counter 'proxy.node.http.user_agent_current_connections_count' [[
-  return proxy.process.http.current_client_connections
-]]
-
-counter 'proxy.node.http.origin_server_current_connections_count' [[
-  return proxy.process.http.current_server_connections
-]]
-
---
--- Cache metrics.
---
-
-integer 'proxy.node.cache.bytes_total' [[
-  return proxy.process.cache.bytes_total
-]]
-
---
--- DNS metrics.
---
-
-counter 'proxy.node.dns.total_dns_lookups' [[
-  return proxy.process.dns.total_dns_lookups
-]]
-
---
--- HostDB metrics.
---
-
-counter 'proxy.node.hostdb.total_lookups' [[
-  return proxy.process.hostdb.total_lookups
-]]
-
-counter 'proxy.node.hostdb.total_hits' [[
-  return proxy.process.hostdb.total_hits
-]]
-
 --
 -- HTTP Cache.
 --
-
-counter 'proxy.node.http.cache_lookups' [[
-  return proxy.process.http.cache_lookups
-]]
-
-counter 'proxy.node.http.cache_writes' [[
-  return proxy.process.http.cache_writes
-]]
-
-counter 'proxy.node.http.cache_updates' [[
-  return proxy.process.http.cache_updates
-]]
-
-counter 'proxy.node.http.cache_deletes' [[
-  return proxy.process.http.cache_deletes
-]]
-
-counter 'proxy.node.http.cache_hit_fresh' [[
-  return proxy.process.http.cache_hit_fresh
-]]
-
-counter 'proxy.node.http.cache_hit_mem_fresh' [[
-  return proxy.process.http.cache_hit_mem_fresh
-]]
-
-counter 'proxy.node.http.cache_hit_revalidated' [[
-  return proxy.process.http.cache_hit_revalidated
-]]
-
-counter 'proxy.node.http.cache_hit_ims' [[
-  return proxy.process.http.cache_hit_ims
-]]
-
-counter 'proxy.node.http.cache_hit_stale_served' [[
-  return proxy.process.http.cache_hit_stale_served
-]]
-
-counter 'proxy.node.http.cache_miss_cold' [[
-  return proxy.process.http.cache_miss_cold
-]]
-
-counter 'proxy.node.http.cache_miss_changed' [[
-  return proxy.process.http.cache_miss_changed
-]]
-
-counter 'proxy.node.http.cache_miss_client_no_cache' [[
-  return proxy.process.http.cache_miss_client_no_cache
-]]
-
-counter 'proxy.node.http.cache_miss_client_not_cacheable' [[
-  return proxy.process.http.cache_miss_client_not_cacheable
-]]
-
-counter 'proxy.node.http.cache_miss_ims' [[
-  return proxy.process.http.cache_miss_ims
-]]
-
-counter 'proxy.node.http.cache_read_error' [[
-  return proxy.process.http.cache_read_error
-]]
-
-counter 'proxy.node.http.cache_write_errors' [[
-  return proxy.process.http.cache_write_errors
-]]
-
-counter 'proxy.node.http.cache_read_errors' [[
-  return proxy.process.http.cache_read_errors
-]]
-
--- StatAggregation::Ag_XactsPerSecond() -->
-integer 'proxy.node.http.user_agent_xacts_per_second' [[
-  local self = ...
-
-  return rate_of_10s(self,
-    function() return proxy.process.http.incoming_requests end
-  )
-]]
-
-integer 'proxy.node.user_agent_xacts_per_second' [[
-  return proxy.node.http.user_agent_xacts_per_second
-]]
-
-counter 'proxy.node.user_agents_total_documents_served' [[
-  return proxy.node.http.user_agents_total_documents_served
-]]
-
--- StatAggregation::Ag_DnsLookupsPerSecond()
-integer 'proxy.node.dns.lookups_per_second' [[
-  local self = ...
-
-  return rate_of_10s(self,
-    function() return proxy.process.dns.total_dns_lookups end
-  )
-]]
-
--- StatAggregation::Ag_HostdbHitRate() -->
-integer 'proxy.node.hostdb.total_lookups_avg_10s' [[
-  local self = ...
-
-  return interval_delta_of_10s(self, function()
-    return proxy.process.hostdb.total_lookups
-  end)
-]]
-
-integer 'proxy.node.hostdb.total_hits_avg_10s' [[
-  local self = ...
-
-  return interval_delta_of_10s(self, function()
-    return proxy.process.hostdb.total_hits
-  end)
-]]
-
-float 'proxy.node.hostdb.hit_ratio_avg_10s' [[
-  local self = ...
-
-  return interval_of_10s(self, function()
-    return
-      proxy.node.hostdb.total_hits_avg_10s    /
-      proxy.node.hostdb.total_lookups_avg_10s
-  end)
-]]
-
 float 'proxy.node.hostdb.hit_ratio' [[
   return proxy.process.hostdb.total_hits / proxy.process.hostdb.total_lookups
 ]]
@@ -363,166 +57,6 @@ float 'proxy.node.bandwidth_hit_ratio' [[
       / proxy.node.user_agent_total_bytes
 ]]
 
-float 'proxy.node.user_agent_total_bytes_avg_10s' [[
-  local self = ...
-
-  return interval_delta_of_10s(self, function()
-    return proxy.node.user_agent_total_bytes
-  end)
-]]
-
-float 'proxy.node.origin_server_total_bytes_avg_10s' [[
-  local self = ...
-
-  return interval_delta_of_10s(self, function()
-    return proxy.node.origin_server_total_bytes
-  end)
-]]
-
-float 'proxy.node.bandwidth_hit_ratio_avg_10s' [[
-  local self = ...
-
-  return interval_of_10s(self, function()
-    return (
-      proxy.node.user_agent_total_bytes_avg_10s -
-      proxy.node.origin_server_total_bytes_avg_10s
-    ) / proxy.node.user_agent_total_bytes_avg_10s
-  end)
-]]
-
--- StatAggregation::Ag_Throughput()
-integer 'proxy.node.http.throughput' [[
-  local self = ...
-
-  return rate_of_10s(self,
-    function() return proxy.node.http.user_agent_total_response_bytes end
-  )
-]]
-
-float 'proxy.node.client_throughput_out' [[
-  return mbits(proxy.node.http.throughput)
-]]
-
--- StatAggregation::Ag_cacheHits()
-float 'proxy.node.http.cache_hit_fresh_avg_10s' [[
-  local self = ...
-
-  return interval_delta_of_10s(self, function()
-    return proxy.process.http.cache_hit_fresh
-  end)
-]]
-
-float 'proxy.node.http.cache_hit_mem_fresh_avg_10s' [[
-  local self = ...
-
-  return interval_delta_of_10s(self, function()
-    return proxy.process.http.cache_hit_mem_fresh
-  end)
-]]
-
-float 'proxy.node.http.cache_hit_revalidated_avg_10s' [[
-  local self = ...
-
-  return interval_delta_of_10s(self, function()
-    return proxy.process.http.cache_hit_revalidated
-  end)
-]]
-
-float 'proxy.node.http.cache_hit_ims_avg_10s' [[
-  local self = ...
-
-  return interval_delta_of_10s(self, function()
-    return proxy.process.http.cache_hit_ims
-  end)
-]]
-
-float 'proxy.node.http.cache_hit_stale_served_avg_10s' [[
-  local self = ...
-
-  return interval_delta_of_10s(self, function()
-    return proxy.process.http.cache_hit_stale_served
-  end)
-]]
-
-float 'proxy.node.http.cache_miss_cold_avg_10s' [[
-  local self = ...
-
-  return interval_delta_of_10s(self, function()
-    return proxy.process.http.cache_miss_cold
-  end)
-]]
-
-float 'proxy.node.http.cache_miss_changed_avg_10s' [[
-  local self = ...
-
-  return interval_delta_of_10s(self, function()
-    return proxy.process.http.cache_miss_changed
-  end)
-]]
-
-float 'proxy.node.http.cache_miss_client_no_cache_avg_10s' [[
-  local self = ...
-
-  return interval_delta_of_10s(self, function()
-    return proxy.process.http.cache_miss_client_no_cache
-  end)
-]]
-
-float 'proxy.node.http.cache_miss_ims_avg_10s' [[
-  local self = ...
-
-  return interval_delta_of_10s(self, function()
-    return proxy.process.http.cache_miss_ims
-  end)
-]]
-
-float 'proxy.node.http.cache_read_error_avg_10s' [[
-  local self = ...
-
-  return interval_delta_of_10s(self, function()
-    return proxy.process.http.cache_read_error
-  end)
-]]
-
-float 'proxy.node.cache_total_hits_avg_10s' [[
-  return
-    proxy.node.http.cache_hit_fresh_avg_10s        +
-    proxy.node.http.cache_hit_revalidated_avg_10s  +
-    proxy.node.http.cache_hit_ims_avg_10s          +
-    proxy.node.http.cache_hit_stale_served_avg_10s
-]]
-
-float 'proxy.node.cache_total_hits_mem_avg_10s' [[
-  return proxy.node.http.cache_hit_mem_fresh_avg_10s
-]]
-
-float 'proxy.node.cache_total_misses_avg_10s' [[
-  return
-    proxy.node.http.cache_miss_cold_avg_10s            +
-    proxy.node.http.cache_miss_changed_avg_10s         +
-    proxy.node.http.cache_miss_client_no_cache_avg_10s +
-    proxy.node.http.cache_miss_ims_avg_10s             +
-    proxy.node.http.cache_read_error_avg_10s
-]]
-
-float 'proxy.node.cache_hit_ratio_avg_10s' [[
-  return
-    proxy.node.cache_total_hits_avg_10s   /
-    (
-    proxy.node.cache_total_hits_avg_10s   +
-    proxy.node.cache_total_misses_avg_10s
-    )
-]]
-
-float 'proxy.node.cache_hit_mem_ratio_avg_10s' [[
-  return
-    proxy.node.cache_total_hits_mem_avg_10s   /
-    (
-    proxy.node.cache_total_hits_avg_10s   +
-    proxy.node.cache_total_misses_avg_10s
-    )
-]]
-
 counter 'proxy.node.cache_total_hits' [[
   return proxy.process.http.cache_hit_fresh +
     proxy.process.http.cache_hit_revalidated +
@@ -561,679 +95,8 @@ float 'proxy.node.cache_hit_mem_ratio' [[
     )
 ]]
 
--- StatAggregation::Ag_cachePercent().
-integer 'proxy.node.cache.bytes_free' [[
-  return
-    proxy.process.cache.bytes_total -
-    proxy.process.cache.bytes_used
-]]
-
-float 'proxy.node.cache.percent_free' [[
-  return
-    proxy.node.cache.bytes_free /
-    proxy.process.cache.bytes_total
-]]
-
--- StatAggregation::Ag_TransactionPercentsAndMeanTimes()
-
-integer 'proxy.node.http.transaction_counts_avg_10s.hit_fresh' [[
-  return interval_delta_of_10s(..., function()
-    return proxy.process.http.transaction_counts.hit_fresh
-  end)
-]]
-
-integer 'proxy.node.http.transaction_counts_avg_10s.hit_revalidated' [[
-  return interval_delta_of_10s(..., function()
-    return proxy.process.http.transaction_counts.hit_revalidated
-  end)
-]]
-
-integer 'proxy.node.http.transaction_counts_avg_10s.miss_cold' [[
-  return interval_delta_of_10s(..., function()
-    return proxy.process.http.transaction_counts.miss_cold
-  end)
-]]
-
-integer 'proxy.node.http.transaction_counts_avg_10s.miss_changed' [[
-  return interval_delta_of_10s(..., function()
-    return proxy.process.http.transaction_counts.miss_changed
-  end)
-]]
-
-integer 'proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache' [[
-  return interval_delta_of_10s(..., function()
-    return proxy.process.http.transaction_counts.miss_client_no_cache
-  end)
-]]
-
-integer 'proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable' [[
-  return interval_delta_of_10s(..., function()
-    return proxy.process.http.transaction_counts.miss_not_cacheable
-  end)
-]]
-
-integer 'proxy.node.http.transaction_counts_avg_10s.errors.connect_failed' [[
-  return interval_delta_of_10s(..., function()
-    return proxy.process.http.transaction_counts.errors.connect_failed
-  end)
-]]
-
-integer 'proxy.node.http.transaction_counts_avg_10s.errors.aborts' [[
-  return interval_delta_of_10s(..., function()
-    return proxy.process.http.transaction_counts.errors.aborts
-  end)
-]]
-
-integer 'proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts' [[
-  return interval_delta_of_10s(..., function()
-    return proxy.process.http.transaction_counts.errors.possible_aborts
-  end)
-]]
-
-integer 'proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups' [[
-  return interval_delta_of_10s(..., function()
-    return proxy.process.http.transaction_counts.errors.pre_accept_hangups
-  end)
-]]
-
-integer 'proxy.node.http.transaction_counts_avg_10s.errors.other' [[
-  return interval_delta_of_10s(..., function()
-    return proxy.process.http.transaction_counts.errors.other
-  end)
-]]
-
--- StatAggregation.cc::frac_names()
-float 'proxy.node.http.transaction_frac_avg_10s.hit_fresh' [[
-  return interval_of_10s(..., function()
-    return
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-  end)
-]]
-
-float 'proxy.node.http.transaction_frac_avg_10s.hit_revalidated' [[
-  return interval_of_10s(..., function()
-    return
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-  end)
-]]
-
-float 'proxy.node.http.transaction_frac_avg_10s.miss_cold' [[
-  return interval_of_10s(..., function()
-    return
-      proxy.node.http.transaction_counts_avg_10s.miss_cold /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-  end)
-]]
-
-float 'proxy.node.http.transaction_frac_avg_10s.miss_changed' [[
-  return interval_of_10s(..., function()
-    return
-      proxy.node.http.transaction_counts_avg_10s.miss_changed /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-  end)
-]]
-
-float 'proxy.node.http.transaction_frac_avg_10s.miss_client_no_cache' [[
-  return interval_of_10s(..., function()
-    return
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-  end)
-]]
-
-float 'proxy.node.http.transaction_frac_avg_10s.miss_not_cacheable' [[
-  return interval_of_10s(..., function()
-    return
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-  end)
-]]
-
-float 'proxy.node.http.transaction_frac_avg_10s.errors.connect_failed' [[
-  return interval_of_10s(..., function()
-    return
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-    end)
-]]
-
-float 'proxy.node.http.transaction_frac_avg_10s.errors.aborts' [[
-  return interval_of_10s(..., function()
-    return
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-    end)
-]]
-
-float 'proxy.node.http.transaction_frac_avg_10s.errors.possible_aborts' [[
-  return interval_of_10s(..., function()
-    return
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-    end)
-]]
-
-float 'proxy.node.http.transaction_frac_avg_10s.errors.pre_accept_hangups' [[
-  return interval_of_10s(..., function()
-    return
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-    end)
-]]
-
-float 'proxy.node.http.transaction_frac_avg_10s.errors.other' [[
-  return interval_of_10s(..., function()
-    return
-      proxy.node.http.transaction_counts_avg_10s.errors.other /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-    end)
-]]
-
-integer 'proxy.node.http.transaction_msec_avg_10s.hit_fresh' [[
-  local self = ...
-  return interval_of_10s(self, function()
-    return
-      sec_to_msec                  *
-      delta_of(self, function()
-        return proxy.process.http.transaction_totaltime.hit_fresh
-      end) /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-    end)
-]]
-
-integer 'proxy.node.http.transaction_msec_avg_10s.hit_revalidated' [[
-  local self = ...
-  return interval_of_10s(self, function()
-    return
-      sec_to_msec         *
-      delta_of(self, function()
-        return proxy.process.http.transaction_totaltime.hit_revalidated
-      end) /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-    end)
-]]
-
-integer 'proxy.node.http.transaction_msec_avg_10s.miss_cold' [[
-  local self = ...
-  return interval_of_10s(self, function()
-    return
-      sec_to_msec   *
-      delta_of(self, function()
-        return proxy.process.http.transaction_totaltime.miss_cold
-      end) /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-    end)
-]]
-
-integer 'proxy.node.http.transaction_msec_avg_10s.miss_changed' [[
-  local self = ...
-  return interval_of_10s(self, function()
-    return
-      sec_to_msec   *
-      delta_of(self, function()
-        return proxy.process.http.transaction_totaltime.miss_changed
-      end) /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-    end)
-]]
-
-integer 'proxy.node.http.transaction_msec_avg_10s.miss_client_no_cache' [[
-  local self = ...
-  return interval_of_10s(self, function()
-    return
-      sec_to_msec              *
-      delta_of(self, function()
-        return proxy.process.http.transaction_totaltime.miss_client_no_cache
-      end) /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-    end)
-]]
-
-integer 'proxy.node.http.transaction_msec_avg_10s.miss_not_cacheable' [[
-  local self = ...
-  return interval_of_10s(self, function()
-    return
-      sec_to_msec            *
-      delta_of(self, function()
-        return proxy.process.http.transaction_totaltime.miss_not_cacheable
-      end) /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-    end)
-]]
-
-integer 'proxy.node.http.transaction_msec_avg_10s.errors.connect_failed' [[
-  local self = ...
-  return interval_of_10s(self, function()
-    return
-      sec_to_msec               *
-      delta_of(self, function()
-        return proxy.process.http.transaction_totaltime.errors.connect_failed
-      end) /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-    end)
-]]
-
-integer 'proxy.node.http.transaction_msec_avg_10s.errors.aborts' [[
-  local self = ...
-  return interval_of_10s(self, function()
-    return
-      sec_to_msec       *
-      delta_of(self, function()
-        return proxy.process.http.transaction_totaltime.errors.aborts
-      end) /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-    end)
-]]
-
-integer 'proxy.node.http.transaction_msec_avg_10s.errors.possible_aborts' [[
-  local self = ...
-  return interval_of_10s(self, function()
-    return
-      sec_to_msec                *
-      delta_of(self, function()
-        return proxy.process.http.transaction_totaltime.errors.possible_aborts
-      end) /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-    end)
-]]
-
-integer 'proxy.node.http.transaction_msec_avg_10s.errors.pre_accept_hangups' [[
-  local self = ...
-  return interval_of_10s(self, function()
-    return
-      sec_to_msec                   *
-      delta_of(self, function()
-        return proxy.process.http.transaction_totaltime.errors.pre_accept_hangups
-      end) /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-    end)
-]]
-
-integer 'proxy.node.http.transaction_msec_avg_10s.errors.other' [[
-  local self = ...
-  return interval_of_10s(self, function()
-    return
-      sec_to_msec      *
-      delta_of(self, function()
-        return proxy.process.http.transaction_totaltime.errors.other
-      end) /
-      (
-      proxy.node.http.transaction_counts_avg_10s.hit_fresh                 +
-      proxy.node.http.transaction_counts_avg_10s.hit_revalidated           +
-      proxy.node.http.transaction_counts_avg_10s.miss_cold                 +
-      proxy.node.http.transaction_counts_avg_10s.miss_changed              +
-      proxy.node.http.transaction_counts_avg_10s.miss_client_no_cache      +
-      proxy.node.http.transaction_counts_avg_10s.miss_not_cacheable        +
-      proxy.node.http.transaction_counts_avg_10s.errors.connect_failed     +
-      proxy.node.http.transaction_counts_avg_10s.errors.aborts             +
-      proxy.node.http.transaction_counts_avg_10s.errors.possible_aborts    +
-      proxy.node.http.transaction_counts_avg_10s.errors.pre_accept_hangups +
-      proxy.node.http.transaction_counts_avg_10s.errors.other
-      )
-    end)
-]]
-
--- StatAggregation::Ag_Connections().
-
-integer 'proxy.node.current_client_connections' [[
-  return proxy.node.http.user_agent_current_connections_count
-]]
-
 integer 'proxy.node.current_server_connections' [[
   return
-    proxy.node.http.origin_server_current_connections_count +
-    proxy.node.http.current_parent_proxy_connections
-]]
-
-integer 'proxy.node.current_cache_connections' [[
-  return
-    proxy.node.http.cache_current_connections_count
-]]
-
-integer 'proxy.node.client_throughput_out_kbit' [[
-  -- Convert Mbit/sec to Kbit/sec.
-  return proxy.node.client_throughput_out * 1000
-]]
-
-integer 'proxy.node.cache.bytes_total_mb' [[
-  return mbytes(proxy.process.cache.bytes_total)
-]]
-
-integer 'proxy.node.cache.bytes_free_mb' [[
-  return mbytes(proxy.node.cache.bytes_free)
-]]
-
-integer 'proxy.node.http.current_parent_proxy_connections' [[
-  return proxy.process.http.current_parent_proxy_connections
-]]
-
--- Logging.
-counter 'proxy.node.log.event_log_access_ok' [[
-  return proxy.process.log.event_log_access_ok
-]]
-
-counter 'proxy.node.log.event_log_access_skip' [[
-  return proxy.process.log.event_log_access_skip
-]]
-
-counter 'proxy.node.log.event_log_access_aggr' [[
-  return proxy.process.log.event_log_access_aggr
-]]
-
-counter 'proxy.node.log.event_log_access_full' [[
-  return proxy.process.log.event_log_access_full
-]]
-
-counter 'proxy.node.log.event_log_access_fail' [[
-  return proxy.process.log.event_log_access_fail
-]]
-
-counter 'proxy.node.log.num_lost_before_sent_to_network' [[
-  return proxy.process.log.num_lost_before_sent_to_network
-]]
-
-counter 'proxy.node.log.num_sent_to_network' [[
-  return proxy.process.log.num_sent_to_network
-]]
-
-counter 'proxy.node.log.bytes_lost_before_sent_to_network' [[
-  return proxy.process.log.bytes_lost_before_sent_to_network
-]]
-
-counter 'proxy.node.log.bytes_sent_to_network' [[
-  return proxy.process.log.bytes_sent_to_network
-]]
-
-counter 'proxy.node.log.num_received_from_network' [[
-  return proxy.process.log.num_received_from_network
-]]
-
-counter 'proxy.node.log.bytes_received_from_network' [[
-  return proxy.process.log.bytes_received_from_network
-]]
-
-counter 'proxy.node.log.bytes_lost_before_preproc' [[
-  return proxy.process.log.bytes_lost_before_preproc
-]]
-
-counter 'proxy.node.log.num_lost_before_flush_to_disk' [[
-  return proxy.process.log.num_lost_before_flush_to_disk
-]]
-
-counter 'proxy.node.log.bytes_lost_before_flush_to_disk' [[
-  return proxy.process.log.bytes_lost_before_flush_to_disk
-]]
-
-counter 'proxy.node.log.bytes_lost_before_written_to_disk' [[
-  return proxy.process.log.bytes_lost_before_written_to_disk
-]]
-
-integer 'proxy.node.log.bytes_sent_to_network_avg_10s' [[
-  return interval_delta_of_10s(..., function()
-    return proxy.process.log.bytes_sent_to_network
-  end)
-]]
-
-integer 'proxy.node.log.bytes_received_from_network_avg_10s' [[
-  return interval_delta_of_10s(..., function()
-    return proxy.process.log.bytes_received_from_network
-  end)
-]]
-
-counter 'proxy.process.ssl.total_success_handshake_count' [[
-  return proxy.process.ssl.total_success_handshake_count_in
+    proxy.process.http.current_server_connections +
+    proxy.process.http.current_parent_proxy_connections
 ]]

-- 
To stop receiving notification emails like this one, please contact
zwoop@apache.org.