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.