Перейти к содержанию

Ограничения и счётчики

Counter

Counter

Счётчики производительности кластера.

list staticmethod

list(session: Session, cluster: str, cluster_user: str | None = None, cluster_pwd: str | None = None) -> list[RacRecord]

Возвращает список счётчиков производительности кластера.

Parameters:

Name Type Description Default
cluster str

Идентификатор (UUID) кластера.

required
cluster_user str | None

Имя администратора кластера.

None
cluster_pwd str | None

Пароль администратора кластера.

None

Returns:

Type Description
list[RacRecord]

list[dict[str, str | int]]: записи RAC. Пустой список, если RAC ничего не вернул.

:raises raclib.errors.RACNotFoundError: файл rac не найден или не может быть запущен. :raises raclib.errors.RACTimeoutError: RAC не ответил за timeout секунд, заданный в сессии. :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий raclib.errors.

Source code in src/raclib/cmd/counter.py
@staticmethod
def list(
    session: Session,
    cluster: str,
    cluster_user: str | None = None,
    cluster_pwd: str | None = None,
) -> list[RacRecord]:
    """Возвращает список счётчиков производительности кластера.

    Args:
        cluster: Идентификатор (UUID) кластера.
        cluster_user: Имя администратора кластера.
        cluster_pwd: Пароль администратора кластера.

    Returns:
        list[dict[str, str | int]]: записи RAC. Пустой список, если RAC ничего не вернул.

    :raises raclib.errors.RACNotFoundError: файл ``rac`` не найден или не может быть запущен.
    :raises raclib.errors.RACTimeoutError: RAC не ответил за ``timeout`` секунд, заданный в сессии.
    :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий ``raclib.errors``.
    """
    return session.exec(
        Command(
            Arg("counter"),
            Arg(cluster, "--cluster={}"),
            Arg(cluster_user, "--cluster-user={}"),
            Arg(cluster_pwd, "--cluster-pwd={}"),
            Arg("list"),
        )
    ).to_list()

info staticmethod

info(session: Session, cluster: str, counter: str, cluster_user: str | None = None, cluster_pwd: str | None = None) -> RacRecord

Возвращает описание счётчика производительности.

Parameters:

Name Type Description Default
cluster str

Идентификатор (UUID) кластера.

required
counter str

Имя счётчика.

required
cluster_user str | None

Имя администратора кластера.

None
cluster_pwd str | None

Пароль администратора кластера.

None

Returns:

Type Description
RacRecord

dict[str, str | int]: одна запись RAC. Ключи соответствуют полям вывода, дефисы заменены на подчёркивания, числовые значения приведены к int.

:raises raclib.errors.RACNotFoundError: файл rac не найден или не может быть запущен. :raises raclib.errors.RACTimeoutError: RAC не ответил за timeout секунд, заданный в сессии. :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий raclib.errors.

Source code in src/raclib/cmd/counter.py
@staticmethod
def info(
    session: Session,
    cluster: str,
    counter: str,
    cluster_user: str | None = None,
    cluster_pwd: str | None = None,
) -> RacRecord:
    """Возвращает описание счётчика производительности.

    Args:
        cluster: Идентификатор (UUID) кластера.
        counter: Имя счётчика.
        cluster_user: Имя администратора кластера.
        cluster_pwd: Пароль администратора кластера.

    Returns:
        dict[str, str | int]: одна запись RAC. Ключи соответствуют полям вывода, дефисы заменены на подчёркивания, числовые значения приведены к ``int``.

    :raises raclib.errors.RACNotFoundError: файл ``rac`` не найден или не может быть запущен.
    :raises raclib.errors.RACTimeoutError: RAC не ответил за ``timeout`` секунд, заданный в сессии.
    :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий ``raclib.errors``.
    """
    return session.exec(
        Command(
            Arg("counter"),
            Arg(cluster, "--cluster={}"),
            Arg(cluster_user, "--cluster-user={}"),
            Arg(cluster_pwd, "--cluster-pwd={}"),
            Arg("info"),
            Arg(counter, "--counter={}"),
        )
    ).to_dict()

update staticmethod

