Azure Monitor 'Response time' 和 AppInsights 'Duration' 有什么区别?

What is the difference between Azure Monitor 'Response time' and AppInsights 'Duration'?

有谁知道为什么 Azure 监视器中的 'Average response time' 指标并不总是与 Application Insights 响应时间匹配?

是抽样的原因吗?

例如,这是我从我的 Azure 应用服务中提取的一些统计数据:

..以及 AppInsights 中的相应统计数据:

所以有颠簸..但差异很大。

有区别吗?如果有,它们是什么?我无法在任何地方找到文档。

谢谢。

两者 Azure Monitoring and Application Insights 都将这些指标定义为您的应用响应请求所需的时间。 Dmitry 正确地指出,差异主要是因为服务正在监视流程的哪个部分。 Azure Monitoring 正在收集整个 Web 服务器上的统计信息。这就是为什么除了响应时间之外,它还报告 CPU 和内存使用情况。另一方面,Application Insights 内置于您的代码中,因此它只能告诉您代码花了多长时间 运行。它不知道您使用了多少 CPU,但它可以告诉您有关代码的信息,例如数据库调用花费了多长时间。出于这个原因,我希望应用服务报告的数字高于 App Insights。

抽样可能不会对差异产生重大影响 - 至少您不会期望差异随着时间的推移如此一致。肯定会产生影响的一件事是,如果您在同一个应用程序服务上有多个应用程序。 Azure Monitor 查看服务上的所有应用程序,而 Application Insights 只查看那个应用程序。