.. _config_listener_stats:
Statistics
==========
Listener
--------
Every listener has a statistics tree rooted at *listener.
.* (or *listener..* if
:ref:`stat_prefix ` is non-empty)
with the following statistics:
.. csv-table::
:header: Name, Type, Description
:widths: 1, 1, 2
downstream_cx_total, Counter, Total connections
downstream_cx_destroy, Counter, Total destroyed connections
downstream_cx_active, Gauge, Total active connections
downstream_cx_length_ms, Histogram, Connection length milliseconds
downstream_cx_transport_socket_connect_timeout, Counter, Total connections that timed out during transport socket connection negotiation
downstream_cx_overflow, Counter, Total connections rejected due to enforcement of listener connection limit
downstream_cx_overload_reject, Counter, Total connections rejected due to configured overload actions
downstream_global_cx_overflow, Counter, Total connections rejected due to enforcement of global connection limit
downstream_pre_cx_timeout, Counter, Sockets that timed out during listener filter processing
downstream_pre_cx_active, Gauge, Sockets currently undergoing listener filter processing
global_cx_overflow, Counter, Total connections rejected due to enforcement of the global connection limit
no_filter_chain_match, Counter, Total connections that didn't match any filter chain
.. _config_listener_stats_tls:
TLS statistics
--------------
The following TLS statistics are rooted at *listener..ssl.*:
.. include:: ../../_include/ssl_stats.rst
.. _config_listener_stats_tcp:
TCP statistics
--------------
The following TCP statistics, which are available when using the :ref:`TCP stats transport socket `,
are rooted at *listener..tcp_stats.*:
.. include:: ../../_include/tcp_stats.rst
.. _config_listener_stats_udp:
UDP statistics
--------------
The following UDP statistics are available for UDP listeners and are rooted at
*listener..udp.*:
.. csv-table::
:header: Name, Type, Description
:widths: 1, 1, 2
downstream_rx_datagram_dropped, Counter, Number of datagrams dropped due to kernel overflow or truncation
.. _config_listener_stats_per_handler:
Per-handler Listener Stats
--------------------------
Every listener additionally has a statistics tree rooted at *listener...* which
contains *per-handler* statistics. As described in the
:ref:`threading model ` documentation, Envoy has a threading model which
includes the *main thread* as well as a number of *worker threads* which are controlled by the
:option:`--concurrency` option. Along these lines, ** is equal to *main_thread*,
*worker_0*, *worker_1*, etc. These statistics can be used to look for per-handler/worker imbalance
on either accepted or active connections.
.. csv-table::
:header: Name, Type, Description
:widths: 1, 1, 2
downstream_cx_total, Counter, Total connections on this handler.
downstream_cx_active, Gauge, Total active connections on this handler.
.. _config_listener_manager_stats:
Listener manager
----------------
The listener manager has a statistics tree rooted at *listener_manager.* with the following
statistics. Any ``:`` character in the stats name is replaced with ``_``.
.. csv-table::
:header: Name, Type, Description
:widths: 1, 1, 2
listener_added, Counter, Total listeners added (either via static config or LDS).
listener_modified, Counter, Total listeners modified (via LDS).
listener_removed, Counter, Total listeners removed (via LDS).
listener_stopped, Counter, Total listeners stopped.
listener_create_success, Counter, Total listener objects successfully added to workers.
listener_create_failure, Counter, Total failed listener object additions to workers.
listener_in_place_updated, Counter, Total listener objects created to execute filter chain update path.
total_filter_chains_draining, Gauge, Number of currently draining filter chains.
total_listeners_warming, Gauge, Number of currently warming listeners.
total_listeners_active, Gauge, Number of currently active listeners.
total_listeners_draining, Gauge, Number of currently draining listeners.
workers_started, Gauge, A boolean (1 if started and 0 otherwise) that indicates whether listeners have been initialized on workers.