Azure Application insights端到端事务详细信息不会显示整个遥测序列

Azure Application insights端到端事务详细信息不会显示整个遥测序列,azure,azure-application-insights,Azure,Azure Application Insights,我们有多个微服务,并且在所有微服务上都启用了应用程序洞察。当我看到一个场景(如UI)的端到端事务详细信息时,调用服务a执行一些db操作,然后调用服务B执行一些db操作,并调用服务C。在这种场景中,我只执行端到端事务显示了第一级调用(即服务A、db操作和对服务B的调用),之后只显示“由于采样原因,此调用的更多详细信息不可用” 我甚至尝试过从AppInsights配置中删除“AdaptiveSamplingTelemetryProcessor”,但还是一样。下面是截图 虽然屏幕上的消息只提到采样,但

我们有多个微服务,并且在所有微服务上都启用了应用程序洞察。当我看到一个场景(如UI)的端到端事务详细信息时,调用服务a执行一些db操作,然后调用服务B执行一些db操作,并调用服务C。在这种场景中,我只执行端到端事务显示了第一级调用(即服务A、db操作和对服务B的调用),之后只显示“由于采样原因,此调用的更多详细信息不可用”

我甚至尝试过从AppInsights配置中删除“AdaptiveSamplingTelemetryProcessor”,但还是一样。下面是截图


虽然屏幕上的消息只提到采样,但更一般地说,这意味着在下一次微服务的遥测中,没有发现具有相同操作id的任何内容-但它找到了预期应该进行遥测的理由

解决方法是确保操作id(和父id)传播到所有微服务,并用于每个微服务记录的遥测。

通常,在使用最新的Application Insights SDK时,HTTP上的服务对服务调用绑定为通过共享操作id。这些头存在于对插入指令的微服务的请求和该服务的响应上。这些报头的存在证明“有理由期望有遥测”

由于门户找到了这些标头存在但未从下一个服务中找到遥测的证据(并且已禁用采样),因此在下一个服务中似乎已使用不同的操作id记录了遥测。您正在使用的附加库(OWS)和

要在这种情况下实施上面粗体显示的修复,我将:

  • 找到一种不使用默认初始值设定项的方法并恢复默认初始值设定项

虽然屏幕上的消息只提到采样,但更一般地说,这意味着在下一次微服务的遥测中,没有发现具有相同操作id的任何内容-但它找到了预期应该进行遥测的理由

解决方法是确保操作id(和父id)传播到所有微服务,并用于每个微服务记录的遥测。

通常,在使用最新的Application Insights SDK时,HTTP上的服务对服务调用绑定为通过共享操作id。这些头存在于对插入指令的微服务的请求和该服务的响应上。这些报头的存在证明“有理由期望有遥测”

由于门户找到了这些标头存在但未从下一个服务中找到遥测的证据(并且已禁用采样),因此在下一个服务中似乎已使用不同的操作id记录了遥测。您正在使用的附加库(OWS)和

要在这种情况下实施上面粗体显示的修复,我将:

  • 找到一种不使用默认初始值设定项的方法并恢复默认初始值设定项

您在讨论中的所有微设备(如NET、Java、Node.js等)中使用了哪些SDK?它们是什么版本?您是否配置了自定义遥测处理器?这些是基于.NET的web api应用程序。我们使用的是最新版本的Microsofts app insights sdk,还使用了application insights owin extensions。我们只有一个自定义遥测初始值设定项,它添加了一些与租户和其他应用程序相关的信息。您在所有相关的微设备(如NET、Java、Node.js等)中使用了哪些sdk?它们是什么版本?您是否配置了自定义遥测处理器?这些是基于.NET的web api应用程序。我们正在使用最新版本的Microsofts app insights sdk,还使用application insights owin extensions。我们只有一个自定义遥测初始值设定项,它添加了一些与租户和其他应用程序相关的详细信息。我可以看到问题。。。调用下一个微服务的客户端没有传播我认为正确的操作。现在我看到两个微服务调用都在同一个操作id下,但它仍然没有显示为层次结构。。。所以仍然只有一个级别,有两个独立的调用。无父子关系对于层次结构,您需要有父id传播以及操作id。请求遥测应将其父id设置为触发它的依赖项的id。依赖项应该将父id设置为包含它的请求的id。这应该(希望!)在默认初始值设定项的情况下就可以实现。我可以看到问题。。。调用下一个微服务的客户端没有传播我认为正确的操作。现在我看到两个微服务调用都在同一个操作id下,但它仍然没有显示为层次结构。。。所以仍然只有一个级别,有两个独立的调用。无父子关系对于层次结构,您需要有父id传播以及操作id。请求遥测应将其父id设置为触发它的依赖项的id。依赖项应该将父id设置为包含它的请求的id。这应该(希望!)在默认初始值设定项的情况下就可以实现。