Версия:

Вложенный модуль box.info

Вложенный модуль box.info

Вложенный модуль box.info предоставляет доступ к информации о переменных экземпляра сервера.

  • cluster.uuid – это уникальный идентификатор набора реплик (UUID). У каждого экземпляра в наборе реплик будет одно и то же значение cluster.uuid. Данное значение также хранится в системном спейсе box.space._schema.
  • gc() returns the state of the Tarantool garbage collector including the checkpoints and their consumers (users); see details below.
  • id соответствует идентификатору replication.id (см. ниже).
  • lsn соответствует регистрационному номеру replication.lsn (см. ниже).
  • memory() returns the statistics about memory (see below).
  • pid – идентификатор процесса. Это значение также отображается с помощью модуля tarantool и по команде ps -A в Linux.
  • ro is true if the instance is in «read-only» mode (same as read_only in box.cfg{}), or if status is „orphan“.
  • signature представляет собой сумму всех значений lsn из векторных часов (vclock) всех экземпляров в наборе реплик.
  • status соответствует статусу replication.upstream.status (см. ниже).
  • uptime – это количество секунд с момента запуска экземпляра. Данное значение также можно получить с помощью tarantool.uptime().
  • uuid соответствует идентификатору replication.uuid (см. ниже).
  • vclock соответствует часам replication.downstream.vclock (см. ниже).
  • version – это версия Tarantool’а. Данное значение также можно отобразить с помощью команды tarantool -V.
  • vinyl() returns runtime statistics for the vinyl storage engine. This function is deprecated, use box.stat.vinyl() instead.
box.info.memory()

The memory function of box.info gives the admin user a picture of the whole Tarantool instance.

Примечание

To get a picture of the vinyl subsystem, use box.stat.vinyl() instead.

  • memory().cache –это количество байтов, используемых для кэширования данных пользователей. Движок базы данных memtx не нуждается в кэше, то есть на самом деле это количество байтов в кэше для кортежей движка базы данных vinyl.
  • memory().data – количество байтов, используемых для хранения данных пользователей (кортежи) в движке memtx и на уровне 0 движка vinyl, не принимая во внимание фрагментацию памяти.
  • memory().index – количество байтов, используемых для индексирования данных пользователей, включая экстенты для деревьев в memtx’е и vinyl’е, индекс страниц и фильтры Блума в vinyl’е.
  • memory().lua – количество байтов, используемых для времени исполнения Lua-кода.
  • memory().net – количество байтов, используемых буферами для сетевого ввода-вывода.
  • memory().tx – количество байтов, используемых активными транзакциями. Для движка базы данных vinyl это общий размер всех размещаемых объектов (структура txv, структура vy_tx, структура vy_read_interval) и кортежей, прикрепленных к этим объектам.

Пример с минимальным распределением, когда используется только движок базы данных memtx:

tarantool> box.info.memory()
 ---
 - cache: 0
   data: 6552
   tx: 0
   lua: 1315567
   net: 98304
   index: 1196032
 ...
box.info.gc()

The gc function of box.info gives the admin user a picture of the factors that affect the Tarantool garbage collector. The garbage collector compares vclock (vector clock) values of users and checkpoints, so a look at box.info.gc() may show why the garbage collector has not removed old WAL files, or show what it may soon remove.

  • gc().consumers – a list of users whose requests might affect the garbage collector.
  • gc().checkpoints – a list of preserved checkpoints.
  • gc().checkpoints[n].references – a list of references to a checkpoint.
  • gc().checkpoints[n].vclock – a checkpoint’s vclock value.
  • gc().checkpoints[n].signature – a sum of a checkpoint’s vclock’s components.
  • gc().vclock – the garbage collector’s vclock.
  • gc().signature – the sum of the garbage collector’s checkpoint’s components.
box.info.replication