update(session: Session, cluster: str, name: str, collection_time: str, group: str, filter_type: str, filter: str | None = None, duration: bool | None = None, cpu_time: bool | None = None, memory: bool | None = None, read: bool | None = None, write: bool | None = None, duration_dbms: bool | None = None, dbms_bytes: bool | None = None, service: bool | None = None, call: bool | None = None, number_of_active_sessions: bool | None = None, number_of_sessions: bool | None = None, descr: str | None = None, cluster_user: str | None = None, cluster_pwd: str | None = None) -> None

Создаёт или изменяет счётчик производительности.

Метод работает как upsert: если счётчика с таким именем нет, он создаётся. Логические параметры включают и выключают сбор соответствующей метрики: True — analyze, False — not-analyze, None — не менять.

Parameters:

Name Type Description Default
cluster str

Идентификатор (UUID) кластера.

required
name str

Имя счётчика.

required
collection_time str

Момент сбора значений в формате RAC.

required
group str

Группа счётчика: process, session, connection, call или dbms.

required
filter_type str

Способ фильтрации объектов: processor, session, connection и другие.

required
filter str | None

Значение фильтра для filter_type.

None
duration bool | None

Собирать общее время выполнения вызовов.

None
cpu_time bool | None

Собирать время процессора.

None
memory bool | None

Собирать объём занятой памяти.

None
read bool | None

Собирать объём чтения.

None
write bool | None

Собирать объём записи.

None
duration_dbms bool | None

Собирать время выполнения запросов к СУБД.

None
dbms_bytes bool | None

Собирать объём данных, переданных в СУБД.

None
service bool | None

Собирать служебные метрики.

None
call bool | None

Собирать метрики вызовов сервера.

None
number_of_active_sessions bool | None

Собирать число активных сеансов.

None
number_of_sessions bool | None

Собирать общее число сеансов.

None
descr str | None

Произвольное описание счётчика.

None
cluster_user str | None

Имя администратора кластера.

None
cluster_pwd str | None

Пароль администратора кластера.

None

Returns:

Type Description
None

None

:raises raclib.errors.RACNotFoundError: файл rac не найден или не может быть запущен. :raises raclib.errors.RACTimeoutError: RAC не ответил за timeout секунд, заданный в сессии. :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий raclib.errors.

Source code in src/raclib/cmd/counter.py
@staticmethod
def update(
    session: Session,
    cluster: str,
    name: str,
    collection_time: str,
    group: str,
    filter_type: str,
    filter: str | None = None,
    duration: bool | None = None,
    cpu_time: bool | None = None,
    memory: bool | None = None,
    read: bool | None = None,
    write: bool | None = None,
    duration_dbms: bool | None = None,
    dbms_bytes: bool | None = None,
    service: bool | None = None,
    call: bool | None = None,
    number_of_active_sessions: bool | None = None,
    number_of_sessions: bool | None = None,
    descr: str | None = None,
    cluster_user: str | None = None,
    cluster_pwd: str | None = None,
) -> None:
    """Создаёт или изменяет счётчик производительности.

    Метод работает как upsert: если счётчика с таким именем нет, он создаётся. Логические параметры включают и выключают сбор соответствующей метрики: ``True`` — ``analyze``, ``False`` — ``not-analyze``, ``None`` — не менять.

    Args:
        cluster: Идентификатор (UUID) кластера.
        name: Имя счётчика.
        collection_time: Момент сбора значений в формате RAC.
        group: Группа счётчика: ``process``, ``session``, ``connection``, ``call`` или ``dbms``.
        filter_type: Способ фильтрации объектов: ``processor``, ``session``, ``connection`` и другие.
        filter: Значение фильтра для ``filter_type``.
        duration: Собирать общее время выполнения вызовов.
        cpu_time: Собирать время процессора.
        memory: Собирать объём занятой памяти.
        read: Собирать объём чтения.
        write: Собирать объём записи.
        duration_dbms: Собирать время выполнения запросов к СУБД.
        dbms_bytes: Собирать объём данных, переданных в СУБД.
        service: Собирать служебные метрики.
        call: Собирать метрики вызовов сервера.
        number_of_active_sessions: Собирать число активных сеансов.
        number_of_sessions: Собирать общее число сеансов.
        descr: Произвольное описание счётчика.
        cluster_user: Имя администратора кластера.
        cluster_pwd: Пароль администратора кластера.

    Returns:
        None

    :raises raclib.errors.RACNotFoundError: файл ``rac`` не найден или не может быть запущен.
    :raises raclib.errors.RACTimeoutError: RAC не ответил за ``timeout`` секунд, заданный в сессии.
    :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий ``raclib.errors``.
    """
    return session.call(
        Command(
            Arg("counter"),
            Arg(cluster, "--cluster={}"),
            Arg(cluster_user, "--cluster-user={}"),
            Arg(cluster_pwd, "--cluster-pwd={}"),
            Arg("update"),
            Arg(name, "--name={}"),
            Arg(collection_time, "--collection-time={}"),
            Arg(group, "--group={}"),
            Arg(filter_type, "--filter-type={}"),
            Arg(filter, "--filter={}"),
            Arg(b2ana(duration), "--duration={}"),
            Arg(b2ana(cpu_time), "--cpu-time={}"),
            Arg(b2ana(memory), "--memory={}"),
            Arg(b2ana(read), "--read={}"),
            Arg(b2ana(write), "--write={}"),
            Arg(b2ana(duration_dbms), "--duration-dbms={}"),
            Arg(b2ana(dbms_bytes), "--dbms-bytes={}"),
            Arg(b2ana(service), "--service={}"),
            Arg(b2ana(call), "--call={}"),
            Arg(b2ana(number_of_active_sessions), "--number-of-active-sessions={}"),
            Arg(b2ana(number_of_sessions), "--number-of-sessions={}"),
            Arg(descr, "--descr={}"),
        )
    )

