我有一组3个应用程序,它们将状态更新到CosmosDB。从CosmosDB,数据在更改时存储在Application Insights上。
我感兴趣的是,在一段时间内,其中一个应用程序有1个或0个连接,而不是预期的2个连接。
我使用的当前查询是:
| where operation_Name == "MyChangeLogFunction"
| where customDimensions.prop__Key == "asset-1"
| sort by timestamp desc
| extend telemetry = parse_json(tostring(customDimensions.prop__Stream))
| project timestamp, v=toint(telemetry.open_connections)
| project timestamp, v_to=prev(v), v_from=v
| where v_from != v_to
但是使用prev()并不是一个非常干净的查询,我需要手动对所有资产重复查询。
理想情况下,我会有一个查询,它会根据每个资产的连接数量对时段进行聚类,因此我的结果如下所示:
[asset-id] [open connections] [start time] [end time]
有没有一种方法可以编写这样的查询?
1条答案
按热度按时间6l7fqoea1#
你可以使用bin function来创建时间段:
这将为您提供每个资产每1小时内所有打开的连接的总和,最小值,平均值和最大值。在您的情况下,如果平均值小于2,您就会感兴趣。