tracelogger

Запись информации трассировки в файл событий

Синтаксис:

tracelogger [-cEPRrw] [-A атрибут] [-b число] [-d режим] [-F число] [-f файл] [-k число] [-M -S размер] [-n число] [-s число] [-v[v...]]

Опции:

-A атрибут
Указать атрибут для добавления в журнал. Для значения атрибут предусмотрен формат имя=значение, где имя и значение представлены произвольными строками.

Note: Использование следующих имен или значений недопустимо:
  • ::
  • TRACE_
  • =
При использовании этого значения утилита 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
Регистрировать события в расширенном режиме. По умолчанию выполняется регистрация событий в быстром режиме.


Caution:
  • Эту утилиту может выполнить только пользователь 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()




Предыдущий раздел: Сервисы