values staticmethod

values(session: Session, cluster: str, counter: str, object: str | None = None, cluster_user: str | None = None, cluster_pwd: str | None = None) -> list[RacRecord]

Возвращает текущие значения счётчика.

Parameters:

Name Type Description Default
cluster str

Идентификатор (UUID) кластера.

required
counter str

Имя счётчика.

required
object str | None

Идентификатор объекта, для которого нужно значение.

None
cluster_user str | None

Имя администратора кластера.

None
cluster_pwd str | None

Пароль администратора кластера.

None

Returns:

Type Description
list[RacRecord]

list[dict[str, str | int]]: записи RAC. Пустой список, если RAC ничего не вернул.

:raises raclib.errors.RACNotFoundError: файл rac не найден или не может быть запущен. :raises raclib.errors.RACTimeoutError: RAC не ответил за timeout секунд, заданный в сессии. :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий raclib.errors.

Source code in src/raclib/cmd/counter.py
@staticmethod
def values(
    session: Session,
    cluster: str,
    counter: str,
    object: str | None = None,
    cluster_user: str | None = None,
    cluster_pwd: str | None = None,
) -> list[RacRecord]:
    """Возвращает текущие значения счётчика.

    Args:
        cluster: Идентификатор (UUID) кластера.
        counter: Имя счётчика.
        object: Идентификатор объекта, для которого нужно значение.
        cluster_user: Имя администратора кластера.
        cluster_pwd: Пароль администратора кластера.

    Returns:
        list[dict[str, str | int]]: записи RAC. Пустой список, если RAC ничего не вернул.

    :raises raclib.errors.RACNotFoundError: файл ``rac`` не найден или не может быть запущен.
    :raises raclib.errors.RACTimeoutError: RAC не ответил за ``timeout`` секунд, заданный в сессии.
    :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий ``raclib.errors``.
    """
    return session.exec(
        Command(
            Arg("counter"),
            Arg(cluster, "--cluster={}"),
            Arg(cluster_user, "--cluster-user={}"),
            Arg(cluster_pwd, "--cluster-pwd={}"),
            Arg("values"),
            Arg(counter, "--counter={}"),
            Arg(object, "--object={}"),
        )
    ).to_list()

remove staticmethod

remove(session: Session, cluster: str, name: str, cluster_user: str | None = None, cluster_pwd: str | None = None) -> None

Удаляет счётчик производительности.

Parameters:

Name Type Description Default
cluster str

Идентификатор (UUID) кластера.

required
name str

Имя счётчика.

required
cluster_user str | None

Имя администратора кластера.

None
cluster_pwd str | None

Пароль администратора кластера.

