Spec-Zone.ru › RethinkDB ruby

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

Таблица статистики — одна из системных таблиц, добавленная в версию 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