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

Application Insights:如何按构建版本输出总会话数及崩溃事件统计

解决方案:获取各Build版本的崩溃数与总会话数

你当前的查询仅统计了触发Crash事件的会话数,要获取该Build版本的总会话数,需要从全量事件数据中按Build维度统计所有去重的itemId,再和崩溃统计结果关联。以下是修改后的完整查询:

let usg_events = dynamic(["Crash"]);
// 1. 统计各Build的崩溃事件数(保留原有的Top5+Other合并逻辑)
let crashStats = union pageViews, customEvents, requests
    | extend name = replace("\n", "", name)
    | where name in (usg_events) // 仅过滤Crash事件
    | extend Build = iif(isempty(customDimensions["Build"]), "<undefined>", tostring(customDimensions["Build"]))
    | summarize hll_crash = hll(itemId) by Build
    | extend Crashes = dcount_hll(hll_crash)
    | order by Crashes desc
    | serialize rank = row_number()
    | extend Build = iff(rank > 5, 'Other', Build)
    | summarize merged_crash = hll_merge(hll_crash) by Build
    | project Build, Crashes = dcount_hll(merged_crash);

// 2. 统计各Build的总会话数(基于全量事件,不过滤Crash)
let sessionStats = union pageViews, customEvents, requests
    | extend Build = iif(isempty(customDimensions["Build"]), "<undefined>", tostring(customDimensions["Build"]))
    | summarize hll_session = hll(itemId) by Build
    | order by dcount_hll(hll_session) desc
    | serialize rank = row_number()
    | extend Build = iff(rank > 5, 'Other', Build)
    | summarize merged_session = hll_merge(hll_session) by Build
    | project Build, ["Build Sessions"] = dcount_hll(merged_session);

// 3. 关联两个统计结果,补全空值
crashStats
| join kind=fullouter sessionStats on Build
| project Build, Crashes = coalesce(Crashes, 0), ["Build Sessions"] = coalesce(["Build Sessions"], 0)
| order by ["Build Sessions"] desc

关键改动说明

  • 拆分统计逻辑:将崩溃统计和总会话统计拆分为独立模块,确保两者的Build分组规则(Top5+Other)完全一致
  • 全量会话统计:总会话模块使用未过滤Crash的全量事件数据,保证统计的是该Build下所有会话
  • 关联与补值:用fullouter关联避免遗漏数据,coalesce将空值转为0,保证结果完整性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 12:14:59