Ответ
Метрики — это количественные данные о работе приложения, необходимые для объективной оценки его состояния, производительности и пользовательского опыта (UX). Они переводят субъективные ощущения («приложение тормозит») в объективные цифры.
Ключевые цели сбора метрик:
- Мониторинг производительности: Выявление узких мест (bottlenecks).
- Пример: Время ответа API (latency), потребление CPU/памяти.
- Обеспечение надежности: Контроль доступности и ошибок.
- Пример: Rate ошибок (error rate), время наработки на отказ.
- Анализ бизнес-логики: Понимание поведения пользователей.
- Пример: Конверсия, активность пользователей (DAU/MAU).
- Планирование ресурсов: Прогнозирование нагрузки на инфраструктуру.
- Пример: Количество запросов в секунду (RPS), трафик.
Пример кода для сбора метрики времени загрузки страницы:
import time
def measure_page_load():
start_time = time.perf_counter()
# ... код загрузки страницы ...
end_time = time.perf_counter()
load_time = end_time - start_time
# Отправка метрики в систему мониторинга (например, Prometheus)
# metrics.gauge('page_load_seconds', load_time)
print(f"Метрика: page_load_seconds = {load_time:.3f}s")
return load_time
Без метрик работа над приложением ведется «вслепую», что приводит к незамеченным деградациям производительности и неудовлетворенности пользователей.