C# 为什么在Application Insights依赖关系时间表中存在差距?
我们在Azure网站上托管了一个asp.net核心api,可执行以下操作:C# 为什么在Application Insights依赖关系时间表中存在差距?,c#,azure,asp.net-core,azure-application-insights,C#,Azure,Asp.net Core,Azure Application Insights,我们在Azure网站上托管了一个asp.net核心api,可执行以下操作: var sw = new Stopwatch(); var t1 = InsertToTableStorageAsync(); sw.Start(); // Measure the actual time between these two calls // more code here sw.Stop(); Debug.WriteLine(sw.ElapsedMilliseconds); //20 ms in debu
var sw = new Stopwatch();
var t1 = InsertToTableStorageAsync();
sw.Start(); // Measure the actual time between these two calls
// more code here
sw.Stop();
Debug.WriteLine(sw.ElapsedMilliseconds); //20 ms in debug mode
var r2 = await PerformAnAzureSearchAsync().ConfigureAwait(false);
//more code here
var r1 = await t1.ConfigureAwait(false);
查看insights时,我们会看到以下依赖关系时间线:
请注意存储依赖项何时结束与搜索依赖项何时开始之间的差距。超过100毫秒。这是Insights门户、报告中的一个bug吗?或者这是我们可以用代码改进的地方
更新日期:2018年1月30日
我决定在调试时用秒表测量两次调用之间的时间,结果是20ms
,比Insights报告的~100ms
快五倍。我知道我在调试,但我认为发布版本更快
这两个电话之间的差距很大,看起来不太对劲。这是应用程序洞察中的错误吗
我想不是。我也在我这边测试,结果和你一样。状态为成功(绿色)。加载依赖项确实需要一段时间。您似乎调用了两个不同的依赖项,因此您确实需要花一段时间将两个依赖项加载到项目中。就像在浏览器中运行页面一样,您也需要一段时间来查看页面。您可以阅读此(请求时间线),官方结果也会在两次调用之间留出一段时间
请求时间线
在另一种情况下,没有特别长的依赖调用。但通过切换到时间线视图,我们可以看到内部处理中出现延迟的地方:
我们也遇到了同样的情况,我们正在努力找出为什么请求和数据库依赖项调用之间的时间如此之长……在某些情况下,可能需要30秒或更长时间
这应该是一个评论,而不是回答