None

Returns:

Type Description
None

None

:raises raclib.errors.RACNotFoundError: файл rac не найден или не может быть запущен. :raises raclib.errors.RACTimeoutError: RAC не ответил за timeout секунд, заданный в сессии. :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий raclib.errors.

Source code in src/raclib/cmd/counter.py
@staticmethod
def remove(
    session: Session,
    cluster: str,
    name: str,
    cluster_user: str | None = None,
    cluster_pwd: str | None = None,
) -> None:
    """Удаляет счётчик производительности.

    Args:
        cluster: Идентификатор (UUID) кластера.
        name: Имя счётчика.
        cluster_user: Имя администратора кластера.
        cluster_pwd: Пароль администратора кластера.

    Returns:
        None

    :raises raclib.errors.RACNotFoundError: файл ``rac`` не найден или не может быть запущен.
    :raises raclib.errors.RACTimeoutError: RAC не ответил за ``timeout`` секунд, заданный в сессии.
    :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий ``raclib.errors``.
    """
    return session.call(
        Command(
            Arg("counter"),
            Arg(cluster, "--cluster={}"),
            Arg(cluster_user, "--cluster-user={}"),
            Arg(cluster_pwd, "--cluster-pwd={}"),
            Arg("remove"),
            Arg(name, "--name={}"),
        ),
    )

clear staticmethod

clear(session: Session, cluster: str, counter: str, object: str | None = None, cluster_user: str | None = None, cluster_pwd: str | None = None) -> None

Сбрасывает накопленные значения счётчика.

Parameters:

Name Type Description Default
cluster str

Идентификатор (UUID) кластера.

required
counter str

Имя счётчика.

required
object str | None

Идентификатор объекта, значения которого нужно сбросить.

None
cluster_user str | None

Имя администратора кластера.

None
cluster_pwd str | None

Пароль администратора кластера.

None

Returns:

Type Description
None

None

:raises raclib.errors.RACNotFoundError: файл rac не найден или не может быть запущен. :raises raclib.errors.RACTimeoutError: RAC не ответил за timeout секунд, заданный в сессии. :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий raclib.errors.

Source code in src/raclib/cmd/counter.py
@staticmethod
def clear(
    session: Session,
    cluster: str,
    counter: str,
    object: str | None = None,
    cluster_user: str | None = None,
    cluster_pwd: str | None = None,
) -> None:
    """Сбрасывает накопленные значения счётчика.

    Args:
        cluster: Идентификатор (UUID) кластера.
        counter: Имя счётчика.
        object: Идентификатор объекта, значения которого нужно сбросить.
        cluster_user: Имя администратора кластера.
        cluster_pwd: Пароль администратора кластера.

    Returns:
        None

    :raises raclib.errors.RACNotFoundError: файл ``rac`` не найден или не может быть запущен.
    :raises raclib.errors.RACTimeoutError: RAC не ответил за ``timeout`` секунд, заданный в сессии.
    :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий ``raclib.errors``.
    """
    return session.call(
        Command(
            Arg("counter"),
            Arg(cluster, "--cluster={}"),
            Arg(cluster_user, "--cluster-user={}"),
            Arg(cluster_pwd, "--cluster-pwd={}"),
            Arg("clear"),
            Arg(counter, "--counter={}"),
            Arg(object, "--object={}"),
        ),
    )

accumulated_values staticmethod

accumulated_values(session: Session, cluster: str, counter: str, object: str | None = None, cluster_user: str | None = None, cluster_pwd: str | None = None) -> list[RacRecord]

Возвращает накопленные значения счётчика за всё время наблюдения.

Parameters:

Name Type Description Default
cluster str

Идентификатор (UUID) кластера.

required
counter str

Имя счётчика.

required
object str | None

Идентификатор объекта, для которого нужно значение.

None
cluster_user str | None

Имя администратора кластера.

None
cluster_pwd str | None

Пароль администратора кластера.

None

Returns:

Type Description
list[RacRecord]

list[dict[str, str | int]]: записи RAC. Пустой список, если RAC ничего не вернул.

:raises raclib.errors.RACNotFoundError: файл rac не найден или не может быть запущен. :raises raclib.errors.RACTimeoutError: RAC не ответил за timeout секунд, заданный в сессии. :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий raclib.errors.

