Распределенная трассировка .NET
Распределенная трассировка — это метод диагностики, который помогает инженерам локализовать ошибки и проблемы с производительностью в приложениях, особенно те, которые могут быть распределены между несколькими компьютерами или процессами. Этот метод отслеживает запросы через приложение, соотносяющее работу, выполняемую различными компонентами приложения, и разделяя его от другой работы, которую приложение может выполнять для одновременных запросов. Например, запрос к обычной веб-службе сначала может быть получен подсистемой балансировки нагрузки, а затем перенаправлен в процесс веб-сервера, который затем выполняет несколько запросов к базе данных. Использование распределенной трассировки позволяет инженерам различать, если какой-либо из этих шагов завершился сбоем, как долго каждый шаг был выполнен, и потенциально регистрировать сообщения, созданные на каждом шаге при выполнении.
Начало работы для разработчиков приложений .NET
Ключевые библиотеки .NET инструментируются для автоматического создания сведений распределенной трассировки. Однако эти сведения необходимо собирать и хранить, чтобы она была доступна для последующей проверки. Как правило, разработчики приложений выбирают службу телеметрии, которая хранит эти сведения трассировки для них, а затем использует соответствующую библиотеку для передачи данных телеметрии распределенной трассировки в выбранную службу:
- OpenTelemetry — это нейтральная от поставщика библиотека, которая поддерживает несколько служб. Дополнительные сведения см. в разделе Сбор распределенных трассировок с помощьюOpenTelemetry.
- Application Insights — это полнофункциональный сервис, предоставляемый корпорацией Майкрософт. Дополнительные сведения см. в статье Сбор распределенных трассировок с помощьюApplication Insights.
- Существует множество поставщиков высококачественного мониторинга производительности приложений сторонних разработчиков, которые предлагают интегрированные решения .NET.
Дополнительные сведения см. в статье Основные понятия распределенной трассировки и следующие руководства.
- Сбор распределенных трассировок с помощью пользовательской логики
- Добавление пользовательской инструментовки распределенной трассировки
Для сторонних служб сбора данных телеметрии следуйте инструкциям по настройке, предоставленным поставщиком.
Встроенные действия, генерируемые .NET
См. полный список действий, встроенных в .NET, в разделе Встроенные действия в .NET.
Начало работы для разработчиков библиотек .NET
Библиотекам .NET не нужно беспокоиться о том, как телеметрия собирается в конечном итоге, а только тем, как она создается. Если вы хотите, чтобы потребители вашей библиотеки могли видеть детальную работу в распределенной трассировке, добавьте распределённое инструментирование для её поддержки.
Дополнительные сведения см. в статье о понимании основных понятий распределенной трассировки и в руководстве по добавлению пользовательского инструментирования распределенной трассировки.