Azure App-Insights与链式API管理调用和Spring Boot + Apache HTTP相关联

问题描述 投票:0回答:1

我有一个面向公众的API,它调用后端Web应用程序,后者又调用另一个API(在与第一个API相同的API管理实例中)进行外部调用。

我的Web应用程序是使用Apache HTTP客户端的Spring Boot,并且为AI配置了SDK,我可以通过依赖性调用看到AppInsights。但此时,对下一个APIMgmt API的调用会创建一个不相关的新请求,并显示为单独的操作(但使用正确的BACKEND事件)。

我已经尝试从我的Apache客户端到API的passing "Request-Id" and "Correlation-Context"(未修改)。 App Insights显示但在错误的父级下,并且没有BACKEND事件。

我如何关联这一系列事件?

spring-boot apache-httpclient-4.x azure-application-insights azure-api-management
1个回答
1
投票

经过大量的测试,调试和阅读。这是可行的,但您必须从调用代码中访问RequestTelemetry以获取正确的Request-Id标头值。

    RequestTelemetryContext ctx = ThreadContext.getRequestTelemetryContext();
    RequestTelemetry reqTel = ctx.getHttpRequestTelemetry();
    String currentRequestId = reqTel.getId();
© www.soinside.com 2019 - 2024. All rights reserved.