Cluster · разработчикам

Timer

Измерение длительности блока и запись в журнал. elapsed доступен после выхода.

Все методы SDK · Типы и ошибки

Получение объекта

timer = app.logs.timer("Refresh")

__init__

Создаёт Timer. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.

def __init__(logs: LogWriter, message: str) -> None: ...

Аргументы

Результат

None. Создаёт Timer. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.

Права

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

Ошибки

Пример

# Обычный способ получения объекта:
timer = app.logs.timer("Refresh")

__aenter__

Вход в async with. Запоминает монотонное время начала.

async def __aenter__() -> Self: ...

Аргументы

Нет.

Результат

Self. Тот же объект после успешной операции. Вход в async with. Запоминает монотонное время начала.

Права

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

Ошибки

Пример

async with timer as active:
    pass

__aexit__

Выход из async with. Вычисляет elapsed и записывает seconds в журнал; при исключении использует уровень error и error_type. Исключения блока не подавляются.

async def __aexit__(kind: type[BaseException] | None, error: BaseException | None, traceback: TracebackType | None) -> None: ...

Аргументы

Результат

None. Выход из async with. Вычисляет elapsed и записывает seconds в журнал; при исключении использует уровень error и error_type. Исключения блока не подавляются.

Права

Нужны logs.write.

Ошибки

Пример

async with timer as active:
    pass