Справочник по метрикам
На этой странице приведено подробное описание метрик из модуля
metrics.
Общая информация об экземпляре
| Системное время экземпляра в формате Unix timestamp. |
|---|---|
| Время в секундах с момента запуска экземпляра. |
| Указывает, находится ли экземпляр в режиме только для чтения ( |
Следующие метрики показывают использование памяти процессом Tarantool.
| Количество байт в кэше, используемом для хранения кортежей с движком vinyl. |
|---|---|
| Количество байт, используемых для хранения пользовательских данных (кортежей) с движком memtx и на уровне 0 движка vinyl, без учета фрагментации памяти. |
| Количество байт, используемых для индексирования пользовательских данных. Включает экстенты деревьев памяти memtx и vinyl, индекс страниц vinyl и фильтры Блума vinyl. |
| Количество байт, используемых средой выполнения Lua. Мониторинг этой метрики помогает предотвратить переполнение памяти. |
| Количество байт, используемых для буферов сетевого ввода-вывода. |
| Количество байт, используемых активными транзакциями. Для движка vinyl это общий размер всех выделенных объектов (struct |
Отчет об использовании памяти для аллокатора slab. Аллокатор slab – основной аллокатор, используемый для хранения кортежей. Следующие метрики помогают отслеживать общее использование памяти и ее фрагментацию. Подробнее о вариантах использования см. в документации на подмодуль box.slab.
Доступная память, байт
| Объем памяти, доступный для хранения кортежей и индексов. Равен |
|---|---|
| Общий объем памяти, доступный для хранения кортежей и индексов. Включает выделенные, но в данный момент свободные slab. |
| Общий объем памяти, доступный только для хранения кортежей, без индексов. Включает выделенные, но в данный момент свободные slab. |
Использование памяти, байт
| Объем памяти, уже зарезервированный аллокатором slab. |
|---|---|
| Фактически используемая память для хранения кортежей и индексов. Не учитывает выделенные, но в данный момент свободные slab. |
| Фактически используемая память для хранения только кортежей, без индексов. Не учитывает выделенные, но в данный момент свободные slab. |
Утилизация памяти, %
|
|
|---|---|
|
|
|
|
Следующие метрики предоставляют специфическую информацию о каждом отдельном спейсе в экземпляре Tarantool.
| Количество записей в спейсе. У этой метрики всегда две метки: |
|---|---|
| Общее количество байтов во всех кортежах. У этой метрики всегда две метки: |
| Общее количество байтов, занимаемых индексом. У этой метрики всегда две метки: |
| Общий размер кортежей и всех индексов в спейсе. У этой метрики всегда две метки: |
| Общее количество кортежей для vinyl. У этой метрики всегда две метки: |
Статистика сетевой активности. Эти метрики можно использовать для мониторинга сетевой нагрузки, пиков использования и падений трафика.
Отправлено байт
| Количество байт, отправленных экземпляром по сети с момента запуска экземпляра. |
|---|
Получено байт
| Количество байт, полученных экземпляром с момента запуска. |
|---|
Соединения
| Количество входящих сетевых соединений с момента запуска экземпляра. |
|---|---|
| Количество активных сетевых соединений. |
Запросы
| Количество сетевых запросов, обработанных экземпляром с момента его запуска. |
|---|---|
| Количество сетевых запросов в ожидании. |
Запросы в обработке
| Общее количество запросов, обработанных потоком tx. |
|---|---|
| Количество запросов, обрабатываемых потоком tx в данный момент. |
Запросы, помещенные в очереди потоков
| Общее количество запросов, помещенных в очереди потоков за все время. |
|---|---|
| Количество запросов, ожидающих в очередях потоков в данный момент. |
Начиная с Tarantool 2.10 каждая сетевая метрика содержит метку thread, отображающую сетевую статистику по потокам.
Предоставляет статистику по файберам. Если приложение создает много файберов, приведенные ниже метрики можно использовать для мониторинга количества файберов и использования памяти.
| Количество файберов. |
|---|---|
| Общее количество переключений контекста файберов. |
| Объем памяти, зарезервированный для файберов. |
| Объем памяти, используемый файберами. |
iproto-запросы, обработанные экземпляром, и агрегированные по типу, помогают определить, какие операции клиенты выполняют чаще всего.
| Общее количество вызовов с момента запуска сервера. |
|---|
Для различения типов запросов у этой метрики есть метка operation. Например, он может выглядеть
так: {operation="select"}. Возможные типы запросов приведены в таблице ниже.
| Запросы аутентификации. |
|---|---|
| Запросы на выполнение хранимых процедур. |
| Вызовы delete. |
| Запросы, завершившиеся ошибкой. |
| Вызовы для выполнения Lua-кода. |
| Вызовы выполнения SQL. |
| Вызовы insert. |
| Вызовы SQL prepare. |
| Вызовы replace. |
| Вызовы select. |
| Вызовы update. |
| Вызовы upsert. |
Метрики отображают текущий статус репликации. Подробнее о репликации в Tarantool.
| LSN экземпляра. |
|---|---|
| Номер LSN в vclock. У этой метрики всегда есть метки |
| LSN экземпляра tarantool. У этой метрики всегда есть метки |
| Значение отставания репликации в секундах. У этой метрики всегда есть метки |
| Равна 1, когда статус репликации – "follow", и 0 в противном случае. У этой метрики всегда есть метки |
| Размер сборщика мусора Lua в байтах. |
|---|---|
| Количество байтов, используемых средой выполнения Lua. |
| Количество байтов, используемых для кортежей (кроме кортежей в memtx и vinyl). |
Метрики LuaJIT предоставляют информацию о работе сборщика мусора Lua. Эти метрики доступны в Tarantool 2.6 и более поздних версиях.
Основные метрики JIT
| Общее количество восстановлений снимков. |
|---|---|
| Количество JIT-трасс. |
| Общее количество прерванных трасс. |
| Общий размер выделенных областей машинного кода. |
Строки JIT
| Количество интернированных строк. |
|---|---|
| Общее количество выделений строк. |
Шаги сборщика мусора
| Количество инкрементальных шагов сборщика мусора (состояние |
|---|---|
| Количество инкрементальных шагов сборщика мусора (состояние |
| Количество инкрементальных шагов сборщика мусора (состояние |
| Количество инкрементальных шагов сборщика мусора (состояние |
| Количество инкрементальных шагов сборщика мусора (состояние |
| Количество инкрементальных шагов сборщика мусора (состояние |
Выделение памяти
| Количество выделенных объектов |
|---|---|
| Количество выделенных объектов |
| Количество выделенных объектов |
| Количество выделенных объектов |
| Общий объем освобожденной памяти. |
| Текущий объем выделенной памяти Lua. |
| Общий объем выделенной памяти. |
Приведенные ниже метрики содержат статистику использования CPU. Они доступны только в Linux.
| Общее количество процессоров, сконфигурированных в операционной системе. |
| Время CPU хоста. |
| Время CPU потока Tarantool. У этой метрики всегда есть метки |
Также есть две межплатформенные метрики, кдоступные через вызовм getrusage().
| Пользовательское время CPU Tarantool. |
|---|---|
| Системное время CPU Tarantool. |
Метрики Vinyl предоставляют статистику движка vinyl.
Метрики диска используются для мониторинга общего объема данных на диске.
Регулятор Vinyl определяет, когда начинать операции дискового ввода-вывода. Он группирует действия в пакеты для большей согласованности и эффективности.
| Оценочная средняя скорость дампа, байт в секунду. Начальное значение скорости - 10485760 (10 мегабайт в секунду). Значение пересчитывается в зависимости от фактической скорости. Для оценки используются только значимые дампы размером более 1 МБ. |
|---|---|
| Фактическая средняя скорость выполнения операций записи, байт в секунду. Скорость рассчитывается как скользящее среднее за 5 секунд. Если значение метрики постепенно снижается, это может указывать на проблемы с диском. |
| Ограничение скорости записи, байт в секунду. Регулятор ограничивает транзакции на основе наблюдаемой производительности дампа и компактизации. Если значение метрики снижается примерно до |
| Максимальный объем памяти в байтах для LSM-дерева vinyl в оперативной памяти. При достижении этого максимума необходимо выполнить дамп. Подробнее см. раздел Наполнение LSM-дерева. Значение немного меньше объема памяти, выделенного для деревьев vinyl, который отражен в параметре vinyl_memory. |
| Количество файберов, заблокированных в ожидании квоты памяти level0 для Vinyl. |
| Счетчик коммитов (успешных завершений транзакций). Включает неявные коммиты: например, любая операция вставки вызывает коммит, если она не находится внутри блока box.begin()–box.commit(). |
|---|---|
| Счетчик откатов (неуспешных завершений транзакций). Это не просто количество явных вызовов функции box.rollback() - сюда также входят запросы, завершившиеся с ошибками. |
| Счетчик конфликтов, вызвавших откат транзакций. Отношение |
| Текущее количество read views - то есть транзакций, перешедших в режим только для чтения для временного избежания конфликтов. Обычно значение равно |
Следующие метрики показывают состояние областей памяти, используемых движком vinyl для кэшей и буферов записи.
| Объем памяти в байтах, используемый для хранения кортежей (данных). |
|---|---|
| Область памяти «Level 0» (L0), байты. L0 - это область, которую vinyl может использовать для хранения LSM-дерева в оперативной памяти. По этой метрике можно определить, когда L0 приближается к своему максимуму ( |
| Объем памяти в байтах, используемый для хранения индексов. Если значение метрики близко к vinyl_memory, это указывает на то, что значение vinyl_page_size выбрано неверно. |
| Объем памяти в байтах, используемый фильтрами Блума. |
| Общий объем памяти в байтах, занятый кортежами vinyl. Включает кэшированные кортежи и кортежи, закрепленные в Lua. |
Планировщик vinyl вызывает регулятор и обновляет связанные переменные. Это происходит раз в секунду.
| Количество задач дампа и компактизации планировщика. Метрика всегда имеет метку |
| Общее время в секундах, затраченное всеми рабочими потоками на выполнение дампов. |
| Счетчик завершенных дампов. |
Информация о цикле обработки событий потока tx:
| Время цикла обработки событий (мс). |
|---|---|
| Время пролога цикла обработки событий (мс). |
| Время эпилога цикла обработки событий (мс). |
Показывает текущее состояние синхронной репликации.
| Идентификатор экземпляра - текущего мастера синхронной репликации. |
|---|---|
| Текущий терм очереди (номер раунда выборов по Raft). |
| Количество транзакций, ожидающих подтверждения. |
| Обрабатывает ли очередь системную запись (CONFIRM/ROLLBACK/PROMOTE/DEMOTE). |
Показывает текущее состояние узла набора реплик относительно выборов лидера.
| Состояние (режим) выборов узла. Если выборы включены, узел доступен для записи только в состоянии лидера. Возможные значения: - 0 ( |
| ID узла, за который голосует текущий узел. Если значение равно 0, это означает, что узел еще не голосовал в текущем терме. |
| ID узла-лидера в текущем терме. Если значение равно 0, это означает, что узел не знает, какой узел является лидером. |
| Текущий терм выборов. |
| Время в секундах с момента последнего взаимодействия с известным лидером. |
Статистика памяти Memtx mvcc. Менеджер транзакций состоит из двух частей:
- Cами транзакции (раздел TXN);
- MVCC.
| Например, пользователь начал транзакцию и выполнил в ней действие |
| В Tarantool C API есть функция |
mvcc отвечает за изоляцию транзакций. Он обнаруживает конфликты и следит за тем, чтобы кортежи, которых больше нет в спейсе, но которые были прочитаны некоторой транзакцией (или могут быть прочитаны), не были удалены.
| Трекеры, отслеживающие чтение транзакций. У этой метрики всегда есть метка |
| Память, выделенная при конфликтах транзакций. У этой метрики всегда есть метка |
Сохраненные кортежи делятся на три категории: used, read_view, tracking.
Каждая категория имеет две метрики:
retained- кортежи, которых больше нет в индексе, но MVCC не позволяет их удалить.stories- MVCC основан на механизме story, почти у каждого кортежа есть story. Это отдельная метрика, так как даже кортежи, находящиеся в индексе, могут иметь story. Поэтомуstoriesиretainedнужно измерять отдельно.
| Кортежи, используемые активными транзакциями чтения-записи. У этой метрики всегда есть метка |
| Кортежи, используемые активными транзакциями чтения-записи, но которых больше нет в индексе, и MVCC не позволяет их удалить. У этой метрики всегда есть метка |
| Кортежи, не используемые активными транзакциями чтения-записи, но используемые транзакциями только для чтения (то есть в представлении чтения). У этой метрики всегда есть метка |
| Кортежи, не используемые активными транзакциями чтения-записи, но используемые транзакциями только для чтения (то есть в представлении чтения). Эти кортежи больше не в индексе, и MVCC не позволяет их удалить. У этой метрики всегда есть метка |
| Кортежи, не используемые напрямую ни одной транзакцией, но используемые MVCC для отслеживания чтения. У этой метрики всегда есть метка |
| Кортежи, не используемые напрямую ни одной транзакцией, но используемые MVCC для отслеживания чтения. Эти кортежи больше не в индексе, и MVCC не позволяет их удалить. У этой метрики всегда есть метка |
| Общий объем памяти (в байтах), выделенной для кортежей данных. Включает значения метрик |
|---|---|
| Память (в байтах), удерживаемая для представлений чтения. |
| Память (в байтах), которая не используется и запланирована к освобождению (освобождается лениво при выделении памяти). |
| Общий объем памяти (в байтах), выделенной для индексирования данных. Включает значение метрики |
| Память (в байтах), удерживаемая для представлений чтения. |
Начиная с версии: 3.0.0.
| Количество предупреждений применения конфигурации текущего экземпляра. Метка |
| Статус применения конфигурации текущего экземпляра. Метка |
# HELP tnt_config_status Tarantool 3 configuration status# TYPE tnt_config_status gaugetnt_config_status{status="reload_in_progress",alias="router-001-a"} 0tnt_config_status{status="uninitialized",alias="router-001-a"} 0tnt_config_status{status="check_warnings",alias="router-001-a"} 0tnt_config_status{status="ready",alias="router-001-a"} 1tnt_config_status{status="check_errors",alias="router-001-a"} 0tnt_config_status{status="startup_in_progress",alias="router-001-a"} 0