A PHP Error was encountered

Severity: 8192

Message: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead.

Filename: mysql/mysql_driver.php

Line Number: 319

Для Linux представлен универсальный инструмент для трассировки программ

Для Linux представлен универсальный инструмент для трассировки программ


Рубрика: Новости Linux
Метки:
Просмотров: 3602

В ответ на сожаление Линуса Торвальдса об отсутствии для Linux удобной и понятной обычным пользователям утилиты для задействования современных возможностей Linux-ядра по трассировке программ, Томас Глейкснер (Thomas Gleixner) представил на суд разработчиков утилиту "trace". В отличие от усложненных профессиональных инструментов, подобных утилите "perf", "trace" отличается простотой использования и пригодностью для решения повседневных задач. Утилита пока не оформлена в отдельный репозиторий и требует загрузки Git-репозитория с деревом ядра.

По заявлению разработчика, несмотря на то, что возможности ядра по трассировке программ за последние годы существенно возросли, так и не удалось создать инструмент, сравнимый по своему удобству с такими ветеранами, как strace, за исключением появления таких мощных специализированных инструментов, как PowerTop и LatencyTop. Утилита trace направлена на то, чтобы переломить сложившуюся ситуацию и совместить легкость использования и мощь инфраструктуры профилирования "perf".

Процесс работы с trace сводится к однократной трассировке приложения, сохранению результатов в файл и последующему анализу результатов: от генерации общих сводных отчетов до все более и более глубокого погружения в детали, с возможностью задания фильтров для выделения интересующих событий (системные вызовы, связанные с работой процесса события (fork/clone/exit), mmap-события, работа планировщика задач и т.п.). Особенностью утилиты является поддержка одновременной трассировки одной и той же программы разными пользователями.

Из планов на будущее отмечается поддержка возможностей трассировки, привязанных к отслеживанию сетевой и дисковой активности приложения, поддержка команды 'trace diff' для наглядного сравнения нескольких трассировок, реализация возможности инициирования трассировки на лету по PID-идентификатору уже запущенного процесса.

Наиболее типичные стадии работы с trace:

* "trace record имя_программы" - создание файла trace.data с результатами трассировки программ и всех порожденных потомков;

* "trace summary" - вывод краткого суммарного обзора результатов трассировки;

* "trace report" - формирования детального отчета;

* "trace report process|io|fs" - детализация отчета в категории "управление процессом", ввод/вывод или файловые операций;

* "trace report -d 0.5" - вывод информации о событиях, выполнение которых заняло более 0.5 миллисекунд;

* "trace check" - проверка, какие из возможностей ядра по трассировке программ доступны в данный момент.

Из существенных отличий от утилиты strace называется: низкое влияние на трассируемую программу; отображение аргументов системных вызовов в шестнадцатеричном представлении, за исключением таких важных аргументов, как имена файлов (trace не выполняет полное декодирование); отслеживание обращения к недопустимым страницам памяти (pagefault); возможность повторного анализа с новыми фильтрами и опциями.

Источник 2