您好,我刚开始使用 App Insights。 我需要帮助确定为什么我的查询将某些用户汇总为“OTHER”(大写)
图表(柱形图或条形图)上可以呈现的项目数量似乎有限制
我记录了一些自定义事件,记录用户何时在基于浏览器的应用程序中执行各种功能,记录用户名、他们的角色和执行的功能以及时间戳
我有这个查询来查看我的用户何时登录,集中到每小时的垃圾箱中。
当我运行 2 天时,效果很好 当我运行 7 天时,它会将一些用户集中在“OTHER”下(全部大写)
如果我渲染到表格,则不会显示“其他” 当我渲染到柱形图或条形图时,出现“其他”
是的,我可以运行它更短的时间,或者放弃用户的细分,但有没有办法提高限制?
let mainTable = union customEvents
| where datetime_utc_to_local(timestamp,'Pacific/Auckland') > startofday(ago(7d)) // from beginning of yesterday
| where datetime_utc_to_local(timestamp,'Pacific/Auckland') < startofday(now()) // to beginning of today
| where isempty(operation_SyntheticSource) //not Synthetic users
| where itemType == "customEvent" //only custom data
| where customDimensions["FunctionName"]=="Log in" //only logins
| extend FunctionName = customDimensions["FunctionName"];
let queryTable = mainTable;
let splitTable = () { //splitting table by... (user)
queryTable
| extend user_dim = customDimensions["User"] //get username as dimension
| extend user_dim = iif(isempty(user_dim), "<undefined>", user_dim) //show "undefined" if user is blank
};
let cohortedTable = splitTable
| extend byDimension = bin(datetime_utc_to_local(timestamp,'Pacific/Auckland'), 1h) // 1h group by hourly buckets 30m =30 min
| summarize metric = count_distinct(user_Id) by byDimension, user_dim;
cohortedTable
| project byDimension, user_dim, metric //show these in the output
| summarize metric = sum(metric) by user_dim, byDimension
| render columnchart
//| render table
//| render barchart
在探索您的问题后,我发现从应用程序洞察中生成的图表可视化日志存在限制,而不是使用行表表示。
默认情况下,它通常维护最多 12 个不同类别的记录可视化,具体取决于可视化类型。如果超过此限制,则分为
"OTHER"
类别。
如果使用行(表)表示,它可以记录尽可能多的结果日志。
并且不能直接增加图表的限制来实现完整的可视化。
或者,作为解决方法,您可以尝试以简短的方式过滤掉用户的信息日志。
top
运算符通过应用从查询返回的过滤器来限制行数,如下所示。
我已经执行了一个示例查询来向您展示它是如何工作的,因为我没有在最近的日志时间戳中跟踪自定义事件。
requests
| top 10 by appId
更改后的查询片段:
let cohortedTable = splitTable()
| extend byDimension = bin(datetime_utc_to_local(timestamp, 'Pacific/Auckland'), 1h)
| summarize metric = count_distinct(user_Id) by byDimension, user_dim
| top 10 by metric; //Modify it according to your requirement
| project byDimension, user_dim, metric
| summarize metric = sum(metric) by user_dim, byDimension
| render columnchart
或者您可以通过减少持续时间来聚合日志信息(例如:
24hr
),而不是长时间显示它。此外,您还可以将用户分组为角色或其他类别,以便于分析。