SuperAPI AI 工具集

rust-observability

编程与开发

查看项目

更新于 10-15 21:48

技能介绍

用途:为 Rust 应用设计、落地与评审可观测性方案。核心原则是从运维问题与失效模式出发,让日志解释离散事件、追踪连接跨边界工作、指标量化随时间的行为、性能剖析诊断资源消耗,不把同一数据发往所有信号。

主要能力与范围:tracing 与 subscriber、结构化日志、metrics、OpenTelemetry、上下文传播、采样、导出器、请求关联、异步运行时诊断、脱敏与关闭刷新。并发正确性、HTTP 中间件、安全事件策略、性能剖析、依赖特性分别属于其他技能。

工作流程:先列运维必须回答的问题(请求速率与延迟、错误分类、饱和度、队列深度、重试、依赖健康、任务泄漏、资源用量、部署身份),定义服务名、环境、版本、实例属性、归属、保留、访问控制与成本预算,再选导出器。用 tracing span 表示有时长的操作与嵌套工作,用 event 表示时间点事实;字段与 span 命名保持一致的领域含义,跳过秘密、请求体、凭证、原始 SQL 值与大载荷,记录稳定错误类别与结果。指标按用途选择 counter、gauge、histogram,标签保持低基数,禁止用用户 ID、请求 ID、原始 URL 路径、SQL 文本、任意错误消息或无界租户 ID;直方图单位与分桶由 SLO 决定。分布式上下文只从可信传输格式提取,创建服务端或消费端 span,并注入到出站请求或消息;分离的后台工作可能需要 link 而非继承父级。仅在需要互操作或厂商中立导出时使用 OpenTelemetry,并检查信号成熟度、crate 版本、运行时要求、批量行为与导出器兼容性。

管线与关闭:在进程启动时一次性组合 subscriber 与 layer;过滤器仅在经过认证与审计的控制下可重载;导出器队列要有界并定义丢弃或背压行为;采样策略明确,保证错误与稀有路径可见而成功流量可负担;在关闭截止时间内刷新或关闭遥测 provider;避免导出器复用同一被插桩网络路径造成递归遥测。

验证与限制:测试字段名、级别、错误分类、上下文传播、脱敏、基数、禁用 subscriber 行为、导出器失败、队列饱和与关闭刷新,用测试 subscriber 或内存导出器而非断言易变的格式化行;诊断构建可用 tokio-console 查找长轮询、资源等待与泄漏任务,但不要公开其控制端点。该技能本身不收集、存储或传输用户数据,但遥测变更可能外发生产数据,启用导出器前须确认授权、目标、保留、脱敏与访问控制。资料未提供具体安装命令、价格或平台信息。