tracelogger
Запись
информации трассировки в файл событий
Примечание.
Синтаксис:
tracelogger
[-cEPRrw] [-A атрибут] [-b число] [-d режим]
[-F число]
[-f файл] [-k число] [-M -S размер]
[-n число]
[-s число]
[-v[v...]]
Поддерживаемые платформы:
QNX Neutrino
Целевые платформы:
x86, PPC, SH-4,
ARM и MIPS
Опции:
-A атрибут
Указать атрибут для добавления в журнал. Для значения
атрибут предусмотрен формат имя=значение, где имя
и значение представлены произвольными строками.
Примечание.
Использование следующих имен или значений недопустимо:
При
использовании этого значения утилита tracelogger
выводит сообщение и игнорирует указанный атрибут.
Эту опцию
можно указать несколько раз для добавления информации,
используемой для идентификации регистрируемого сценария. Пример.
tracelogger -s1
-A MACHINE_NAME=tx86 -A PERIOD=1s
-b число
Максимальное число динамических буферов, выделяемых в
утилите tracelogger. Значение по
умолчанию – 64. Размер каждого буфера составляет
приблизительно 11 Кб.
-c
Работать в
непрерывном режиме. По умолчанию утилита работает в итерационном
режиме.
-d режим
В настоящее
время режим может принимать следующие значения:
1
("Один")
Запустить в режиме сервиса. Если не указана опция -E, утилита tracelogger игнорирует все остальные
опции, а конфигурирование, запуск и останов трассировки
выполняются используемым приложением.
-E
Использовать расширенный режим сервиса (-d1) путем применения других
опций для утилиты tracelogger. Для начала
перехвата событий трассировки для используемого приложения по
прежнему требуется вызов функции TraceEvent().
-f файл
Имя файла для
сохранения зарегистрированных событий. По умолчанию используется
файл /dev/shmem/tracebuffer.kev.
-F число
Режим
фильтрации в зависимости от значения число:
0
Не выполнять
фильтрацию.
1
Деактивировать
класс вызовов Kernel.
2
Деактивировать
класс Interrupt.
3
Деактивировать
класс Process.
4
Деактивировать
класс Thread.
5
Деактивировать
класс VThread.
6
Деактивировать
класс Communication.
7
Деактивировать класс System.
Можно
указать несколько фильтров путем определения нескольких опций
-F. Например, для
одновременной деактивации классов Interrupt и VThread следует
указать опции -F2 -F5.
-k число
Число буферов,
выделяемых в ядре. Значение по умолчанию – 32. Размер каждого
буфера составляет приблизительно 16 Кб.
-M
Выполнить отображение журнала регистрации вместо
записи. В случае использования этой опции журнал регистрации
должен храниться в разделяемой памяти. Кроме того, следует
установить опцию -S для определения
максимального размера файла.
-n число
Число итераций для регистрации данных в итерационном
режиме. Значение по умолчанию – 32. Для определения
неограниченного числа итераций следует указать значение 0.
-P
Сохранить буферы трассировки ядра в блоке разделяемой
памяти в /dev/shmem. Если указана
эта опция, утилита tracelogger не освобождает
внутреннюю буферную память ядра при завершении работы. При
последующих запусках можно указать опцию -R для повторного использования
утилитой tracelogger тех же буферов
без перераспределения памяти.
-R
Повторно использовать буферы трассировки ядра,
созданные ранее при использовании опции -P. В случае отсутствия буферов
для повторного использования утилита tracelogger выделяет буферы ядра как
обычно.
-r
Установить
кольцевой режим для буфера ядра. По умолчанию используется
линейный режим.
-s число
Число секунд для регистрации в непрерывном режиме (в
соответствии с опцией -c). Значение по
умолчанию – 0, указывающее неограниченную продолжительность.
-S размер
Максимальный размер журнала. M – мегабайты, K – килобайты. Если буква M или K не
используется, единицей измерения считается байт. Эта опция
обязательна, если используется опция - M.
-v[v...]
Вывести
расширенную информацию; чем больше символов v, тем более подробная информация выводится.
-w
Регистрировать события в расширенном режиме. По
умолчанию выполняется регистрация событий в быстром режиме.
Описание:
Сервис tracelogger получает события из
инструментального ядра (procnto*-instr) и сохраняет их
в файл или на устройство для последующего анализа. Регистрация
выполняется в пределах запрошенного количества итераций, после
чего сервис завершает работу. Запустить сервис tracelogger можно со следующими
параметрами:
Полная
поддержка tracelogger (ограниченное управление).
Трассировка
с полной поддержкой tracelogger, самый простой способ получить
трассировочную информацию. В этом случае tracelogger выполняет
все процедуры инициализации и динамического контроля модуля
трассировки в дополнение к своим обычным задачам по сохранению
буферов трассировки в файловой системе.
Частичная
поддержка tracelogger (режим сервиса, полный контроль).
Трассировка
с частичной поддержкой tracelogger, наиболее гибкий способ
управления процессом трассировки. Однако в этом случае
требуется наибольшее вмешательство со стороны пользователя на
этапе инициализации. За исключением определения числа буферов,
tracelogger не выполняет инициализацию модуля трассировки и
его практически единственная задача состоит в регистрации
"полученных" событий трассировки в файловой системе.
Примеры:
Запуск tracelogger в расширенном режиме с
выводом информации о функционировании системы на экран
консоли; сохранение регистрируемых данных в указанный файл и
прекращение регистрации после заполнения 12 буферов
трассировки:
#tracelogger -f
/dev/shmem/my_tracebuffer -n 12 -w
Запуск tracelogger в кольцевом режиме
(фоновом) с использованием 5 внутренних буферов и ожиданием
асинхронного сигнала (например, Ctrl-C) для его
останова:
#tracelogger -r -b 5
Выполнение tracelogger в непрерывном режиме на
протяжении 20 секунд:
tracelogger -c -s20
Статус завершения:
-1
Возникла
ошибка.
Ошибки:
Серьезные
ошибки приводят к завершению работы tracelogger.
Предупреждения:
Единовременно
следует выполнять только один экземпляр tracelogger.