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:342-344) صرفنظر از ورودی یکstats.Config{}با مقدار صفر برمیگرداند. این بلاک یک نشانگر است.- بدون یک پرچم سیاستِ متناظر، شمارندهها وجود دارند اما در صفر باقی میمانند — مشکل رایج هنگامی که آمار «خراب» به نظر میرسد.
منبع: infra/conf/xray.go:339-344 · v1.260327.0 (d2758a0)
