【问题标题】:kusto query - how to group by date and also group by namekusto 查询 - 如何按日期分组并按名称分组
【发布时间】:2020-10-27 19:29:01
【问题描述】:

在下面的查询中,我正在查看在给定日期范围内调用的第 80 个百分位数的一个 API (foo/bar1) 持续时间,以便我可以查看是否有任何峰值或降级。 (下图)

let dataset = requests 
| where name == "GET foo/bar1"
and timestamp between(datetime("2020-10-15") .. datetime('2020-10-28'));
dataset
| summarize loadTime = round(percentile(duration, 80)) by format_datetime(timestamp, 'yyyy-MM-dd')
| order by timestamp desc

我面临的挑战是可能有多个 API(我的环境中大约有 150 个),我也想获得这些 API 的第 80 个百分位,但很难做到甚至不可能做到。

【问题讨论】:

    标签: azure-data-explorer kql


    【解决方案1】:

    我可能会解决这个问题.. 从数据集中删除“名称”,然后将“名称”添加到汇总行末尾的分组部分。

    let dataset = requests 
        |
        where timestamp between(datetime("2020-10-25") .. datetime('2020-10-28'));
        dataset
        | summarize loadTime = round(percentile(duration, 80)) by format_datetime(timestamp, 'yyyy-MM-dd'), name
        | order by timestamp desc 
    

    【讨论】:

    • bin(timestamp, 1d)format_datetime(timestamp, 'yyyy-MM-dd') 分组更有效,并且会得到相同的结果(除了日期的格式会有点不同,但您可以更改重新格式化下一行使用extend 运算符)。
    • 感谢 Slavik N 提供的信息!
    猜你喜欢
    • 2020-08-28
    • 2020-08-01
    • 1970-01-01
    • 2019-04-03
    • 2013-08-18
    • 1970-01-01
    • 1970-01-01
    • 2013-08-14
    • 1970-01-01
    相关资源
    最近更新 更多