Skip to content

统计

stats 块是 空对象 —— 它的唯一作用就是「存在即启用」统计子 系统。没有任何可配置字段。

用法

json
{
  "stats": {}
}

一旦存在 stats,统计引擎就开始收集按用户和按出站的字节计数。这些 计数器可通过两种方式暴露:

  • gRPC —— 在 api 下打开 StatsService,从 外部客户端调用 StatsService/GetStats
  • HTTP / Prometheus —— 改为打开 metrics

哪些计数器会被填充由 policy 控制:

  • policy.levels[N].statsUserUplink / statsUserDownlink / statsUserOnline 为该等级的用户启用单用户计数器。
  • policy.system.statsInboundUplink / statsInboundDownlink / statsOutboundUplink / statsOutboundDownlink 按入站 / 出站 tag 启用系统级计数器。

说明

  • StatsConfig.Buildinfra/conf/xray.go:342-344)始终返回零值的 stats.Config{},与输入无关。该块本质上只是一个标记。
  • 没有对应的 policy 开关时,计数器虽存在但始终为零 —— 这是统计「看 起来坏掉」时的常见原因。

源码: infra/conf/xray.go:339-344 · v26.6.1 (94ffd50)

由 Argsment 出品的 Core Tutorial