Как ILogger регистрирует в Azure Application Insights? - PullRequest
0 голосов
/ 30 апреля 2018

В функции Azure, когда вы включаете телеметрию в Application Insight и запускаете (например) вызов logger.LogInformation (где logger - это экземпляр ILogger), он отправляет его в экземпляр Application Insight асинхронно ( то есть неблокирующая), синхронно (блокирующая) или через локальный журнал, который сливается асинхронно?

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

Это, по-видимому, соответствующий код для конкретно того, как данные отправляются в Application Insights:

https://github.com/Microsoft/ApplicationInsights-dotnet/tree/develop/src/Microsoft.ApplicationInsights/Channel

ILogger упаковывает TelemetryClient, который отправляет данные в ITelemetryChannel.

InMemoryTelemetryChannel содержит логику того, как данные объединяются и отправляются в Application Insights. Как упоминал Джон, канал использует «буфер» для хранения данных, которые не были отправлены. Буфер очищается, и данные асинхронно отправляются на портал Azure, когда буфер заполнен или в определенное время внутреннее (30 секунд).

0 голосов
/ 30 апреля 2018

Обычно , регистратор подключается для преобразования журнальных вызовов в различные trackMessage или связанные вызовы в SDK Application Insights. эти сообщения группируются на стороне AI, а затем отправляются после того, как пороговое количество сообщений достигнуто или по истечении определенного времени. все вызовы для понимания приложений не блокируют и не будут генерировать исключения (вы не хотите, чтобы телеметрия негативно влияла на ваше реальное приложение!)

c # sdks, которые будут использовать функции лазури, будут здесь: https://github.com/Microsoft/ApplicationInsights-dotnet/

Я сказал обычно наверху, потому что все это зависит от того, как настроен SDK, и это будет зависеть от функций Azure, лежащих в основе кода. GitHub с их информацией находится здесь: https://github.com/Azure/Azure-Functions,, и у них также есть специальная вики с информацией об AI, здесь: https://github.com/Azure/Azure-Functions/wiki/App-Insights

...