Что было бы лучшим способом для сбора показателей по всем HTTP-запросам, сделанным в фляжном приложении.Как собрать показатели производительности в приложении для фляшек?
Вещи, которые я хотел бы измерить являются:
- Задержка - время для каждого запроса.
- Rate - Количество запросов в минуту и т.д.
- Нет неудачи - Если произошел сбой, сколько и т.д.
Также я хочу запросы группы к переменному пути, как один. Например, все запросы к маршруту '/ resource /' должны измеряться для метрики с именем RESOURCE, а не по отдельности для каждого ресурса.
Я планирую сделать это в настоящее время, написав декоратор. Недостатком является то, что мне нужно добавить декоратор для каждого метода. Существуют ли способы, с помощью которых Flask может предоставить мне крючки для их автоматического измерения.
Это не то, что вы должны делать на уровне приложения, но на уровне веб-сервера. И нет, встроенный веб-сервер не то, что вы должны использовать в производстве. – ThiefMaster
Я хочу сделать это на уровне рамки (колба/wsgi). Я не использую встроенный веб-сервер. – sheki
@ThiefMaster собирает метрики в приложении и экспортирует их в Prometheus - это допустимое решение. WSGI-сервер или прокси не имеют всей информации, которая имеет значение, вы не можете сегментировать пользователей, собирать бизнес-показатели, разделить скорость по представлениям (только по разбору URL-адресов) и т. д. Существует много преимуществ для этого подхода. – analytik