Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure应用程序洞察采样(ItemCount)_Azure_Azure Application Insights - Fatal编程技术网

Azure应用程序洞察采样(ItemCount)

Azure应用程序洞察采样(ItemCount),azure,azure-application-insights,Azure,Azure Application Insights,我有一个关于Azure App Insights采样的问题。 如果日志项的itemCount字段大于1,是否意味着存在完全相同的请求并对其进行了采样 我的日志有一个请求,该请求发送itemCount=2的消息。此请求以OptimisticConcurrencyException结束,因此我的事务已回滚。在此事务中,我向第三方服务发送消息。 最有趣的是,他们告诉我他们从我的服务中收到了2条消息,并且我的数据库已经更新(所以事务已经提交)。 如果有两个请求,其中一个返回200个代码,另一个返回500

我有一个关于Azure App Insights采样的问题。 如果日志项的itemCount字段大于1,是否意味着存在完全相同的请求并对其进行了采样

我的日志有一个请求,该请求发送itemCount=2的消息。此请求以OptimisticConcurrencyException结束,因此我的事务已回滚。在此事务中,我向第三方服务发送消息。 最有趣的是,他们告诉我他们从我的服务中收到了2条消息,并且我的数据库已经更新(所以事务已经提交)。 如果有两个请求,其中一个返回200个代码,另一个返回500个代码,那么所有这些都变得清晰了。但是app insights日志项abot OptimisticConcurrencyException的值itemCount=2,这意味着该异常被抛出两次(对于两个请求)。 此外,除此之外,我没有看到任何其他可能改变数据的请求,该请求正在改变


有人能解释一下app insights是如何对请求和错误进行采样的吗?

这实际上取决于采样的方式/位置,因为采样可能发生在3个不同的位置,具体取决于您如何配置应用程序

有一个,但假设:

采样算法决定删除哪些遥测项目,保留哪些遥测项目(无论是在SDK中还是在Application Insights服务中)。采样决策基于多个规则,这些规则旨在保持所有相关数据点完好无损,从而在应用程序洞察中保持诊断体验,即使数据集减少,这种体验也是可行和可靠的。例如,如果对于失败的请求,您的应用程序发送额外的遥测项目(例如从该请求记录的异常和跟踪),采样将不会分割该请求和其他遥测。它要么保留它们,要么将它们一起丢弃。因此,当您在Application Insights中查看请求详细信息时,始终可以看到请求及其相关遥测项目

更新: 我从负责取样的团队中获得了更多的细节,其工作原理如下:

  • 采样率由应用程序中每秒发生的事件数决定
  • AI SDK在请求开始时随机选择要采样的请求(因此,不知道它是否会失败或成功)
  • AI SDK分配
    itemCount=

  • 这将解释您看到的行为,当两个请求(成功+失败)被计算为两个失败时:失败的请求被“在”中采样,因此在遥测中,您将有两个失败的请求(一个itemCount=2的请求),而不是一个失败的请求和一个成功的请求,因为成功的请求被采样掉了

    在我的代码中,似乎没有额外的“层”来捕获和跟踪异常。非常感谢您的回答!它解释了一切。你真的节省了我很多时间!最后一段解释了为什么我在查询
    请求时会看到这样的奇数|按resultCode
    汇总总和(itemCount)。谢谢你的解释!我将尝试至少对
    请求
    数据禁用采样。