Запуск трассировщика
Выполните следующие действия для настройки и запуска системной трассировки:
Настройка команды trace
Команда trace запускает трассировку системных событий, а также управляет файлом протокола трассировки и буферами трассировки, в которых хранятся данные об отслеживаемых событиях. Информация о синтаксисе этой команды приведена в разделе демон трассировки.
Запись данных событий трассировки
Запись о наступлении каждого отслеживаемого события имеет следующий формат: слово, содержащее идентификатор точки трассировки и ее тип, затем переменное количество слов данных трассировки и, наконец, необязательное системное время. Слово, содержащее идентификатор и тип точки трассировки, называется ключевым словом. Оставшиеся два байта ключевого слова называются данными точки трассировки и могут применяться для регистрации события.
Идентификаторы точек трассировки
hhh0000где hhh - идентификатор точки трассировки.hhhh0000где hhhh - идентификатор точки трассировки. Трехзначный идентификатор имеет 0 в качестве наименьшей цифры. Таким образом, 32-разрядный идентификатор точки трассировки hhh равен 64-разрядному идентификатору hhh0.
Большинство идентификаторов точек трассировки определены в файле /usr/include/sys/trchkid.h. В 64-разрядных приложениях могут применяться значения в диапазоне 0x010-0x0FF. В пользовательских 32-разрядных приложениях могут применяться значения в диапазоне 0x010-0x0FF. Все остальные значения зарезервированы для системных целей. Список определенных в данный момент идентификаторов точек трассировки можно просмотреть с помощью команды trcrpt -j.
Применение каналов трассировки общего назначения
Трассировщик может поддерживать до восьми активных сеансов трассировки одновременно. Каждый сеанс трассировки работает с отдельным каналом специального файла мультиплексной трассировки /dev/systrace. Канал 0 служит для регистрации системных событий. Трассировка системных событий запускается командой trace и завершается командой trcstop. Каналы 1-7 называются каналами трассировки общего назначения и могут использоваться подсистемами для трассировки других событий, например, событий передачи данных.
Для инициализации канала трассировки общего назначения подсистема вызывает функцию trcstart, которая активизирует канал трассировки и возвращает его номер. После этого модули подсистемы могут регистрировать события с помощью макросов TRCGEN или TRCGENT, либо функций trcgen, trcgent, trcgenk или trcgenkt. Номер канала, возвращаемый функцией trcstart, должен передаваться в эти функции в числе прочих параметров. Подсистема может приостановить регистрацию с помощью функции trcoff, возобновить ее с помощью функции trcon и деактивировать канал трассировки с помощью функции trcstop. События, отслеживаемые в каждом канале, должны заноситься в отдельный файл протокола трассировки, который по умолчанию называется /var/adm/ras/trcfile.n, где n - это номер катала. Для активизации и деактивизации трассировки в подсистеме должен быть предусмотрен пользовательский интерфейс.
Запуск трассировки
Ниже описаны способы запуска трассировки.
- Запустите трассировку с помощью команды trace. Запустите трассировку в асинхронном режиме. Например:
trace -a mycmd trcstopВ асинхронном режиме трассировка выбранных системных событий (например, команды mycmd) запускается с помощью демона trace. Завершить трассировку позволяет команда trcstop.
ИЛИ
Запустите трассировку в интерактивном режиме. Например:trace ->!mycmd ->quitПри работе с трассировкой в интерактивном режиме необходимо перейти к командной строке -> и с помощью подкоманд трассировки (таких как !) выполнять трассировку выбранных системных событий. Завершить трассировку можно с помощью подкоманды quit.
- Вызовите команду smit trace и выберите опцию
Запустить трассировку.
smit trace
Завершение трассировки
Ниже описаны способы завершения трассировки.
- Если трассировка выполняется
в асинхронном режиме, введите в командной строке команду
trcstop:
trace -a mycmd trcstopВ асинхронном режиме трассировка выбранных системных событий (например, команды mycmd) запускается с помощью демона trace. Завершить трассировку позволяет команда trcstop.
- Если команда trace была запущена в
интерактивном режиме из командной строки, то введите подкоманду
quit:
trace ->!mycmd ->quitОб интерактивном режиме свидетельствует командная строка ->. Подкоманды trace (например, !) позволяют выполнять трассировку выбранных системных событий. Завершить трассировку можно с помощью подкоманды quit.
- Вызовите команду smit trace и
выберите опцию Завершить трассировку.
smit trace
Создание отчета трассировки
Ниже описаны различные способы создания отчета о трассировке событий.
- С помощью команды trcrpt:
trcrpt>/tmp/NewFileВ предыдущем примере данные файла протокола трассировки форматируются и записываются в файл /tmp/newfile. Команда trcrpt получает данные из файла протокола трассировки, форматирует записи трассировки и создает отчет.
- С помощью команды smit trcrpt:
smit trcrpt