agilelabs-fx-docs main features/diagnostics/overview.md

诊断与运维工具总览

AgileLabs Framework 提供两类内建运维能力:

  1. 状态观察/fwdev (Fwdev Diagnostic) 页面用于查看程序集信息、请求 Header、认证信息。
  2. 流量监控/req_stat 中间件暴露实时并发、在途请求、开关控制 API,协助排查性能瓶颈。

这些入口默认在内部环境使用,建议通过网关或认证策略进行保护。

Fwdev Diagnostic (/fwdev)

  • 入口:请求 /fwdev/ASSEMBLY_VERSIONS/fwdev/HEADER_INFO/fwdev/IDENTITY_INFO
  • 实现AgileLabs.Diagnostics.FwdevDiagnositicMiddleware 读取 ITypeFinderIRequestSessionIHostEnvironment 等信息并渲染 HTML 表格。
  • 常见用法
    • 检查当前节点加载的程序集版本,确认发布是否生效。
    • 查看边缘代理注入的 Header(Host、X-Forwarded-*、Cookies)。
    • 调试认证信息(Claims)。

请求流量监控 (/req_stat)

RequestStatisticsMiddleware 会在内存中记录最近请求的并发数量、处理耗时、在途列表。常用接口:

路径 说明
/req_stat/console 第一次调用开启控制台输出,再次调用关闭,用于实时观察并发。
/req_stat/wait_path 返回当前正在处理的请求路径(JSON)。
/req_stat/switch 查看所有功能开关状态。
/req_stat/switch/{FeatureKey} 切换指定开关(如 WcfApiTrafficRecord)。

关键特性:

  • FeatureSwitchKeys 控制是否输出控制台日志、是否记录 WCF API 流量。
  • STORE_BUFFER_SIZE / REQUEST_BUFFER_SIZE 通过并发队列限制内存占用,后台任务定期清理。

Job 开关与 Hangfire Dashboard

  • JobControl.IsDisableJobs 读取环境变量 DISABLE_JOBS,用于在启动阶段禁用 Hangfire Server。
  • UseAgileLabsHangfireDashboard() 支持自定义路径、标题与授权委托,推荐部署在内网或绑定账号密码。

日志与活动跟踪

详见 日志策略Activity,可以通过环境变量 LOG_MINI_LEVELLoggingLevelControl 调整输出,配合 Activity Source 追踪跨组件调用链。


下一步: