BT.stats

BT.stats

BT.stats

功能

返回当前 BT 进程的运行期资源统计,用于定位 I/O 运行边界、后台任务、定时器、网络服务和 VM 缓存状态。

语法

参数

参数类型必填默认值说明
-不需要参数。

返回值

类型说明
Object返回 uptime、threads、start_time、io、task、timer、net、cache。

主要字段:

字段说明
io进程级 I/O runtime 和 blocking pool 的配置、活动数、完成数、拒绝数、超时数。
task后台 task 执行器是否启动、队列上限、工作线程、排队数、运行数、完成数、拒绝数。
timer定时器运行时是否启动、活动定时器数、调度堆条目数、上限和单 VM 事件队列上限。
net网络 Web 服务数、事件型服务数、有界事件队列、连接和消息资源上限。
cache当前线程 include 编译缓存和模板片段缓存条目数与上限。

I/O 默认配置:

环境变量默认值说明
BT_IO_WORKERSCPU 线程数,最大 64共享 Tokio runtime 工作线程数。
BT_IO_BLOCKING_WORKERSCPU 线程数,最大 64有界 blocking pool 工作线程数。
BT_IO_BLOCKING_QUEUE256,最大 8192blocking pool 等待队列长度。
BT_IO_TIMEOUT_MS30000默认同步等待超时时间,单位毫秒。
BT_IO_SHUTDOWN_TIMEOUT_MS1000blocking pool 关闭等待时间,单位毫秒。

net 默认配置:

环境变量默认值说明
BT_NET_EVENT_QUEUE4096,最大 65536TCP、UDP、WebSocket 后台事件投递到 VM 的有界队列长度。
BT_NET_CONNECTION_LIMIT4096,最大 65536单协议连接或 socket 数量上限。
BT_NET_MESSAGE_LIMIT1048576,最大 16777216单条 TCP/UDP/WebSocket 消息字节上限。
BT_NET_WRITE_QUEUE1024,最大 8192单个 TCP/WebSocket 连接的待写命令队列长度。
BT_NET_IDLE_TTL_MS0TCP/WebSocket 连接空闲关闭时间,单位毫秒;0 表示不因空闲主动关闭。

net 主要字段:

字段说明
event_queue_bounded是否启用有界网络事件队列。当前固定为 true。
event_queue_limit网络事件队列上限。
event_queue_queued当前等待 VM 分发的网络事件数量。
event_queue_sent已成功投递到 VM 的网络事件数量。
event_queue_rejected因队列满或通道关闭被拒绝的网络事件数量。
connection_limit单协议连接或 socket 数量上限。
message_limit单条消息字节上限。
write_queue_limit单连接写队列上限。
idle_ttl_msTCP/WebSocket 连接空闲关闭时间,0 表示关闭该策略。

代码示例

注意事项

  • BT.stats() 按需读取统计,不会在 VM 普通指令执行时维护重型计数。
  • cache 统计只反映当前线程的 VM 线程本地缓存。
  • net.event_queue_rejected 大于 0 表示网络事件队列发生过满载,TCP/WebSocket 消息事件会触发连接关闭,UDP 报文会被丢弃。
  • I/O 环境变量配置错误会在第一次使用相关 I/O 能力时报错,不会静默回退到危险默认值。