Корреляция Azure App-Insights с связанными вызовами управления API и Spring Boot + Apache HTTP - PullRequest
0 голосов
/ 13 марта 2019

У меня есть общедоступный API, который вызывает внутреннее веб-приложение, которое, в свою очередь, вызывает другой API (в том же экземпляре управления API, что и первый API), который выполняет внешний вызов.

My WebApp - это Spring Boot, использующий HTTP-клиент Apache, а SDK настроен для AI, и я могу видеть AppInsights до вызова зависимости.Но на этом этапе вызов следующего API APIMgmt создает новый запрос, который не коррелируется и отображается как отдельная операция (но с правильным событием BACKEND).

Я пробовал прохождение«Request-Id» и «Correlation-Context» (без изменений) от моего клиента Apache к API.App Insights отображаются, но не у того родителя, и у них нет событий BACKEND.

Как соотнести эту цепочку событий?

1 Ответ

1 голос
/ 14 марта 2019

После долгих испытаний, отладки и чтения.Это выполнимо, но вы должны получить доступ к RequestTelemetry из вашего вызывающего кода, чтобы получить правильное значение заголовка Request-Id.

    RequestTelemetryContext ctx = ThreadContext.getRequestTelemetryContext();
    RequestTelemetry reqTel = ctx.getHttpRequestTelemetry();
    String currentRequestId = reqTel.getId();
...