BrewFSBrewFS
BrewFSBrewFS
快速上手
运维可观测性控制平面GC 命令测试POSIX 测试Kubernetes Operator
运维

可观测性

stats、tracing、日志与 profiling。

Stats

每个挂载点都会暴露只读的 Prometheus 文本文件 <mount>/.stats:

cat /mnt/brewfs/.stats
watch -n 1 'cat /mnt/brewfs/.stats | head -80'

其中包含 FUSE 吞吐和延迟、元数据操作、对象存储流量、缓存命中、预取活动与 writeback 压力。需要实时终端面板时,可构建专用客户端:

cargo build -p brewfs-stats --release
./target/release/brewfs-stats /mnt/brewfs
./target/release/brewfs-stats /mnt/brewfs -i 2

Tracing 与日志

结构化日志与 tracing span 覆盖完整 IO 流水线 — 从 FUSE 请求到对象提交 — 一次慢写入 可以被归因到具体阶段。

RUST_LOG=brewfs=info brewfs mount --config /etc/brewfs/mount.yaml
RUST_LOG=brewfs::vfs::io::reader=trace,brewfs::chunk=debug,brewfs=info \
  brewfs mount --config /etc/brewfs/mount.yaml

Profiling

可以从运行中的 daemon 采集 CPU 与内存分配 profile,在真实 agent 负载下分析热点路径 (输出对 flamegraph 友好)。

设置 BREWFS_TRACE_CHROME=/tmp/brewfs.trace.json 可生成 Perfetto 时间线,设置 BREWFS_TRACE_FLAME=/tmp/brewfs.folded 可生成 tracing-flame 数据。系统级 CPU 分析可用 tools/perf/run_perf.sh --quick 生成 on-CPU/off-CPU 火焰图。这些模式会增加额外开销, 适合故障诊断,不应作为生产环境的常驻默认配置。

运维

运行、观测与维护 BrewFS 部署。

控制平面

对运行中的挂载执行运维命令。

On this page

StatsTracing 与日志Profiling