====== Объект ======
Цель объекта - грубый замер времени выполнения операции.
Самый простой способ получения таймера: использовать соответствующий вызов метода [[.:api|API объекта журналирования]]. Ещё один способ: Создать объект класса ''Timing'', импортировав класс из модуля ''aw_log''.
Во всех случаях параметры передаваемые процедуре одни:
^ Параметр ^ Тип ^ Описание ^
| ''name'' | ''str'' | Не обязательный параметр, позволяющий добавить префикс к значению таймера, для идентификации таймера, если это требует логика приложения |
====== Методы ======
Для использования основного функционала, необходимо вызвать объект таймера (как функцию) передав ей строку. Строка будет дополнена временем префиксом:
${Общее время}(${Время с последнего запроса объекта})
либо
${name} :: ${Общее время}(${Время с последнего запроса объекта})
если задан параметр ''name'' при создании объекта таймера.
Где:
* ''${Общее время}'' - время с создания объекта таймера или последнего вызова метода [[#reset]]. Даётся в формате ''timedelta''
* ''${Время с последнего запроса объекта}'' - время прошедшее с предыдущего использования данного метода. Даётся в секундах до 4-го знака после запятой.
Пример использования:
log = StderrLog()
timer = log.get_timing()
log(timer('Сообщение 1'))
log(timer('Сообщение 2'))
выдаст:
Mon Jan 01 00:00:00 1970 | . main | 0:00:00.000003(0.0000) | Сообщение 1
Mon Jan 01 00:00:00 1970 | . main | 0:00:00.000065(0.0000) | Сообщение 2
Отдельно префикс можно получить преобразовав объект таймера к строке. В предыдущем примере, в момент вывода ''Сообщение 1'', если использовать вызов ''str(timer)'', мы получим ''0:00:00.000003(0.0000)''.
===== get_time =====
Получить время с предыдущего вызова объекта в секундах не сбрасывая сам таймер.
obj.get_time()
**Возвращает:** количество секунд в формате числа с плавающей точкой.
===== reset =====
Сброс таймера и начало всех отсчётов заново.
obj.reset()