Что такое различие между контролем, трассировкой и профилированием?

У меня было то же, ''делают отказавшими'problem and installingpcre' решил мою проблему

apt-get install libpcre3-dev

16
задан 9 November 2012 в 03:27
2 ответа

Я так использую эти слова. Другие могут иметь дополнительное или иное использование. В зависимости от выполняемой работы я буду использовать термины по-разному. Команды разработчиков и операционные группы имеют разные потребности в использовании.

Мониторинг - это мониторинг. Обычно это непрерывный процесс, желательно автоматизированный. В эту категорию попадают такие инструменты с открытым исходным кодом, как Munin , Nagios и MRTG . Также есть много коммерческих инструментов. Я бы также включил в эту категорию sar , выполняемый постоянно, но его результаты обычно не отслеживаются. Инструменты мониторинга могут использоваться для запуска предупреждений, когда отслеживаемый ресурс падает выше или ниже уровня запуска. Многие инструменты мониторинга хорошо работают в гетерогенных средах.

Профилирование обычно выполняется в конкретной программе, чтобы увидеть, какой код использует больше всего ресурсов. Часто это время ЦП, но может также включать время памяти, ввода-вывода и время выполнения (стены). Обычно он используется для определения кода кандидата для оптимизации. Инструменты профилирования обычно зависят от языка и / или платформы.

Другой вид профилирования выполняется с использованием журналов и / или данных мониторинга. Это профилирование использования, которое может выполняться по разным причинам. Я не нашел для этого много инструментов.

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

Трассировка программы - это отслеживание выполнения программы. Обычно это делается в тестовой ситуации. Это можно сделать несколькими способами (в моем порядке использования и опыта):

  • Отслеживание вызовов с использованием таких инструментов, как strace , чтобы узнать, какой код вызывается. Это может быть полезно для определения того, почему программа дает сбой или не отвечает ожидаемым образом.
  • Ведение журнала уровня трассировки, которое зависит от включения в код соответствующих операторов журнала. Большинство комплектов журналов поддерживают этот уровень детализации. Журнал уровня трассировки имеет тенденцию к плохому покрытию кода. Обычно я добавляю его по мере необходимости и оставляю в коде для будущего использования.
  • Трассировка покрытия кода записывает, какие части кода были выполнены в наборе тестов. Это может быть полезно при определении отсутствующих тестовых случаев. 100% покрытие кода получить сложно. Должно быть достигнуто 100% покрытие нормальных потоков.
  • Проверка на рабочем месте: отслеживание кода путем его чтения. Не очень полезно для больших программ, но хороший способ определить крайние случаи для модульных тестов, ANS / или выявить возможные проблемы, когда вероятный источник был сужен. Некоторые IDE и редакторы позволяют относительно легко следить за вызовом кода реализации.
  • Оперативная отладка; отслеживание выполнения кода во время его работы с помощью отладчика. Можно отследить выполнение инструкции за инструкцией, но если проблема связана с синхронизацией, она может быть скрыта. Отладчики, которые могут связать код с текущей инструкцией, очень помогают, но могут потребовать создания отладочной версии программы.
11
ответ дан 2 December 2019 в 20:43

In SAP WEB Application server we can define these three keywords as mentioned bellow-

Monitoring, tracing and profiling techniques offered by Web as well as those techniques provided by other SAP and external systems may be integrated using the proven CCMS architecture, which may greatly simplify the maintenance of large, distributed and heterogeneous installations.

-1
ответ дан 2 December 2019 в 20:43

Теги

Похожие вопросы