Запись информации трассировки в файл событий
tracelogger [-cEPRrw] [-A атрибут] [-b число] [-d режим] [-F число] [-f файл] [-k число] [-M -S размер] [-n число] [-s число] [-v[v...]]
- -A атрибут
- Указать атрибут для добавления в журнал. Для значения атрибут предусмотрен формат имя=значение, где имя и значение представлены произвольными строками.
| Использование следующих имен или значений недопустимо: При использовании этого значения утилита tracelogger выводит сообщение и игнорирует указанный атрибут. |
Эту опцию можно указать несколько раз для добавления информации, используемой для идентификации регистрируемого сценария. Пример:
tracelogger -s1 -A MACHINE_NAME=tx86 -A PERIOD=1s
- -b число
- Максимальное число динамических буферов, выделяемых в утилите tracelogger. Значение по умолчанию –
64
. Размер каждого буфера составляет приблизительно 11 Кб.
- -c
- Работать в непрерывном режиме. По умолчанию утилита работает в итерационном режиме.
- -d режим
- В настоящее время режим может принимать следующие значения:
- 1 ("Один")
- Запустить в режиме сервиса. Если не указана опция -E, утилита tracelogger игнорирует все остальные опции, а конфигурирование, запуск и останов трассировки выполняются используемым приложением (см. TraceEvent()).
- -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
- Регистрировать события в расширенном режиме. По умолчанию выполняется регистрация событий в быстром режиме.
| - Эту утилиту может выполнить только пользователь root.
- Для обеспечения возможности регистрации событий трассировки в системе должна выполняться инструментальная версия procnto*-instr.
|
ЗОСРВ «Нейтрино»
aarch64, arm, armv7, e2k, mips, ppc, x86
Сервис 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.
Базовые подсистемы ЗОСРВ «Нейтрино»
procnto*-instr, qconn, traceprinter
TraceEvent()
Предыдущий раздел: Сервисы