Azure 以Kusto为单位计算百分比

Azure 以Kusto为单位计算百分比,azure,azure-data-explorer,Azure,Azure Data Explorer,我希望通过Kusto计算Azure Application Insight下服务器的正常运行时间。因此,我计划创建一个查询来提取成功请求和其他失败请求的查询,稍后我想计算它的百分比。因此,我可以在选定的时间内获得99.89%或97%的应用程序可用性值。如果我正确理解您的问题,以下示例可以为您提供指导: let failures = ... query that returns all failed requests ...; let successes = ... query that retu

我希望通过Kusto计算Azure Application Insight下服务器的正常运行时间。因此,我计划创建一个查询来提取成功请求和其他失败请求的查询,稍后我想计算它的百分比。因此,我可以在选定的时间内获得99.89%或97%的应用程序可用性值。

如果我正确理解您的问题,以下示例可以为您提供指导:

let failures = ... query that returns all failed requests ...;
let successes = ... query that returns all successful requests ...;
let failure_count = toscalar(failures | count);
let success_count = toscalar(successes | count);
print success_rate = strcat(round(100.0 * success_count / (success_count + failure_count), 2), "%")

这将返回一个表,其中有一列名为
success\u rate
,有一条记录的值为
75%

,因此您已经阅读了文档,尝试了一些查询,但还是卡住了?您可以发布您的尝试,以便我们有一些工作要做吗?另请参阅:谢谢Yoni,但我无法确定如何在数组[]中添加所有失败和成功的调用,并从中进行计算。我添加了另一个示例,可能会有所帮助-如果没有,请按照您的原始帖子的其他评论中的建议:
…您可以发布您的尝试,以便我们有一些工作要做吗?
您的上述解决方案有效,谢谢Yoni。
datatable(status:string, dt:datetime)
[
    "success", datetime(2020-12-01 21:52:50),
    "failure", datetime(2020-12-01 21:52:54),
    "success", datetime(2020-12-01 21:53:01),
    "success", datetime(2020-12-01 21:53:09),
    "success", datetime(2020-12-01 21:53:13),
    "success", datetime(2020-12-01 21:53:17),
    "success", datetime(2020-12-01 21:53:25),
    "failure", datetime(2020-12-01 21:53:33)
]
| summarize success_rate = strcat(round(100.0 * countif(status == "success") / count(), 2), "%")