Spec-Zone.ru › RethinkDB python

Таблица статистики системы

Таблица статистики — одна из системных таблиц, добавленных в версию 1.16 RethinkDB. Она предоставляет статистику о пропускной способности чтения/записи сервера, подключениях клиентов и использовании памяти.

Запрос к таблице статистики

Примечание: как и другие системные таблицы, к таблице статистики можно получить доступ только с использованием учётной записи admin.

Первичный ключ таблицы — поле id, а ключи всегда являются массивами. Первый элемент массива всегда является строкой, указывающей тип объекта, к которому производится запрос (например, "table", "server", и т. д.); для всех объектов, кроме кластера (который имеет только один документ в таблице stats), второй элемент — UUID объекта, к которому производится запрос.

// get a dump of all current statistics
r.db("rethinkdb").table("stats").run(conn, callback);

// query about the cluster as a whole
r.db("rethinkdb").table("stats").get(["cluster"]).run(conn, callback);

// query about a specific server
r.db("rethinkdb").table("stats").get(["server", "de8b75d1-3184-48f0-b1ef-99a9c04e2be5"]).run(conn, callback);

// query about a specific table
r.db("rethinkdb").table("stats").get(["table", "31c92680-f70c-4a4b-a49e-b238eb12c023"]).run(conn, callback);

// query about a replica of a table on a specific server
// this requires *two* UUIDs: the table's, then the server's
r.db("rethinkdb").table("stats").get(["table_server", "31c92680-f70c-4a4b-a49e-b238eb12c023", "de8b75d1-3184-48f0-b1ef-99a9c04e2be5"]).run(conn, callback);

Схема документа

Каждый объект имеет свою собственную схему документа. Названия полей, в основном, понятны. Поля server, db и table будут либо UUID, либо строками в зависимости от значения необязательного аргумента identifier_format для table.

кластер

{
  id: ["cluster"],
  query_engine: {
    queries_per_sec: <NUMBER>,
    read_docs_per_sec: <NUMBER>,
    written_docs_per_sec: <NUMBER>
  }
}

сервер

{
  id: ["server", <UUID>],
  server: <UUID> or <STRING>,
  query_engine: {
    queries_per_sec: <NUMBER>,
    queries_total: <NUMBER>,
    read_docs_per_sec: <NUMBER>,
    read_docs_total: <NUMBER>,
    written_docs_per_sec: <NUMBER>,
    written_docs_total: <NUMBER>,
    client_connections: <NUMBER>
  },
}

Если сервер вышел из строя, возвращаемый документ не будет содержать статистику, но будет содержать поле ошибки.

{
  id: ["server", <UUID>],
  server: <UUID> or <STRING>,
  error: "Timed out. Unable to retrieve stats."
}

таблица

{
  id: ["table", <UUID>],
  table: <UUID> or <STRING>,
  db: <UUID> or <STRING>,
  query_engine: {
    read_docs_per_sec: <NUMBER>,
    written_docs_per_sec: <NUMBER>
  }
}

реплика (пара таблица/сервер)

{
  id: ["table_server", <UUID>, <UUID>]  // table_id, server_id
  server: <UUID> or <STRING>,
  table: <UUID> or <STRING>,
  db: <UUID> or <STRING>,
  query_engine: {
    read_docs_per_sec: <NUMBER>,
    read_docs_total: <NUMBER>,
    written_docs_per_sec: <NUMBER>,
    written_docs_total: <NUMBER>
  },
  storage_engine: {
      cache: {
        in_use_bytes: <NUMBER>
      },
      disk: {
        read_bytes_per_sec: <NUMBER>,
        read_bytes_total: <NUMBER>,
        written_bytes_per_sec: <NUMBER>,
        written_bytes_total: <NUMBER>,
        space_usage: {
          metadata_bytes: <NUMBER>,
          data_bytes: <NUMBER>,
          garbage_bytes: <NUMBER>,
          preallocated_bytes: <NUMBER>
        }
      }
   }
}

© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/docs/system-stats/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API