1. hour 函数说明

[TOC]

1.1. 文档说明

用于描述block statistics 中用于统计的函数hour的使用说明以及实现逻辑

1.2. 修订记录

日期 文档版本 增加/修订内容 程序版本要求
2021-07-13 R1 第一次添加文档说明 >= 6.1.0

1.3. 函数解释

hour 函数用于统计周期内某个统计key(例如S01) 在 满足临界值的情况下的持续时长

1.3.1. 数据来源

数据来源全部来自统计对代理的订阅

1.3.2. 函数参数

hour函数必须配置函数参数

  • 参数说明

    • hour_params:

      • threshold:阈值设置

        使用数学中集合的概念表示区间,(),[] 表示区间的范围 () 表示开区间,[]表示闭区间

        1. 退化区间(单值):[a] = {a}
        2. 闭区间:[a,b] = {a <= x <= b}
        3. 开区间:(a,b) = {a < x < b}
        4. 左闭右开区间:[a,b) = {a <= x < b}
        5. 左开右闭区间:(a,b] = {a < x <= b}
        6. 单侧无界,有下界但无上界,左闭:[a,]或者[a,) = {x >= a}
        7. 单侧无界,有下界但无上界,左开:(a,]或者(a,) = {x > a}
        8. 单侧无界,有上界但无下界,右闭:(,b]或者[,b] = {x <= b}
        9. 单侧无界,有上界但无下界,右开:(,b)或者[,b) = {x < b}
        10. 双侧无界:不存在这种写法,hour函数必须配置threshold
      • unit:hour函数结果的单位设置

        1. 可填写值:ms(毫秒),s(秒),m(分),h(小时),d(天)
        2. 默认值:s(秒)

1.3.3. 数据约束

  • 必须是数字(包含浮点和整数)类型,例如{"S01":1.234}
  • 如果要统计非数字类型,会尝试强制转换为数字类型,转换失败,则当前数据包丢弃,不做统计

  • 举例说明

    • 统计周期内S01满足 条件:S01 > 0 的情况下的持续时长

      • 脚本
      {
        "schedule": {
          "spec": "0 0 */1 * * *"
        },
        "key":"S01",
        "func":"hour",
        "func_params":{
          "hour_params":{
            "threshold":"(0,]",
            "unit":"s"
          }
        }
        ...
      }
      
      • 数据样本
      time                        value
      ---                         ----
      2021-07-13T09:00:00     {"S01":1}
      2021-07-13T09:01:00     {"S01":2}
      2021-07-13T09:02:00     {"S01":3}
      2021-07-13T09:03:00     {"S01":4}
      2021-07-13T09:04:00     {"S01":5}
      ...                         ...
      2021-07-13T09:59:59     {"S01":59,"S02"}
      

      统计周期范围2021-07-13T09:00:002021-07-13T10:00:00hour 值为3599

    • 统计周期内S01满足 条件:S01 > 0 && S01 < 50 的情况下的持续时长

      • 脚本
      {
        "schedule": {
          "spec": "0 0 */1 * * *"
        },
        "key":"S01",
        "func":"hour",
        "func_params":{
          "hour_params":{
            "threshold":"(0,50)",
            "unit":"h"
          }
        },
      "result": {
        "precision": 2
      },
        ...
      }
      
      • 数据样本
      time                        value
      ---                         ----
      2021-07-13T09:00:00     {"S01":1}
      2021-07-13T09:01:00     {"S01":2}
      2021-07-13T09:02:00     {"S01":3}
      2021-07-13T09:03:00     {"S01":4}
      2021-07-13T09:04:00     {"S01":5}
      2021-07-13T09:49:00     {"S01":48}
      2021-07-13T09:49:00     {"S01":"49"}
      2021-07-13T09:50:00     {"S01":50}
      ...                         ...
      2021-07-13T09:59:59     {"S01":59}
      
      1. 统计周期范围2021-07-13T09:00:002021-07-13T10:00:00hour 值为0.80,单位是小时
      2. 如果设置单位为"s",结果为2880.00,单位是秒
      3. 如果设置条件:S01 > 0 && S01 <= 50,则结果为0.83

1.3.4. 实现参照

时长计算方式

© Mixlinker all right reserved,powered by Gitbook文件修订时间: 2022-03-10 10:36:39

results matching ""

    No results matching ""

    results matching ""

      No results matching ""