Статистика
Блок stats — это пустой объект: его единственное назначение — включать подсистему статистики самим фактом своего присутствия. Настраиваемых полей нет.
Использование
json
{
"stats": {}
}Когда stats присутствует, движок статистики начинает собирать счётчики байтов по пользователям и по исходящим. Затем эти счётчики доступны двумя способами:
- gRPC — включите
StatsServiceв блокеapiи вызывайтеStatsService/GetStatsиз внешнего клиента. - HTTP / Prometheus — вместо этого включите
metrics.
Какие счётчики заполняются, определяет policy:
policy.levels[N].statsUserUplink/statsUserDownlink/statsUserOnlineвключают счётчики по пользователям для пользователей данного уровня.policy.system.statsInboundUplink/statsInboundDownlink/statsOutboundUplink/statsOutboundDownlinkвключают общесистемные счётчики по тегам входящих и исходящих.
Примечания
StatsConfig.Build(infra/conf/xray.go:379-381) возвращает нулевое значениеstats.Config{}независимо от входных данных. Блок — просто маркер.- Без соответствующего флага в policy счётчики существуют, но остаются нулевыми — частая причина «сломанной» на вид статистики.
Исходный код: infra/conf/xray.go:353-358 · v26.7.28 (5ca6f4b)
