类 StatActionInOut

java.lang.Object
com.iohao.game.action.skeleton.core.flow.internal.StatActionInOut
所有已实现的接口:
ActionMethodInOut

public final class StatActionInOut extends Object implements ActionMethodInOut
业务框架插件 - action 调用统计插件
     StatActionInOut 是 action 调用统计插件,可以用来统计各 action 调用时的相关数据,
     如 action 的执行次数、总耗时、平均耗时、最大耗时、触发异常次数...等相关数据
     开发者可以通过这些数据来分析出项目中的热点方法、耗时方法,从而做到精准优化。

     // StatAction 统计记录打印预览
     "StatAction{cmd[1 - 0], 执行[1]次, 总耗时[8], 平均耗时[8], 最大耗时[8], 异常[0]次}"
 

for example


         BarSkeletonBuilder builder = ...;
         // action 调用统计插件,将插件添加到业务框架中
         var statActionInOut = new StatActionInOut();
         builder.addInOut(statActionInOut);

         // 设置 StatAction 统计记录更新后的监听处理
         statActionInOut.setListener((statAction, time, flowContext) -> {
             // 简单打印统计记录值 StatAction
             System.out.println(statAction);
         });

         // 统计域(统计值的管理器)
         StatActionInOut.StatActionRegion region = statActionInOut.getRegion();

         // 遍历所有的统计数据
         region.forEach((cmdInfo, statAction) -> {
             // 简单打印统计记录值 StatAction
             System.out.println(statAction);
             // 开发者可以定时的将这些数据保存到日志或 DB 中,用于后续的分析
         });
 
 
作者:
渔民小镇
另请参阅:
日期:
2023-11-17
  • 构造器详细资料

    • StatActionInOut

      public StatActionInOut()
  • 方法详细资料

    • fuckIn

      public void fuckIn(FlowContext flowContext)
      从接口复制的说明: ActionMethodInOut
      fuck前
           这个方法不要做耗时计算, 因为是在执行你的业务方法前运行的.
           建议做一些时间记录等非耗时运算
       
      指定者:
      fuckIn 在接口中 ActionMethodInOut
      参数:
      flowContext - inout 上下文
    • fuckOut

      public void fuckOut(FlowContext flowContext)
      从接口复制的说明: ActionMethodInOut
      fuck后
           当执行这个方法时, 已经把响应数据发送到客户端了
       
      指定者:
      fuckOut 在接口中 ActionMethodInOut
      参数:
      flowContext - inout 上下文