Source code in src/raclib/cmd/counter.py
@staticmethod
def accumulated_values(
    session: Session,
    cluster: str,
    counter: str,
    object: str | None = None,
    cluster_user: str | None = None,
    cluster_pwd: str | None = None,
) -> list[RacRecord]:
    """Возвращает накопленные значения счётчика за всё время наблюдения.

    Args:
        cluster: Идентификатор (UUID) кластера.
        counter: Имя счётчика.
        object: Идентификатор объекта, для которого нужно значение.
        cluster_user: Имя администратора кластера.
        cluster_pwd: Пароль администратора кластера.

    Returns:
        list[dict[str, str | int]]: записи RAC. Пустой список, если RAC ничего не вернул.

    :raises raclib.errors.RACNotFoundError: файл ``rac`` не найден или не может быть запущен.
    :raises raclib.errors.RACTimeoutError: RAC не ответил за ``timeout`` секунд, заданный в сессии.
    :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий ``raclib.errors``.
    """
    return session.exec(
        Command(
            Arg("counter"),
            Arg(cluster, "--cluster={}"),
            Arg(cluster_user, "--cluster-user={}"),
            Arg(cluster_pwd, "--cluster-pwd={}"),
            Arg("accumulated-values"),
            Arg(counter, "--counter={}"),
            Arg(object, "--object={}"),
        )
    ).to_list()

Limit

Limit

Ограничения ресурсов, привязанные к счётчикам производительности.

list staticmethod

list(session: Session, cluster: str, cluster_user: str | None = None, cluster_pwd: str | None = None) -> list[RacRecord]

Возвращает список ограничений ресурсов кластера.

Parameters:

Name Type Description Default
cluster str

Идентификатор (UUID) кластера.

required
cluster_user str | None

Имя администратора кластера.

None
cluster_pwd str | None

Пароль администратора кластера.

None

Returns:

Type Description
list[RacRecord]

list[dict[str, str | int]]: записи RAC. Пустой список, если RAC ничего не вернул.

:raises raclib.errors.RACNotFoundError: файл rac не найден или не может быть запущен. :raises raclib.errors.RACTimeoutError: RAC не ответил за timeout секунд, заданный в сессии. :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий raclib.errors.

Source code in src/raclib/cmd/limit.py
@staticmethod
def list(
    session: Session,
    cluster: str,
    cluster_user: str | None = None,
    cluster_pwd: str | None = None,
) -> list[RacRecord]:
    """Возвращает список ограничений ресурсов кластера.

    Args:
        cluster: Идентификатор (UUID) кластера.
        cluster_user: Имя администратора кластера.
        cluster_pwd: Пароль администратора кластера.

    Returns:
        list[dict[str, str | int]]: записи RAC. Пустой список, если RAC ничего не вернул.

    :raises raclib.errors.RACNotFoundError: файл ``rac`` не найден или не может быть запущен.
    :raises raclib.errors.RACTimeoutError: RAC не ответил за ``timeout`` секунд, заданный в сессии.
    :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий ``raclib.errors``.
    """
    return session.exec(
        Command(
            Arg("limit"),
            Arg(cluster, "--cluster={}"),
            Arg(cluster_user, "--cluster-user={}"),
            Arg(cluster_pwd, "--cluster-pwd={}"),
            Arg("list"),
        )
    ).to_list()

info staticmethod

info(session: Session, cluster: str, limit: str, cluster_user: str | None = None, cluster_pwd: str | None = None) -> RacRecord

Возвращает описание ограничения ресурсов.

Parameters:

Name Type Description Default
cluster str

Идентификатор (UUID) кластера.

required
limit str

Имя ограничения.

required
cluster_user str | None

Имя администратора кластера.

None
cluster_pwd str | None

Пароль администратора кластера.

None

Returns:

Type Description
RacRecord

dict[str, str | int]: одна запись RAC. Ключи соответствуют полям вывода, дефисы заменены на подчёркивания, числовые значения приведены к int.

:raises raclib.errors.RACNotFoundError: файл rac не найден или не может быть запущен. :raises raclib.errors.RACTimeoutError: RAC не ответил за timeout секунд, заданный в сессии. :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий raclib.errors.

