.. _arch_overview_statistics: 统计 ========== Envoy 的主要目标之一是使网络易于理解。Envoy 根据不同的配置产生了大量的统计数据。通常,统计数据分为以下三类: * **Downstream**: 下游统计信息与传入的连接/请求有关。它们由侦听器、HTTP 连接管理器、TCP 代理过滤器等生成。 * **Upstream**: 上游统计信息与传出连接/请求有关。它们由连接池,路由器过滤器,TCP 代理过滤器等生成。 * **Server**: 服务器统计信息描述了 Envoy 服务器实例的工作方式。服务器正常运行时间或分配内存量等统计信息在此处分类。 单个代理场景通常涉及下游和上游统计信息。这两种类型可用于获取该特定网络跃点的详细信息。整体统计网格可以非常详细地描述每个跃点和整个网络的运行状况。发布的统计数据在操作指南中详细记录。 从 v2 API 开始,Envoy 能够支持自定义可插入接收器。:ref:`A Envoy 中包含一些标准的接收器实现`。一些接收器还支持生成带有标签/维度的统计信息。 在 Envoy 中以及整个文档中,统计信息均由规范字符串标识表示。这些字符串的动态部分被剥离成为标签。用户可以通过标签说明符配置 :ref:`Tag Specifier 配置 ` 配置此行为。 Envoy 发出三种类型的值作为统计信息: * **Counters(计数器)**: 无符号整数只会增加而不减少。 例如,总请求数。 * **Gauges(量表)**: 无符号整数,既有增加也有减少。 例如,当前有效的请求。 * **Histograms(直方图)**: 无符号整数是值流的一部分,然后由收集器最终得出汇总的百分数值。 例如,上游请求时间。 在内部,对计数器和计量器进行批处理并定期更新以提高性能。直方图在收到时写入。 注意:以前称为计时器的内容成为直方图,因为两种表示形式之间的唯一区别是单位。 * :ref:`v3 API 参考 `。