Раздел replication (репликация) во вложенном модуле box.info() содержит статистику по всем экземплярам в наборе реплик относительно текущего экземпляра (см. также «Мониторинг набора реплик»):

  • replication.id – это короткий числовой идентификатор экземпляра в рамках набора реплик.
  • replication.uuid – это глобально-уникальный идентификатор экземпляра. Данное значение также хранится в системном спейсе box.space._cluster.
  • replication.lsn – это номер в журнале (LSN) для последней записи в журнале упреждающей записи (WAL) экземпляра.
  • replication.upstream содержит статистику по реплицируемым данным, которые переданы экземпляром.
  • replication.upstream.status – это репликационный статус экземпляра:
    • auth означает, что экземпляр проходит аутентификацию для установки соединения с источником репликации.
    • connecting означает, что экземпляр пытается установить соединение с источниками репликации, перечисленными в параметре replication.
    • disconnected означает, что экземпляр не подключен к набору реплик (по причине проблем в сети, а не ошибок репликации).
    • follow означает, что идет репликация.
    • running означает, что роль экземпляра – «мастер» (не только для чтения), и идет репликация.
    • stopped означает, что репликация остановилась по причине ошибки репликации (например, повторяющийся ключ).
    • orphan means that the instance has not (yet) succeeded in joining the required number of masters (see orphan status).
  • replication.upstream.idle – это время (в секундах) с момента получения экземпляром последнего события от мастера. Это основной индикатор работоспособности репликации. Более подробную информацию см. в разделе Мониторинг набора реплик.
  • replication.upstream.peer содержит имя пользователя, запустившего репликацию, IP-адрес хоста и номер порта, используемый для экземпляра. Более подробную информацию см. в разделе Мониторинг набора реплик.
  • replication.upstream.lag – это разница во времени между локальным временем на экземпляре, зарегистрированным при получении события, и локальное время на другом мастере, зарегистрированное при записи события в журнал упреждающей записи на этом мастере. Более подробную информацию см. в разделе Мониторинг набора реплик.
  • replication.upstream.message содержит сообщение об ошибке в случае системного сбоя, в противном случае не заполнен.
  • replication.downstream содержит статистику по реплицируемым данным, которые запрошены и загружены с экземпляра.
  • replication.downstream.vclock contains the vector clock, which is a table of „id, lsn“ pairs, for example vclock: {1: 3054773, 4: 8938827, 3: 285902018}. Even if an instance is removed, its values will still appear here.
  • replication.downstream.status = disconnected is displayed if the downstream instance disconnects from the upstream instance. Otherwise the status is not reported.
box.info()

Поскольку содержимое вложенного модуля box.info является динамическим, невозможно провести итерацию по ключам с помощью Lua-функции pairs(). Для этой цели модуль box.info() создает и возвращает Lua-таблицу со всеми ключами и значениями во вложенном модуле.

возвращается:ключи и значения во вложенном модуле
тип возвращаемого значения:
 таблица

Пример:

Данный пример приводится для набора со схемой мастер-реплика, который включает в себя один мастер-экземпляр и один реплика-экземпляр. Запрос был отправлен с реплики-экземпляра.

tarantool> box.info()
 ---
 - version: 1.7.6-68-g51fcffb77
   id: 2
   ro: true
   vclock: {1: 5}
   uptime: 917
   lsn: 0
   vinyl: []
   cluster:
     uuid: 783e2285-55b1-42d4-b93c-68dcbb7a8c18
   pid: 35341
   status: running
   signature: 5
   replication:
     1:
       id: 1
       uuid: 471cd36e-cb2e-4447-ac66-2d28e9dd3b67
       lsn: 5
       upstream:
         status: follow
         idle: 124.98795700073
         peer: replicator@192.168.0.101:3301
         lag: 0
       downstream:
         vclock: {1: 5}
     2:
       id: 2
       uuid: ac45d5d2-8a16-4520-ad5e-1abba6baba0a
       lsn: 0
   uuid: ac45d5d2-8a16-4520-ad5e-1abba6baba0a
 ...