Source code in src/raclib/cmd/limit.py
@staticmethod
def info(
    session: Session,
    cluster: str,
    limit: str,
    cluster_user: str | None = None,
    cluster_pwd: str | None = None,
) -> RacRecord:
    """Возвращает описание ограничения ресурсов.

    Args:
        cluster: Идентификатор (UUID) кластера.
        limit: Имя ограничения.
        cluster_user: Имя администратора кластера.
        cluster_pwd: Пароль администратора кластера.

    Returns:
        dict[str, str | int]: одна запись RAC. Ключи соответствуют полям вывода, дефисы заменены на подчёркивания, числовые значения приведены к ``int``.

    :raises raclib.errors.RACNotFoundError: файл ``rac`` не найден или не может быть запущен.
    :raises raclib.errors.RACTimeoutError: RAC не ответил за ``timeout`` секунд, заданный в сессии.
    :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий ``raclib.errors``.
    """
    return session.exec(
        Command(
            Arg("limit"),
            Arg(cluster, "--cluster={}"),
            Arg(cluster_user, "--cluster-user={}"),
            Arg(cluster_pwd, "--cluster-pwd={}"),
            Arg("info"),
            Arg(limit, "--limit={}"),
        )
    ).to_dict()

update staticmethod

update(session: Session, cluster: str, name: str, action: str, counter: str | None = None, duration: int | None = None, cpu_time: int | None = None, memory: int | None = None, read: int | None = None, write: int | None = None, duration_dbms: int | None = None, dbms_bytes: int | None = None, service: int | None = None, call: int | None = None, number_of_active_sessions: int | None = None, number_of_sessions: int | None = None, error_message: str | None = None, descr: str | None = None, cluster_user: str | None = None, cluster_pwd: str | None = None) -> None

Создаёт или изменяет ограничение ресурсов.

Работает как upsert по имени. Пороговые параметры (duration, memory и прочие) задаются в единицах соответствующего счётчика.

Parameters:

Name Type Description Default
cluster str

Идентификатор (UUID) кластера.

required
name str

Имя ограничения.

required
action str

Что делать при превышении: restart или ignore.

required
counter str | None

Имя счётчика, к которому привязано ограничение.

None
duration int | None

Порог общего времени выполнения вызовов.

None
cpu_time int | None

Порог времени процессора.

None
memory int | None

Порог занятой памяти.

None
read int | None

Порог объёма чтения.

None
write int | None

Порог объёма записи.

None
duration_dbms int | None

Порог времени выполнения запросов к СУБД.

None
dbms_bytes int | None

Порог объёма данных, переданных в СУБД.

None
service int | None

Порог служебных метрик.

None
call int | None

Порог метрик вызовов сервера.

None
number_of_active_sessions int | None

Порог числа активных сеансов.

None
number_of_sessions int | None

Порог общего числа сеансов.

None
error_message str | None

Сообщение, которое увидит пользователь при срабатывании ограничения.

None
descr str | None

Произвольное описание ограничения.

None
cluster_user str | None

Имя администратора кластера.

None
cluster_pwd str | None

Пароль администратора кластера.

None

Returns:

Type Description
None

None

:raises raclib.errors.RACNotFoundError: файл rac не найден или не может быть запущен. :raises raclib.errors.RACTimeoutError: RAC не ответил за timeout секунд, заданный в сессии. :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий raclib.errors.

