框架性能日志

Nebula会针对HTTP请求处理生成另外一份日志:框架性能日志

这里所说的框架包含3部分:

  • ASP.NET Core
  • Nebula
  • ClownFish

日志产生条件:框架代码执行时间大于 性能阀值

性能阀值:

  • 参数名:Nebula_Performance_ThresholdMs
  • 默认值:0
  • 数量单位:毫秒
  • 配置方式:环境变量,配置服务,本地配置文件
  • ES中的索引名称:nebulalog-yyyyMMdd
  • 说明:如果参数值小于等于零,则表示不启用。



日志样例:

xx

xx

说明:

  • 此处的 OprId 和 OprLog中的OprId相同,目的就是为了方便相互查找。
    比如:在浏览 NebulaLog时,可以根据某个OprId找到对应的HTTP操作日志OprLog,反之也成立。
  • UserCode是相对框架代码来说的,一般是指Action的代码
  • PreFindAction和PostFindAction之间包含了所有Middleware和Filter在Action【之前】的执行时间
  • PostRequestExecute和UpdateRequestCache之间包含了所有Middleware和Filter在Action【之后】的执行时间
  • 默认情况下Nebula并没有引入其它Middleware和Filter,如果上面2个阶段产生了耗时,那么都是ASP.NET本身的消耗




ES配置说明

为了能看到上面的截图,需要在ES中配置以下地方:

  • 创建一个名为 nebulalog 的 index template,并引入合适的生命周期策略。
  • 创建一个名为 nebulalog-* 的 Index pattern