Логирование, индикаторы прогресса и вывод статистики
Логирование в sbdctl
Утилита sbdctl поддерживает запись логов для большинства операций. Логирование — это запись протокола выполняемых программой действий и произошедших событий, при этом объем и степень подробности записываемой информации зависят от параметра, называемого уровнем логирования. По умолчанию запись логов осуществляется на стандартный поток ошибок (stderr). Поддерживаются следующие уровни логирования: trace, debug, info, warn, error. По умолчанию используется error — записывается информация только о событиях, связанных с ошибками. Все операции sbdctl с поддержкой логирования поддерживают следующие опции командной строки:
--log-to-file file — запись логов в указанный файл (по умолчанию отключено). Для просмотра логов можно использовать утилиту zstdcat.
--log-file-prefix arg — префикс для имен файлов логов. По умолчанию sbdctl-subcmd.client-nnn или sbdctl-subcmd в зависимости от того, подключается ли команда к хранилищу, или работает локально. Пример названия файла с логом: sbdctl-import.client-234.0.log.zst.
--log-level arg — установка уровня логирования, по умолчанию error.
--log-dir dir — каталог для хранения файлов логов (по умолчанию текущий каталог).
Дополнительные параметры логирования. Рекомендуется использовать значения по умолчанию, поскольку они влияют на производительность, размер и количество создаваемых файлов:
--log-buf-cnt N;
--log-buf-size-mb size;
--log-compress-level N;
--log-rotate-file-cnt N;
--log-rotate-file-size-mb size.
Индикаторы прогресса
Для операций с большим объемом данных sbdctl отображает индикатор прогресса:
Процентный индикатор (когда известен общий объем данных):
========> 35%
Вращающийся индикатор (когда объем данных неизвестен):
========> /
Пример команды использующей спиннер: sbdctl write --stdin. Поскольку заранее неизвестно, сколько данных попадет на вход sbdctl и будет записано в том, индикатор прогресса отображается на стандартном потоке ошибок, кроме тех ситуаций, когда:
при перенаправлении stderr (оператор 2>);
при уровне логирования info или выше с выводом на консоль.
Вывод статистики
Для анализа производительности и выявления узких мест при выполнении операций с сетевым блочным устройством ряд операций sbdctl поддерживают опцию сбора статистики --show-stats. Формат и содержание статистики зависят от конкретной операции. По умолчанию статистика выводится в stderr в текстовом формате. С версии 1.3.74 поддерживается вывод в формате JSON, для этого нужно указать опцию --stats-json, при этом опцию --show-stats можно не указывать. По умолчанию статистика в формате JSON представляет собой одну строку без пробелов и переносов строки. Опция --format-json добавляет форматирование (пробелы, переносы строк). Вывод статистики в файл и печать в формате XML и других на данный момент не поддерживается.
- Логирование в sbdctl
- Индикаторы прогресса
- Вывод статистики