TDB Documentation portal logo
Помощь
Обновлена 22 октября 2026 г. в 11:37

Метрики Tarantool Database

Архивация данных

Метрики модуля cooler позволяют отслеживать перенос данных (архивацию) из спейсов движка memtx в спейсы vinyl. Модуль cooler экспортирует метрики через библиотеку metrics.

Метрики задач архивации

Доступно с версии 3.0.0.

Метрики рассчитываются отдельно для каждой задачи архивации, с разбивкой по следующим ключам:

  • space — спейс, по которому выполняется архивация;
  • index — индекс, по которому выполняется архивация.

Тип метрик: gauge.

  • cooler_on — состояние архивации на экземпляре кластера. Возможные значения:
    • 1 — архивация данных запущена;
    • 0 — архивация данных отключена;
  • cooler_tuples_cooled — суммарное количество архивированных кортежей;
  • cooler_bytes_cooled — общий объем архивированных данных в байтах;
  • cooler_tuples_scanned — суммарное количество просканированных кортежей;
  • cooler_bytes_scanned — общий объем просканированных данных в байтах;
  • cooler_inefficiency — количество просканированных, но не архивированных кортежей;
  • cooler_mismatches — количество несовпадений при проверке кортежей memtx в ходе их переноса в спейс vinyl. После переноса кортежа в спейс vinyl и до его удаления из спейса memtx эти кортежи сравниваются между собой. Если во время переноса кортеж memtx был изменен, в vinyl остаётся предыдущая версия кортежа. В этом случае значение cooler_mismatches увеличивается на 1;
  • cooler_errors — количество ошибок, возникших при архивации;
  • cooler_full_scan_elapsed — длительность текущего прохода полного сканирования спейса в секундах;
  • cooler_task_csw — количество переключений контекста файбером архивации.

Сводные метрики спейсов

Доступно с версии 3.2.0.

Эти метрики отображают общий объем и количество данных в разрезе движков memtx и vinyl для спейсов, участвующих в архивации данных. Метрики рассчитываются с разбивкой по метке space, где space — имя спейса, по которому выполняется архивация.

  • cooler_memtx_bytes_total — общий размер данных спейса в движке memtx (в байтах);
  • cooler_vinyl_bytes_total — общий размер данных спейса в движке vinyl (в байтах, включая индексы);
  • cooler_memtx_tuples_total — общее количество кортежей спейса в движке memtx;
  • cooler_vinyl_tuples_total — общее примерное количество кортежей спейса в движке vinyl.

Статистика использования словарей

Эти метрики позволяют отслеживать работу словарей в Tarantool DB.

  • dictionary_successfully_netcall_count — количество успешных запросов, отправленных с экземпляра. Тип метрики: counter;
  • dictionary_failed_netcall_count — количество запросов, отправленных с экземпляра и завершившихся ошибкой. Тип метрики: counter;
  • dictionary_replication_latency — время в наносекундах, затраченное на доставку записи из исходного экземпляра. Тип метрики: summary.

Метрики модуля crud

Работа модуля crud при балансировке

Доступно с версии 3.1.0.

Тип метрик: gauge.

  • tnt_crud_storage_safe_mode_enabled — текущий режим работы модуля CRUD на экземпляре хранилища. Отслеживает, включен ли безопасный режим балансировки сегментов;
  • tnt_crud_router_cache_clear_ts — время последней очистки кэша карты маршрутов на роутере.

Метрики метода crud.atomic_batch()

Доступно с версии 3.3.0.

Тип метрик: summary.

Метод crud.atomic_batch() выполняет упорядоченный пакет CRUD-операций в одной транзакции в одном сегменте (с одинаковым bucket_id). Учёт метрик метода делится на два уровня:

  • статистика вложенных операций;
  • статистика самого метода crud.atomic_batch().

Статистика вложенных операций

Каждая операция пакета (get, insert, replace, update, upsert, delete) фиксируется отдельной метрикой для соответствующего спейса. Эта статистика не смешивается со стандартными счётчиками операций CRUD (insert, get и т.д.), а хранится в отдельной секции atomic_batch_sub_ops внутри статистики спейса. Метрики tnt_crud_atomic_batch_sub_ops_* имеют следующие метки:

  • name — имя спейса;
  • operation — тип вложенной операции;
  • status — статус выполнения операции (ok или error).

