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