You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Log Insights中统一日志耗时单位并生成分布图表?

日志耗时统一单位与Log Insights分布图表生成方案

一、统一耗时单位为秒(核心解决)

先通过convert将提取的字符串型耗时转为浮点数值,再用case语句根据单位做换算,完整查询片段如下:

filter @message like /Process finished after/
| parse @message " after * *" as t_elapsed, t_unit
| convert t_elapsed to float  -- 将字符串耗时转为可计算的数值
| t_elapsed_sec = case
    when t_unit = "ms" then t_elapsed / 1000  -- 毫秒转秒
    when t_unit = "min" then t_elapsed * 60   -- 分钟转秒
    else t_elapsed  -- 秒单位保持不变
end
| filter t_unit in ("ms", "s", "min")  -- 过滤异常单位的脏数据(可选)

二、分布图表生成指导

根据不同分析需求,选择对应的查询语句和图表类型:

1. 基础耗时分布柱状图(适合看各时间段的处理次数)

用bin函数按固定时间间隔分组(比如5秒),避免因离散值过多导致图表混乱:

filter @message like /Process finished after/
| parse @message " after * *" as t_elapsed, t_unit
| convert t_elapsed to float
| t_elapsed_sec = case
    when t_unit = "ms" then t_elapsed / 1000
    when t_unit = "min" then t_elapsed * 60
    else t_elapsed
end
| stats count(*) as process_count by bin(t_elapsed_sec, 5)  -- 按5秒间隔分组,可调整数值
| sort bin(t_elapsed_sec, 5) asc

图表选择:柱状图,X轴设为分组后的秒数区间,Y轴设为process_count。

2. 耗时占比饼图/堆叠柱状图(适合看各区间的占比)

通过窗口函数计算总数量,再得出各分组的占比:

filter @message like /Process finished after/
| parse @message " after * *" as t_elapsed, t_unit
| convert t_elapsed to float
| t_elapsed_sec = case
    when t_unit = "ms" then t_elapsed / 1000
    when t_unit = "min" then t_elapsed * 60
    else t_elapsed
end
| bin t_elapsed_sec as sec_bin by 10  -- 按10秒间隔分组,可调整
| stats count(*) as cnt by sec_bin
| total_process = sum(cnt) over ()
| percentage = round((cnt / total_process) * 100, 2)  -- 保留两位小数
| sort sec_bin asc

图表选择:饼图(看整体占比)或堆叠柱状图(对比各区间占比变化)。

3. 耗时分布箱线图(适合分析异常值、中位数)

用百分位统计函数直接计算关键指标:

filter @message like /Process finished after/
| parse @message " after * *" as t_elapsed, t_unit
| convert t_elapsed to float
| t_elapsed_sec = case
    when t_unit = "ms" then t_elapsed / 1000
    when t_unit = "min" then t_elapsed * 60
    else t_elapsed
end
| stats 
    percentile(t_elapsed_sec, 25) as 下四分位,
    percentile(t_elapsed_sec, 50) as 中位数,
    percentile(t_elapsed_sec, 75) as 上四分位,
    min(t_elapsed_sec) as 最小耗时,
    max(t_elapsed_sec) as 最大耗时

图表选择:箱线图(直观展示数据分布的离散程度)或表格(查看具体数值)。


内容的提问来源于stack exchange,提问作者walen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 05:40:29