Задержка вложенной операции измеряется на экземпляре хранилища без учёта сетевых затрат и подготовки на роутере. При успешном выполнении пакета все выполненные вложенные операции фиксируются со статусом ok. При возникновении ошибки выполненные операции (в том числе та, на которой произошла ошибка), фиксируются со статусом error и своей фактической задержкой. Операции, следующие после операции с ошибкой, не выполняются и не учитываются.

  • tnt_crud_atomic_batch_sub_ops_count — число вложенных операций;
  • tnt_crud_atomic_batch_sub_ops_sum — суммарное время выполнения вложенных операций (в секундах);
  • tnt_crud_atomic_batch_sub_ops — квантили задержки (например, quantile = "0.99").

Статистика самого метода crud.atomic_batch()

Подсчитывает число вызовов и время выполнения метода crud.atomic_batch() на роутере. Поскольку операции в пакете могут затрагивать несколько спейсов, метрика учитывается по каждому спейсу, участвующему в транзакции, и фиксирует полное время выполнения пакета.

Метрики tnt_crud_stats_* имеют следующие метки:

  • name — имя спейса;

  • operation = "atomic_batch" — тип операции;

  • status — статус выполнения операции (ok или error).

  • tnt_crud_stats_count — общее количество вызовов crud.atomic_batch() для спейса;

  • tnt_crud_stats_sum — суммарное время выполнения пакетов в секундах;

  • tnt_crud_stats — квантили задержки (например, quantile = "0.99").

Системные метрики Go (Go runtime metrics)

Доступно с версии 3.1.0.

Системные метрики Go позволяют мониторить внутреннее состояние и производительность приложения, написанного на Go. В Tarantool DB эти метрики позволяют отслеживать состояние экземпляров обработчиков.

Тип: gauge.

  • go_goroutines — количество активных горутин в программе;
  • go_threads — показывает количество потоков, созданных процессом;
  • go_memstats_alloc_bytes — объем выделенной памяти, которой владеет Go-программа;
  • go_memstats_alloc_bytes_total — общий объем памяти, выделенной процессом с момента его старта;
  • go_memstats_sys_bytes — общий объем памяти, полученный процессом от операционной системы;
  • go_memstats_heap_objects — текущее количество живых объектов в куче;
  • go_memstats_mallocs_total — количество выделений памяти для объектов на куче за все время работы программы;
  • go_memstats_frees_total — общий объем освобожденной памяти;
  • go_memstats_lookups_total — количество обращений к указателям (pointer lookups);
  • go_memstats_heap_alloc_bytes — объем выделенной и используемой памяти на куче;
  • go_memstats_heap_sys_bytes — объем памяти, выделенной процессом из ОС на куче;
  • go_memstats_heap_inuse_bytes — количество байт в куче, которые заняты живыми объектами программы;
  • go_memstats_heap_idle_bytes — объем памяти в куче, не используемой в данный момент;
  • go_memstats_heap_released_bytes — объем памяти, освобожденной из кучи и возвращенной ОС;
  • go_memstats_stack_inuse_bytes — объем памяти, выделенной на стеке;
  • go_memstats_stack_sys_bytes — объем памяти, выделенный под стеки горутин;
  • go_memstats_mcache_inuse_bytes — количество байт, используемое в локальных кешах для горутин;
  • go_memstats_mcache_sys_bytes — объем памяти, выделенной процессом ОС для структур mcache;
  • go_memstats_mspan_inuse_bytes — объем памяти, используемой mspan-структурами;
  • go_memstats_mspan_sys_bytes — объем памяти, выделенной процессом ОС для mspan-структур;
  • go_memstats_buck_hash_sys_bytes — объем памяти, используемой для хеширования и профилирования;
  • go_memstats_gc_sys_bytes — объем памяти, используемой для работы со сборщиком мусора;
  • go_memstats_other_sys_bytes — объем памяти, выделенной для других нужд системы;
  • go_gc_duration_seconds — средняя продолжительность работы сборщика мусора;
  • go_gc_duration_seconds — 75-й процентиль продолжительности работы сборщика мусора;
  • go_memstats_next_gc_bytes — порог, при котором будет инициирован следующий сбор мусора.
Была ли статья полезна?