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

public final class TimeRangeInOut extends Object implements ActionMethodInOut
业务框架插件 - 各时间段调用统计插件

     BarSkeletonBuilder builder = ...;
     // 各时间段 action 调用统计插件,将插件添加到业务框架中
     var timeRangeInOut = new TimeRangeInOut();
     builder.addInOut(timeRangeInOut);
 
 
打印预览 - 一天各小时各分钟阶段的调用统计数据
  2023-11-29 action 调用次数 共 [100] 次
        0:00 共 8 次; - [15~30分钟 3 次] - [30~45分钟 2 次] - [45~59分钟 3 次]
        1:00 共 9 次; - [0~15分钟 1 次] - [15~30分钟 4 次] - [30~45分钟 1 次] - [45~59分钟 3 次]
        2:00 共 4 次; - [0~15分钟 1 次] - [15~30分钟 2 次] - [45~59分钟 1 次]
        3:00 共 2 次; - [0~15分钟 1 次] - [15~30分钟 1 次]
        4:00 共 1 次; - [0~15分钟 1 次]
        5:00 共 4 次; - [0~15分钟 1 次] - [15~30分钟 1 次] - [30~45分钟 1 次] - [45~59分钟 1 次]
        6:00 共 5 次; - [0~15分钟 1 次] - [15~30分钟 1 次] - [30~45分钟 1 次] - [45~59分钟 2 次]
        7:00 共 4 次; - [15~30分钟 2 次] - [30~45分钟 1 次] - [45~59分钟 1 次]
        8:00 共 4 次; - [0~15分钟 1 次] - [30~45分钟 3 次]
        9:00 共 4 次; - [15~30分钟 2 次] - [30~45分钟 2 次]
        10:00 共 5 次; - [15~30分钟 2 次] - [30~45分钟 1 次] - [45~59分钟 2 次]
        11:00 共 3 次; - [15~30分钟 2 次] - [45~59分钟 1 次]
        12:00 共 4 次; - [0~15分钟 2 次] - [30~45分钟 2 次]
        13:00 共 1 次; - [30~45分钟 1 次]
        14:00 共 5 次; - [0~15分钟 1 次] - [45~59分钟 4 次]
        15:00 共 6 次; - [0~15分钟 1 次] - [15~30分钟 2 次] - [45~59分钟 3 次]
        16:00 共 4 次; - [0~15分钟 1 次] - [15~30分钟 1 次] - [30~45分钟 1 次] - [45~59分钟 1 次]
        17:00 共 7 次; - [0~15分钟 1 次] - [15~30分钟 3 次] - [30~45分钟 3 次]
        18:00 共 2 次; - [0~15分钟 1 次] - [15~30分钟 1 次]
        19:00 共 7 次; - [0~15分钟 1 次] - [15~30分钟 3 次] - [30~45分钟 3 次]
        20:00 共 5 次; - [15~30分钟 3 次] - [30~45分钟 2 次]
        21:00 共 3 次; - [15~30分钟 2 次] - [30~45分钟 1 次]
        22:00 共 1 次; - [45~59分钟 1 次]
        23:00 共 2 次; - [15~30分钟 1 次] - [45~59分钟 1 次]
 
set Listener example

 private void setListener(TimeRangeInOut inOut) {
     inOut.setListener(new TimeRangeInOut.ChangeListener() {
         @Override
         public List<TimeRangeInOut.TimeRangeMinute> createListenerTimeRangeMinuteList() {
             return List.of(
                     // 只统计 0、1、59 分钟这 3 个时间点
                     TimeRangeInOut.TimeRangeMinute.create(0, 0),
                     TimeRangeInOut.TimeRangeMinute.create(1, 1),
                     TimeRangeInOut.TimeRangeMinute.create(59, 59)
             );
         }
     });
 }

 
作者:
渔民小镇
另请参阅:
日期:
2023-11-29
  • 构造器详细资料

    • TimeRangeInOut

      public TimeRangeInOut()
  • 方法详细资料

    • setListener

      public void setListener(TimeRangeInOut.ChangeListener listener)
      设置监听器
      参数:
      listener - 监听器
    • fuckIn

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

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