Stats
بلاک 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{}با مقدار صفر برمیگرداند. این بلاک یک نشانگر است.- بدون یک پرچم سیاستِ متناظر، شمارندهها وجود دارند اما در صفر باقی میمانند — مشکل رایج هنگامی که آمار «خراب» به نظر میرسد.
منبع: infra/conf/xray.go:353-358 · v26.7.28 (5ca6f4b)
