Добавление CorrelationId в приложение, позволяющее вести журнал и телеметрию из основного приложения asp dotnet - PullRequest
0 голосов
/ 20 марта 2019

Мне необходимо добавить CorrelationId для сквозной трассировки запроса в основном приложении asp dotnet.Я использую идеи приложений Azure для ведения журнала и телеметрии.Как добавить Id корреляции для запроса области действия так, чтобы каждый вызов Ilogger на различных уровнях и вызов телеметрии записывал эту информацию?

Ниже приведен фрагмент кода, используемый для обеспечения понимания приложений:

 .UseApplicationInsights()
 .ConfigureLogging(loggingBuilder => loggingBuilder.AddApplicationInsights())

1 Ответ

0 голосов
/ 08 мая 2019

Application Insights определяет модель данных для распределенной телеметрической корреляции.Чтобы связать телеметрию с логической операцией, каждый элемент телеметрии имеет поле контекста с именем operation_Id.Этот идентификатор является общим для каждого элемента телеметрии в распределенной трассировке.Таким образом, даже при потере телеметрии из одного уровня вы все равно можете связать телеметрию, сообщаемую другими компонентами.

Распределенная логическая операция обычно состоит из набора операций меньшего размера, которые представляют собой запросы, обрабатываемые одним из компонентов.,Эти операции определяются запросом телеметрии .Каждый запрос телеметрии имеет свой собственный идентификатор, который идентифицирует его уникально и глобально.И все элементы телеметрии (такие как трассировки и исключения), которые связаны с этим запросом, должны установить для operation_parentId значение идентификатора запроса.

Представлена ​​каждая исходящая операция, такая как вызов HTTP в другой компонент. телеметрия зависимости .Телеметрия зависимостей также определяет свой собственный идентификатор, который является глобально уникальным.Запрос телеметрии, инициируемый этим вызовом зависимости, использует этот идентификатор в качестве своего operation_parentId.

Вы можете создать представление распределенной логической операции, используя operation_Id, operation_parentId и request.id с зависимости.Эти поля также определяют порядок причинности вызовов телеметрии.

Справочник по документации - ссылка

Надеюсь, что приведенная выше информация поможет.

...