docs/root/intro/arch_overview/observability/statistics.rst
.. _arch_overview_statistics:
One of the primary goals of Envoy is to make the network understandable. Envoy emits a large number of statistics depending on how it is configured. Generally the statistics fall into three categories:
A single proxy scenario typically involves both downstream and upstream statistics. The two types can be used to get a detailed picture of that particular network hop. Statistics from the entire mesh give a very detailed picture of each hop and overall network health. The statistics emitted are documented in detail in the operations guide.
As of the v2 API, Envoy has the ability to support custom, pluggable sinks. :ref:A few standard sink implementations<envoy_v3_api_msg_config.metrics.v3.StatsSink> are included in Envoy.
Some sinks also support emitting statistics with tags/dimensions.
Within Envoy and throughout the documentation, statistics are identified by a canonical string
representation. The dynamic portions of these strings are stripped to become tags. Users can
configure this behavior via :ref:the Tag Specifier configuration <envoy_v3_api_msg_config.metrics.v3.TagSpecifier>.
Envoy emits three types of values as statistics:
Internally, counters and gauges are batched and periodically flushed to improve performance. Histograms are written as they are received. Note: what were previously referred to as timers have become histograms as the only difference between the two representations was the units.
v3 API reference <envoy_v3_api_field_config.bootstrap.v3.Bootstrap.stats_sinks>.