Source code in src/raclib/cmd/limit.py
@staticmethod
def update(
    session: Session,
    cluster: str,
    name: str,
    action: str,
    counter: str | None = None,
    duration: int | None = None,
    cpu_time: int | None = None,
    memory: int | None = None,
    read: int | None = None,
    write: int | None = None,
    duration_dbms: int | None = None,
    dbms_bytes: int | None = None,
    service: int | None = None,
    call: int | None = None,
    number_of_active_sessions: int | None = None,
    number_of_sessions: int | None = None,
    error_message: str | None = None,
    descr: str | None = None,
    cluster_user: str | None = None,
    cluster_pwd: str | None = None,
) -> None:
    """Создаёт или изменяет ограничение ресурсов.

    Работает как upsert по имени. Пороговые параметры (``duration``, ``memory`` и прочие) задаются в единицах соответствующего счётчика.

    Args:
        cluster: Идентификатор (UUID) кластера.
        name: Имя ограничения.
        action: Что делать при превышении: ``restart`` или ``ignore``.
        counter: Имя счётчика, к которому привязано ограничение.
        duration: Порог общего времени выполнения вызовов.
        cpu_time: Порог времени процессора.
        memory: Порог занятой памяти.
        read: Порог объёма чтения.
        write: Порог объёма записи.
        duration_dbms: Порог времени выполнения запросов к СУБД.
        dbms_bytes: Порог объёма данных, переданных в СУБД.
        service: Порог служебных метрик.
        call: Порог метрик вызовов сервера.
        number_of_active_sessions: Порог числа активных сеансов.
        number_of_sessions: Порог общего числа сеансов.
        error_message: Сообщение, которое увидит пользователь при срабатывании ограничения.
        descr: Произвольное описание ограничения.
        cluster_user: Имя администратора кластера.
        cluster_pwd: Пароль администратора кластера.

    Returns:
        None

    :raises raclib.errors.RACNotFoundError: файл ``rac`` не найден или не может быть запущен.
    :raises raclib.errors.RACTimeoutError: RAC не ответил за ``timeout`` секунд, заданный в сессии.
    :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий ``raclib.errors``.
    """
    return session.call(
        Command(
            Arg("limit"),
            Arg(cluster, "--cluster={}"),
            Arg(cluster_user, "--cluster-user={}"),
            Arg(cluster_pwd, "--cluster-pwd={}"),
            Arg("update"),
            Arg(name, "--name={}"),
            Arg(action, "--action={}"),
            Arg(counter, "--counter={}"),
            Arg(duration, "--duration={}"),
            Arg(cpu_time, "--cpu-time={}"),
            Arg(memory, "--memory={}"),
            Arg(read, "--read={}"),
            Arg(write, "--write={}"),
            Arg(duration_dbms, "--duration-dbms={}"),
            Arg(dbms_bytes, "--dbms-bytes={}"),
            Arg(service, "--service={}"),
            Arg(call, "--call={}"),
            Arg(number_of_active_sessions, "--number-of-active-sessions={}"),
            Arg(number_of_sessions, "--number-of-sessions={}"),
            Arg(error_message, "--error-message={}"),
            Arg(descr, "--descr={}"),
        )
    )

remove staticmethod

remove(session: Session, cluster: str, name: str, cluster_user: str | None = None, cluster_pwd: str | None = None) -> None

Удаляет ограничение ресурсов.

Parameters:

Name Type Description Default
cluster str

Идентификатор (UUID) кластера.

required
name str

Имя ограничения.

required
cluster_user str | None

Имя администратора кластера.

None
cluster_pwd str | None

Пароль администратора кластера.

None

Returns:

Type Description
None

None

:raises raclib.errors.RACNotFoundError: файл rac не найден или не может быть запущен. :raises raclib.errors.RACTimeoutError: RAC не ответил за timeout секунд, заданный в сессии. :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий raclib.errors.

Source code in src/raclib/cmd/limit.py
@staticmethod
def remove(
    session: Session,
    cluster: str,
    name: str,
    cluster_user: str | None = None,
    cluster_pwd: str | None = None,
) -> None:
    """Удаляет ограничение ресурсов.

    Args:
        cluster: Идентификатор (UUID) кластера.
        name: Имя ограничения.
        cluster_user: Имя администратора кластера.
        cluster_pwd: Пароль администратора кластера.

    Returns:
        None

    :raises raclib.errors.RACNotFoundError: файл ``rac`` не найден или не может быть запущен.
    :raises raclib.errors.RACTimeoutError: RAC не ответил за ``timeout`` секунд, заданный в сессии.
    :raises raclib.errors.UnknownError: RAC вернул ошибку, которой нет в таблице соответствий ``raclib.errors``.
    """
    return session.call(
        Command(
            Arg("limit"),
            Arg(cluster, "--cluster={}"),
            Arg(cluster_user, "--cluster-user={}"),
            Arg(cluster_pwd, "--cluster-pwd={}"),
            Arg("remove"),
            Arg(name, "--name={}"),
        )
    )