Трассировка (программное обеспечение)

редактировать

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

Не всегда существует четкое различие между трассировкой и другими формами ведения журнала, за исключением того, что термин трассировка почти никогда не применяется к журналированию, что является функциональным требованием программы (исключая регистрацию данных из внешнего источника, например сбор данных в эксперименте по физике высоких энергий и запись с упреждающей записью ). Журналы, в которых регистрируется использование программы (например, журнал сервера ) или события операционной системы, представляющие наибольший интерес для системного администратора (см., Например, Просмотр событий ), падают. в терминологическую серую зону.

Эта статья в основном посвящена трассировке в целях отладки или диагностики.

Содержание
  • 1 Сравнение регистрации событий и трассировки
  • 2 Регистрация событий
  • 3 Программная трассировка
  • 4 Методы
  • 5 Анализ трассировки
  • 6 См. Также
  • 7 Ссылки
Событие ведение журнала в сравнении с отслеживанием

Трудности в проведении четкого разграничения между журналированием событий и программной трассировкой возникают из-за того, что одни и те же технологии используются для обоих, а также из-за того, что многие из критериев, которые различают эти два, являются непрерывными а не дискретный. В следующей таблице перечислены некоторые важные, но ни в коем случае не точные или универсальные различия, которые используются разработчиками для выбора технологий для каждой цели и которые определяют отдельную разработку новых технологий в каждой области:

Регистрация событийОтслеживание программного обеспечения
Используется в основном системными администраторамиИспользуется в основном разработчиками
Регистрирует "высокоуровневую" информацию (например, неудачную установку программы)Регистрирует "низкий уровень" информация (например, выброшенное исключение )
не должно быть слишком «шумным» (содержать много повторяющихся событий или информация не полезна для целевой аудитории)Может быть шумным
A на основе стандартов формат вывода часто желателен, иногда даже необходимНесколько ограничений на формат вывода
Сообщения журнала событий часто локализованы Локализация редко вызывает беспокойство
Добавление новых типов события, а также новые сообщения о событиях не должны быть гибкимиДобавление новых сообщений трассировки должно быть гибким
Eve nt logging

Регистрация событий предоставляет системным администраторам информацию, полезную для диагностики и аудита. Различные классы событий, которые будут регистрироваться, а также то, какие детали будут появляться в сообщениях о событиях, часто рассматриваются на ранних этапах цикла разработки. Многие технологии регистрации событий позволяют или даже требуют присвоения каждому классу событий уникального «кода», который используется программным обеспечением регистрации событий или отдельным средством просмотра (например, средством просмотра событий) для форматирования и вывода удобочитаемого сообщения. Это облегчает локализацию и позволяет системным администраторам более легко получать информацию о возникающих проблемах.

Поскольку регистрация событий используется для регистрации высокоуровневой информации (часто информации о сбоях), производительность реализации регистрации часто менее важна.

Особое внимание уделяется предотвращению "слишком частой" записи повторяющихся событий.

Трассировка программного обеспечения

Трассировка программного обеспечения предоставляет разработчикам информацию, полезную для отладки. Эта информация используется как во время циклов разработки, так и после выпуска программного обеспечения. В отличие от регистрации событий программная трассировка обычно не имеет понятия «класс» события или «код события». Другие причины, по которым решения для регистрации событий, основанные на кодах событий, не подходят для программной трассировки, включают:

  • Поскольку программная трассировка выполняется на низком уровне, часто необходимо определить гораздо больше типов сообщений, многие из которых будут только используется в одном месте кода. Парадигма кода события вводит значительные накладные расходы на разработку для этих «одноразовых» сообщений.
  • Типы сообщений, которые регистрируются, часто менее стабильны в течение цикла разработки, чем для регистрации событий.
  • Поскольку выходные данные трассировки предназначены для использования разработчиком, сообщения не нужно локализовать. Поэтому важно хранить сообщения трассировки отдельно от других ресурсов, которые необходимо локализовать (например, сообщений о событиях).
  • Есть сообщения, которые никогда не должны отображаться.
  • Сообщения трассировки должны храниться в коде, потому что они могут улучшить читаемость кода. Это не всегда возможно или выполнимо с решениями для регистрации событий.

Еще одним важным фактором, который следует учитывать при отслеживании программного обеспечения, является производительность. Поскольку программная трассировка выполняется на низком уровне, возможный объем сообщений трассировки намного выше. Чтобы решить проблемы с производительностью, часто необходимо отключить трассировку программного обеспечения либо во время компиляции, либо во время выполнения.

Другие особые проблемы:

  • В проприетарном программном обеспечении данные трассировки могут включать конфиденциальную информацию об исходном коде продукта.
  • , если трассировка включена или отключена во время выполнения, многие методы трассировки требуют включения значительного количества дополнительных данных в двоичный файл, что может косвенно снизить производительность, даже если трассировка отключена.
  • Если трассировка включена или отключена во время компиляции, получение данных трассировки Решение проблемы на компьютере клиента зависит от желания и возможности клиента установить специальную версию программного обеспечения с поддержкой трассировки, а затем воспроизвести проблему.
  • Многие виды использования трассировки имеют очень строгие надежность требования. Это связано как с надежностью вывода трассировки, так и с тем, что отслеживаемый вариант использования не должен быть нарушен.
  • В операционных системах трассировка иногда полезна в ситуациях (например, загрузка ), где некоторые технологии, используемые для ведения журнала событий, могут быть недоступны.
  • во встроенном программном обеспечении для отслеживания требуются специальные методы.
Методы

Программная трассировка :

Event ведение журнала:

  • syslog (см. реализации)

Подходит для обоих:

Анализ трассировки

Анализ трассировки состоит из извлечения знаний из выполнения программных систем. Один из видов анализа трассировки - это выравнивание трассы, он состоит из выявления частей в трассах, которые являются общими и соответствуют одному и тому же поведению. Выравнивание трассы - сложная проблема из-за размера трассы, а также из-за недетерминизма и шума в реальных трассировках.

См. Также
Ссылки
Последняя правка сделана 2021-06-11 09:05:00
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте